@intlayer/docs 8.4.4 → 8.4.6

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 (107) hide show
  1. package/dist/cjs/_virtual/_rolldown/runtime.cjs +29 -0
  2. package/dist/cjs/blog.cjs +21 -1
  3. package/dist/cjs/blog.cjs.map +1 -1
  4. package/dist/cjs/common.cjs +81 -1
  5. package/dist/cjs/common.cjs.map +1 -0
  6. package/dist/cjs/doc.cjs +21 -1
  7. package/dist/cjs/doc.cjs.map +1 -1
  8. package/dist/cjs/frequentQuestions.cjs +21 -1
  9. package/dist/cjs/frequentQuestions.cjs.map +1 -1
  10. package/dist/cjs/generated/blog.entry.cjs +572 -1
  11. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  12. package/dist/cjs/generated/docs.entry.cjs +3032 -1
  13. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  14. package/dist/cjs/generated/frequentQuestions.entry.cjs +352 -1
  15. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  16. package/dist/cjs/generated/legal.entry.cjs +72 -1
  17. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  18. package/dist/cjs/index.cjs +34 -1
  19. package/dist/cjs/legal.cjs +21 -1
  20. package/dist/cjs/legal.cjs.map +1 -1
  21. package/dist/esm/blog.mjs +14 -1
  22. package/dist/esm/blog.mjs.map +1 -1
  23. package/dist/esm/common.mjs +67 -1
  24. package/dist/esm/common.mjs.map +1 -1
  25. package/dist/esm/doc.mjs +14 -1
  26. package/dist/esm/doc.mjs.map +1 -1
  27. package/dist/esm/frequentQuestions.mjs +14 -1
  28. package/dist/esm/frequentQuestions.mjs.map +1 -1
  29. package/dist/esm/generated/blog.entry.mjs +570 -1
  30. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  31. package/dist/esm/generated/docs.entry.mjs +3030 -1
  32. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  33. package/dist/esm/generated/frequentQuestions.entry.mjs +350 -1
  34. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  35. package/dist/esm/generated/legal.entry.mjs +70 -1
  36. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  37. package/dist/esm/index.mjs +6 -1
  38. package/dist/esm/legal.mjs +14 -1
  39. package/dist/esm/legal.mjs.map +1 -1
  40. package/dist/types/blog.d.ts +2 -2
  41. package/dist/types/common.d.ts +37 -2
  42. package/dist/types/common.d.ts.map +1 -0
  43. package/dist/types/doc.d.ts +2 -2
  44. package/dist/types/frequentQuestions.d.ts +2 -2
  45. package/dist/types/generated/blog.entry.d.ts +35 -2
  46. package/dist/types/generated/blog.entry.d.ts.map +1 -0
  47. package/dist/types/generated/docs.entry.d.ts +158 -2
  48. package/dist/types/generated/docs.entry.d.ts.map +1 -0
  49. package/dist/types/generated/frequentQuestions.entry.d.ts +24 -2
  50. package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -0
  51. package/dist/types/generated/legal.entry.d.ts +10 -2
  52. package/dist/types/generated/legal.entry.d.ts.map +1 -0
  53. package/dist/types/legal.d.ts +2 -2
  54. package/docs/ar/configuration.md +520 -722
  55. package/docs/ar/intlayer_with_storybook.md +521 -0
  56. package/docs/bn/configuration.md +922 -0
  57. package/docs/bn/intlayer_with_hono.md +428 -0
  58. package/docs/de/configuration.md +369 -743
  59. package/docs/de/intlayer_with_storybook.md +521 -0
  60. package/docs/en/configuration.md +181 -507
  61. package/docs/en/intlayer_with_storybook.md +521 -0
  62. package/docs/en-GB/configuration.md +456 -657
  63. package/docs/en-GB/intlayer_with_storybook.md +521 -0
  64. package/docs/es/configuration.md +379 -754
  65. package/docs/es/intlayer_with_storybook.md +521 -0
  66. package/docs/fr/configuration.md +376 -757
  67. package/docs/fr/intlayer_with_storybook.md +521 -0
  68. package/docs/hi/configuration.md +532 -728
  69. package/docs/hi/intlayer_with_storybook.md +521 -0
  70. package/docs/id/configuration.md +371 -684
  71. package/docs/id/intlayer_with_storybook.md +521 -0
  72. package/docs/it/configuration.md +397 -775
  73. package/docs/it/intlayer_with_storybook.md +521 -0
  74. package/docs/ja/configuration.md +525 -724
  75. package/docs/ja/intlayer_with_storybook.md +521 -0
  76. package/docs/ko/configuration.md +525 -724
  77. package/docs/ko/intlayer_with_storybook.md +521 -0
  78. package/docs/pl/configuration.md +430 -734
  79. package/docs/pl/intlayer_with_storybook.md +521 -0
  80. package/docs/pt/configuration.md +375 -746
  81. package/docs/pt/intlayer_with_storybook.md +521 -0
  82. package/docs/ru/configuration.md +532 -701
  83. package/docs/ru/intlayer_with_storybook.md +521 -0
  84. package/docs/tr/configuration.md +527 -719
  85. package/docs/tr/intlayer_with_storybook.md +521 -0
  86. package/docs/uk/configuration.md +425 -744
  87. package/docs/uk/intlayer_with_storybook.md +521 -0
  88. package/docs/ur/configuration.md +922 -0
  89. package/docs/ur/intlayer_with_hono.md +428 -0
  90. package/docs/vi/configuration.md +412 -753
  91. package/docs/vi/intlayer_with_storybook.md +521 -0
  92. package/docs/zh/configuration.md +521 -714
  93. package/docs/zh/intlayer_with_storybook.md +521 -0
  94. package/package.json +6 -6
  95. package/src/generated/docs.entry.ts +20 -0
  96. package/dist/cjs/common-a-l0ULP6.cjs +0 -2
  97. package/dist/cjs/common-a-l0ULP6.cjs.map +0 -1
  98. package/dist/types/blog.entry-D5IgxPXY.d.ts +0 -35
  99. package/dist/types/blog.entry-D5IgxPXY.d.ts.map +0 -1
  100. package/dist/types/common-B45TZvLQ.d.ts +0 -37
  101. package/dist/types/common-B45TZvLQ.d.ts.map +0 -1
  102. package/dist/types/docs.entry-CergjAYt.d.ts +0 -157
  103. package/dist/types/docs.entry-CergjAYt.d.ts.map +0 -1
  104. package/dist/types/frequentQuestions.entry-BHglVS-U.d.ts +0 -24
  105. package/dist/types/frequentQuestions.entry-BHglVS-U.d.ts.map +0 -1
  106. package/dist/types/legal.entry-B5Lg5eeH.d.ts +0 -10
  107. package/dist/types/legal.entry-B5Lg5eeH.d.ts.map +0 -1
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  createdAt: 2024-08-13
3
- updatedAt: 2026-03-12
4
- title: Yapılandırma
3
+ updatedAt: 2026-03-20
4
+ title: Yapılandırma (Configuration)
5
5
  description: Uygulamanız için Intlayer'ı nasıl yapılandıracağınızı öğrenin. Intlayer'ı ihtiyaçlarınıza göre özelleştirmek için mevcut çeşitli ayarları ve seçenekleri anlayın.
6
6
  keywords:
7
7
  - Yapılandırma
@@ -14,27 +14,39 @@ slugs:
14
14
  - concept
15
15
  - configuration
16
16
  history:
17
+ - version: 8.4.0
18
+ date: 2026-03-20
19
+ changes: 'compiler.output' ve 'dictionary.fill' için her dil için nesne notasyonu eklendi
17
20
  - version: 8.3.0
18
21
  date: 2026-03-11
19
- changes: 'baseDir''i ''content'' yapılandırmasından ''system'' yapılandırmasına taşıyın
22
+ changes: 'baseDir', 'content' yapılandırmasından 'system' yapılandırmasına taşındı
20
23
  - version: 8.2.0
21
24
  date: 2026-03-09
22
- changes: Derleyici seçeneklerini güncelle, 'output' ve 'noMetadata' desteği ekle
25
+ changes: Derleyici (compiler) seçenekleri güncellendi, 'output' ve 'noMetadata' desteği eklendi
23
26
  - version: 8.1.7
24
27
  date: 2026-02-25
25
- changes: Derleyici seçeneklerini güncelle
28
+ changes: Derleyici seçenekleri güncellendi
29
+ - version: 8.1.5
30
+ date: 2026-02-23
31
+ changes: Derleyici seçeneği 'build-only' ve sözlük öneki eklendi
26
32
  - version: 8.0.6
27
33
  date: 2026-02-12
28
- changes: Open Router, Alibaba, Amazon, Google Vertex Bedrock, Fireworks, Groq, Hugging Face ve Together.ai sağlayıcıları için destek ekle
34
+ changes: Open Router, Alibaba, Amazon, Google Vertex Bedrock, Fireworks, Groq, Hugging Face ve Together.ai sağlayıcıları için destek eklendi
29
35
  - version: 8.0.5
30
36
  date: 2026-02-06
31
- changes: AI yapılandırmasına `dataSerialization` eklendi
37
+ changes: Yapay zeka yapılandırmasına `dataSerialization` eklendi
38
+ - version: 8.0.0
39
+ date: 2026-01-24
40
+ changes: Temel mekanizmayı daha iyi tanımlamak için `live` içe aktarma modu `fetch` olarak yeniden adlandırıldı.
41
+ - version: 8.0.0
42
+ date: 2026-01-22
43
+ changes: Derleme yapılandırması `importMode`, `dictionary` yapılandırmasına taşındı.
32
44
  - version: 8.0.0
33
45
  date: 2026-01-22
34
- changes: importMode derleme yapılandırmasını sözlük yapılandırmasına taşıyın.
46
+ changes: Yönlendirme yapılandırmasına `rewrite` seçeneği eklendi
35
47
  - version: 8.0.0
36
48
  date: 2026-01-18
37
- changes: Sistem yapılandırmasını içerik yapılandırmasından ayırın. İç yolları `system` özelliğine taşıyın. İçerik dosyalarını kod dönüşümünden ayırmak için `codeDir` ekleyin.
49
+ changes: Sistem yapılandırması içerik yapılandırmasından ayrıldı. Dahili yollar `system` özelliğine taşındı. İçerik dosyalarını ve kod dönüşümünü ayırmak için `codeDir` eklendi.
38
50
  - version: 8.0.0
39
51
  date: 2026-01-18
40
52
  changes: Sözlük seçenekleri `location` ve `schema` eklendi
@@ -44,31 +56,46 @@ history:
44
56
  - version: 7.5.0
45
57
  date: 2025-12-17
46
58
  changes: `buildMode` seçeneği eklendi
59
+ - version: 7.0.0
60
+ date: 2025-10-25
61
+ changes: `dictionary` yapılandırması eklendi
62
+ - version: 7.0.0
63
+ date: 2025-10-21
64
+ changes: `middleware`, yönlendirme yapılandırması `routing` ile değiştirildi
65
+ - version: 7.0.0
66
+ date: 2025-10-12
67
+ changes: `formatCommand` seçeneği eklendi
68
+ - version: 6.2.0
69
+ date: 2025-10-12
70
+ changes: `excludedPath` seçeneği güncellendi
71
+ - version: 6.0.2
72
+ date: 2025-09-23
73
+ changes: `outputFormat` seçeneği eklendi
47
74
  - version: 6.0.0
48
- date: 2025-09-16
49
- changes: `live` import modu eklendi
75
+ date: 2025-09-21
76
+ changes: `dictionaryOutput` alanı ve `i18nextResourcesDir` alanı kaldırıldı
50
77
  - version: 6.0.0
51
78
  date: 2025-09-16
52
- changes: `live` import modu eklendi
79
+ changes: `live` içe aktarma modu eklendi
53
80
  - version: 6.0.0
54
81
  date: 2025-09-04
55
- changes: `hotReload` alanı `liveSync` ile değiştirildi ve `liveSyncPort` ile `liveSyncURL` alanları eklendi
82
+ changes: `hotReload` alanı `liveSync` ile değiştirildi ve `liveSyncPort` ve `liveSyncURL` alanları eklendi
56
83
  - version: 5.6.1
57
84
  date: 2025-07-25
58
- changes: `activateDynamicImport` seçeneği `importMode` ile değiştirildi
85
+ changes: `activateDynamicImport`, `importMode` seçeneği ile değiştirildi
59
86
  - version: 5.6.0
60
87
  date: 2025-07-13
61
- changes: Varsayılan contentDir `['src']`'den `['.']` olarak değiştirildi
88
+ changes: Varsayılan contentDir `['src']` yerine `['.']` olarak değiştirildi
62
89
  - version: 5.5.11
63
90
  date: 2025-06-29
64
91
  changes: `docs` komutları eklendi
65
92
  ---
66
93
 
67
- # Intlayer Yapılandırma Dokümantasyonu
94
+ # Intlayer Yapılandırma Belgeleri
68
95
 
69
96
  ## Genel Bakış
70
97
 
71
- Intlayer yapılandırma dosyaları, uluslararasılaştırma, ara katman (middleware) ve içerik işleme gibi eklentinin çeşitli yönlerinin özelleştirilmesine olanak tanır. Bu belge, yapılandırmadaki her bir özelliğin ayrıntılı açıklamasını sağlar.
98
+ Intlayer yapılandırma dosyaları, eklentinin uluslararasılaştırma (internationalization), ara yazılım (middleware) ve içerik işleme gibi çeşitli yönlerini özelleştirmenize olanak tanır. Bu belge, yapılandırmadaki her bir özelliğin derinlemesine açıklamasını sağlar.
72
99
 
73
100
  ---
74
101
 
@@ -78,9 +105,9 @@ Intlayer yapılandırma dosyaları, uluslararasılaştırma, ara katman (middlew
78
105
 
79
106
  ---
80
107
 
81
- ## Yapılandırma Dosyası Desteği
108
+ ## Desteklenen Yapılandırma Dosyası Formatları
82
109
 
83
- Intlayer, JSON, JS, MJS ve TS yapılandırma dosyası formatlarını kabul eder:
110
+ Intlayer JSON, JS, MJS ve TS yapılandırma dosyası formatlarını kabul eder:
84
111
 
85
112
  - `intlayer.config.ts`
86
113
  - `intlayer.config.js`
@@ -93,7 +120,7 @@ Intlayer, JSON, JS, MJS ve TS yapılandırma dosyası formatlarını kabul eder:
93
120
 
94
121
  ---
95
122
 
96
- ## Örnek yapılandırma dosyası
123
+ ## Yapılandırma Dosyası Örneği
97
124
 
98
125
  ````typescript fileName="intlayer.config.ts" codeFormat="typescript"
99
126
  import { Locales, type IntlayerConfig } from "intlayer";
@@ -101,108 +128,108 @@ import { nextjsRewrite } from "intlayer/routing";
101
128
  import { z } from "zod";
102
129
 
103
130
  /**
104
- * Example Intlayer configuration file showing all available options.
131
+ * Mevcut tüm seçenekleri gösteren Intlayer yapılandırma dosyası örneği.
105
132
  */
106
133
  const config: IntlayerConfig = {
107
134
  /**
108
- * Configuration for internationalization settings.
135
+ * Uluslararasılaştırma ayarları yapılandırması.
109
136
  */
110
137
  internationalization: {
111
138
  /**
112
- * List of supported locales in the application.
113
- * Default: [Locales.ENGLISH]
139
+ * Uygulamada desteklenen dillerin (locales) listesi.
140
+ * Varsayılan: [Locales.ENGLISH]
114
141
  */
115
142
  locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
116
143
 
117
144
  /**
118
- * List of required locales that must be defined in every dictionary.
119
- * If empty, all locales are required in `strict` mode.
120
- * Default: []
145
+ * Her sözlükte tanımlanması gereken zorunlu dillerin listesi.
146
+ * Boşsa, `strict` modunda tüm diller zorunludur.
147
+ * Varsayılan: []
121
148
  */
122
149
  requiredLocales: [Locales.ENGLISH],
123
150
 
124
151
  /**
125
- * Strictness level for internationalized content.
126
- * - "strict": Errors if any declared locale is missing or undeclared.
127
- * - "inclusive": Warnings if a declared locale is missing.
128
- * - "loose": Accepts any existing locale.
129
- * Default: "inclusive"
152
+ * Uluslararasılaştırılmış içerik için katılik düzeyi.
153
+ * - "strict": Bildirilen herhangi bir dil eksikse veya bildirilmemişse hata verir.
154
+ * - "inclusive": Bildirilen bir dil eksikse uyarı verir.
155
+ * - "loose": Mevcut olan her dili kabul eder.
156
+ * Varsayılan: "inclusive"
130
157
  */
131
158
  strictMode: "inclusive",
132
159
 
133
160
  /**
134
- * Default locale used as a fallback if the requested locale is not found.
135
- * Default: Locales.ENGLISH
161
+ * İstenen dil bulunamadığında geri dönüş (fallback) olarak kullanılan varsayılan dil.
162
+ * Varsayılan: Locales.ENGLISH
136
163
  */
137
164
  defaultLocale: Locales.ENGLISH,
138
165
  },
139
166
 
140
167
  /**
141
- * Settings that control dictionary operations and fallback behavior.
168
+ * Sözlük işlemlerini ve geri dönüş davranışını kontrol eden ayarlar.
142
169
  */
143
170
  dictionary: {
144
171
  /**
145
- * Controls how dictionaries are imported.
146
- * - "static": Statically imported at build time.
147
- * - "dynamic": Dynamically imported using Suspense.
148
- * - "fetch": Fetched dynamically via the live sync API.
149
- * Default: "static"
172
+ * Sözlüklerin nasıl içe aktarılacağını kontrol eder.
173
+ * - "static": Derleme zamanında statik olarak içe aktarılır.
174
+ * - "dynamic": Suspense kullanılarak dinamik olarak içe aktarılır.
175
+ * - "fetch": Live Sync API aracılığıyla dinamik olarak çekilir.
176
+ * Varsayılan: "static"
150
177
  */
151
178
  importMode: "static",
152
179
 
153
180
  /**
154
- * Strategy for auto-filling missing translations using AI.
155
- * Can be a boolean or a path pattern to store filled content.
156
- * Default: true
181
+ * Yapay zeka kullanarak eksik çevirileri otomatik olarak doldurma stratejisi.
182
+ * Mantıksal bir değer veya doldurulan içeriği kaydetmek için bir yol deseni olabilir.
183
+ * Varsayılan: true
157
184
  */
158
185
  fill: true,
159
186
 
160
187
  /**
161
- * Physical location of the dictionary files.
162
- * - "local": Stored in the local filesystem.
163
- * - "remote": Stored in the Intlayer CMS.
164
- * - "hybrid": Stored in the local filesystem and the Intlayer CMS.
165
- * - "plugin" (or any custom string): Provided by a plugin or a custom source.
166
- * Default: "local"
188
+ * Sözlük dosyalarının fiziksel konumu.
189
+ * - "local": Yerel dosya sisteminde saklanır.
190
+ * - "remote": Intlayer CMS'te saklanır.
191
+ * - "hybrid": Hem yerel hem de Intlayer CMS'te saklanır.
192
+ * - "plugin" (veya herhangi bir özel dize): Bir eklenti veya özel kaynak tarafından sağlanır.
193
+ * Varsayılan: "local"
167
194
  */
168
195
  location: "local",
169
196
 
170
197
  /**
171
- * Whether to automatically transform content (e.g., Markdown to HTML).
172
- * Default: false
198
+ * İçeriğin otomatik olarak dönüştürülüp dönüştürülmeyeceği (ör. Markdown'dan HTML'e).
199
+ * Varsayılan: false
173
200
  */
174
201
  contentAutoTransformation: false,
175
202
  },
176
203
 
177
204
  /**
178
- * Routing and middleware configuration.
205
+ * Yönlendirme ve ara yazılım yapılandırması.
179
206
  */
180
207
  routing: {
181
208
  /**
182
- * Locale routing strategy.
183
- * - "prefix-no-default": Prefix all except the default locale (e.g., /dashboard, /fr/dashboard).
184
- * - "prefix-all": Prefix all locales (e.g., /en/dashboard, /fr/dashboard).
185
- * - "no-prefix": No locale in the URL.
186
- * - "search-params": Use ?locale=...
187
- * Default: "prefix-no-default"
209
+ * Dil yönlendirme stratejisi.
210
+ * - "prefix-no-default": Varsayılan dışındaki herkese ön ek ekler (ör. /dashboard, /fr/dashboard).
211
+ * - "prefix-all": Tüm dillere ön ek ekler (ör. /en/dashboard, /fr/dashboard).
212
+ * - "no-prefix": URL'de dil yok.
213
+ * - "search-params": ?locale=... kullanır
214
+ * Varsayılan: "prefix-no-default"
188
215
  */
189
216
  mode: "prefix-no-default",
190
217
 
191
218
  /**
192
- * Where to store the user's selected locale.
193
- * Options: 'cookie', 'localStorage', 'sessionStorage', 'header', or an array of these.
194
- * Default: ['cookie', 'header']
219
+ * Kullanıcı tarafından seçilen dilin nerede saklanacağı.
220
+ * Seçenekler: 'cookie', 'localStorage', 'sessionStorage', 'header' veya bunların bir dizisi.
221
+ * Varsayılan: ['cookie', 'header']
195
222
  */
196
223
  storage: ["cookie", "header"],
197
224
 
198
225
  /**
199
- * Base path for the application URLs.
200
- * Default: ""
226
+ * Uygulama URL'leri için temel yol.
227
+ * Varsayılan: ""
201
228
  */
202
229
  basePath: "",
203
230
 
204
231
  /**
205
- * Custom URL rewriting rules for locale-specific paths.
232
+ * Dil bazlı belirli yollar için özel URL yeniden yazma (rewrite) kuralları.
206
233
  */
207
234
  rewrite: nextjsRewrite({
208
235
  "/[locale]/about": {
@@ -213,130 +240,130 @@ const config: IntlayerConfig = {
213
240
  },
214
241
 
215
242
  /**
216
- * Settings for finding and processing content files.
243
+ * İçerik dosyası bulma ve işleme ile ilgili ayarlar.
217
244
  */
218
245
  content: {
219
246
  /**
220
- * File extensions to scan for dictionaries.
221
- * Default: ['.content.ts', '.content.js', '.content.json', etc.]
247
+ * Sözlükleri taramak için dosya uzantıları.
248
+ * Varsayılan: ['.content.ts', '.content.js', '.content.json', vb.]
222
249
  */
223
250
  fileExtensions: [".content.ts", ".content.js", ".content.json"],
224
251
 
225
252
  /**
226
- * Directories where .content files are located.
227
- * Default: ["."]
253
+ * .content dosyalarının bulunduğu dizinler.
254
+ * Varsayılan: ["."]
228
255
  */
229
256
  contentDir: ["src"],
230
257
 
231
258
  /**
232
- * Directories where source code is located.
233
- * Used for build optimization and code transformation.
234
- * Default: ["."]
259
+ * Kaynak kodun bulunduğu yer.
260
+ * Derleme optimizasyonu ve kod dönüşümü için kullanılır.
261
+ * Varsayılan: ["."]
235
262
  */
236
263
  codeDir: ["src"],
237
264
 
238
265
  /**
239
- * Patterns to exclude from scanning.
240
- * Default: ['node_modules', '.intlayer', etc.]
266
+ * Taramadan hariç tutulan desenler.
267
+ * Varsayılan: ['node_modules', '.intlayer', vb.]
241
268
  */
242
269
  excludedPath: ["node_modules"],
243
270
 
244
271
  /**
245
- * Whether to watch for changes and rebuild dictionaries in development.
246
- * Default: true in development
272
+ * Geliştirme sırasında değişikliklerin izlenip izlenmeyeceği ve sözlüklerin yeniden oluşturulup oluşturulmayacağı.
273
+ * Varsayılan: Geliştirme ortamında true
247
274
  */
248
275
  watch: true,
249
276
 
250
277
  /**
251
- * Command to format newly created / updated .content files.
278
+ * Yeni oluşturulan / güncellenen .content dosyalarını biçimlendirmek için kullanılan komut.
252
279
  */
253
280
  formatCommand: 'npx prettier --write "{{file}}"',
254
281
  },
255
282
 
256
283
  /**
257
- * Visual Editor configuration.
284
+ * Görsel Düzenleyici (Visual Editor) yapılandırması.
258
285
  */
259
286
  editor: {
260
287
  /**
261
- * Whether the visual editor is enabled.
262
- * Default: false
288
+ * Görsel düzenleyicinin etkin olup olmadığı.
289
+ * Varsayılan: false
263
290
  */
264
291
  enabled: true,
265
292
 
266
293
  /**
267
- * URL of your application for origin validation.
268
- * Default: ""
294
+ * Kaynak doğrulama (origin validation) için uygulamanızın URL'si.
295
+ * Varsayılan: ""
269
296
  */
270
297
  applicationURL: "http://localhost:3000",
271
298
 
272
299
  /**
273
- * Port for the local editor server.
274
- * Default: 8000
300
+ * Yerel düzenleyici sunucusu için bağlantı noktası.
301
+ * Varsayılan: 8000
275
302
  */
276
303
  port: 8000,
277
304
 
278
305
  /**
279
- * Public URL for the editor.
280
- * Default: "http://localhost:8000"
306
+ * Düzenleyici için genel URL.
307
+ * Varsayılan: "http://localhost:8000"
281
308
  */
282
309
  editorURL: "http://localhost:8000",
283
310
 
284
311
  /**
285
- * Intlayer CMS URL.
286
- * Default: "https://app.intlayer.org"
312
+ * Intlayer CMS URL'si.
313
+ * Varsayılan: "https://app.intlayer.org"
287
314
  */
288
315
  cmsURL: "https://app.intlayer.org",
289
316
 
290
317
  /**
291
- * Backend API URL.
292
- * Default: "https://back.intlayer.org"
318
+ * Arka API URL'si.
319
+ * Varsayılan: "https://back.intlayer.org"
293
320
  */
294
321
  backendURL: "https://back.intlayer.org",
295
322
 
296
323
  /**
297
- * Whether to enable real-time content synchronization.
298
- * Default: false
324
+ * Gerçek zamanlı içerik senkronizasyonunun etkinleştirilip etkinleştirilmeyeceği.
325
+ * Varsayılan: false
299
326
  */
300
327
  liveSync: true,
301
328
  },
302
329
 
303
330
  /**
304
- * AI-powered translation and generation settings.
331
+ * Yapay zeka tabanlı çeviri ve oluşturma ayarları.
305
332
  */
306
333
  ai: {
307
334
  /**
308
- * AI provider to use.
309
- * Options: 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama', 'openrouter', 'alibaba', 'fireworks', 'groq', 'huggingface', 'bedrock', 'googlevertex', 'togetherai'
310
- * Default: 'openai'
335
+ * Kullanılacak yapay zeka sağlayıcısı.
336
+ * Seçenekler: 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama', 'openrouter', 'alibaba', 'fireworks', 'groq', 'huggingface', 'bedrock', 'googlevertex', 'togetherai'
337
+ * Varsayılan: 'openai'
311
338
  */
312
339
  provider: "openai",
313
340
 
314
341
  /**
315
- * Model to use from the selected provider.
342
+ * Kullanılacak seçili sağlayıcının modeli.
316
343
  */
317
344
  model: "gpt-4o",
318
345
 
319
346
  /**
320
- * Provider API key.
347
+ * Sağlayıcı API anahtarı.
321
348
  */
322
349
  apiKey: process.env.OPENAI_API_KEY,
323
350
 
324
351
  /**
325
- * Global context to guide the AI in generating translations.
352
+ * Çeviriler oluşturulurken yapay zekayı yönlendirmek için genel bağlam.
326
353
  */
327
- applicationContext: "This is a travel booking application.",
354
+ applicationContext: "Bu bir gezi rezervasyon uygulamasıdır.",
328
355
 
329
356
  /**
330
- * Base URL for the AI API.
357
+ * Yapay zeka API'si için temel yol URL'si.
331
358
  */
332
359
  baseURL: "http://localhost:3000",
333
360
 
334
361
  /**
335
- * Veri Serileştirme
362
+ * Veri Serileştirme (Data Serialization)
336
363
  *
337
364
  * Seçenekler:
338
- * - "json": Standart, güvenilir; daha fazla token kullanır.
339
- * - "toon": Daha az token, JSON'dan daha az tutarlı.
365
+ * - "json": Varsayılan, sağlam; daha fazla belirteç tüketir.
366
+ * - "toon": Daha az belirteç tüketir, JSON kadar tutarlı olmayabilir.
340
367
  *
341
368
  * Varsayılan: "json"
342
369
  */
@@ -344,123 +371,123 @@ const config: IntlayerConfig = {
344
371
  },
345
372
 
346
373
  /**
347
- * Build and optimization settings.
374
+ * Derleme ve optimizasyon ayarları.
348
375
  */
349
376
  build: {
350
377
  /**
351
- * Build execution mode.
352
- * - "auto": Automatic build during app build.
353
- * - "manual": Requires explicit build command.
354
- * Default: "auto"
378
+ * Derleme yürütme modu.
379
+ * - "auto": Uygulama derlemesi sırasında otomatik olarak derlenir.
380
+ * - "manual": Açık bir derleme komutu gerektirir.
381
+ * Varsayılan: "auto"
355
382
  */
356
383
  mode: "auto",
357
384
 
358
385
  /**
359
- * Whether to optimize the final bundle by pruning unused dictionaries.
360
- * Default: true in production
386
+ * Kullanılmayan sözlükleri kaldırarak nihai paketi optimize edip etmeyeceği.
387
+ * Varsayılan: Üretim ortamında true
361
388
  */
362
389
  optimize: true,
363
390
 
364
391
  /**
365
- * Output format for generated dictionary files.
366
- * Default: ['esm', 'cjs']
392
+ * Oluşturulan sözlük dosyaları için çıktı formatı.
393
+ * Varsayılan: ['cjs', 'esm']
367
394
  */
368
- outputFormat: ["esm"],
395
+ outputFormat: ["cjs", "esm"],
369
396
 
370
397
  /**
371
- * Indicates if the build should check TypeScript types.
372
- * Default: false
398
+ * Derlemenin TypeScript türlerini (types) kontrol edip etmeyeceğini belirtir.
399
+ * Varsayılan: false
373
400
  */
374
401
  checkTypes: false,
375
402
  },
376
403
 
377
404
  /**
378
- * Logger configuration.
405
+ * Günlükçü (Logger) yapılandırması.
379
406
  */
380
407
  log: {
381
408
  /**
382
- * Logging level.
383
- * - "default": Standard logging.
384
- * - "verbose": Detailed debug logging.
385
- * - "disabled": No logging.
386
- * Default: "default"
409
+ * Günlükleme düzeyi.
410
+ * - "default": Standart günlükleme.
411
+ * - "verbose": Derinlemesine hata ayıklama günlüğü.
412
+ * - "disabled": Günlüklemeyi devre dışı bırakır.
413
+ * Varsayılan: "default"
387
414
  */
388
415
  mode: "default",
389
416
 
390
417
  /**
391
- * Prefix for all log messages.
392
- * Default: "[intlayer]"
418
+ * Tüm günlük mesajları için ön ek.
419
+ * Varsayılan: "[intlayer]"
393
420
  */
394
421
  prefix: "[intlayer]",
395
422
  },
396
423
 
397
424
  /**
398
- * System configuration (Advanced use cases)
425
+ * Sistem yapılandırması (Gelişmiş kullanım için)
399
426
  */
400
427
  system: {
401
428
  /**
402
- * Directory for storing localization dictionaries.
429
+ * Yerelleştirilmiş sözlükleri saklamak için dizin.
403
430
  */
404
431
  dictionariesDir: ".intlayer/dictionary",
405
432
 
406
433
  /**
407
- * Directory for module augmentation.
434
+ * TypeScript modül genişletme (module augmentation) için dizin.
408
435
  */
409
436
  moduleAugmentationDir: ".intlayer/types",
410
437
 
411
438
  /**
412
- * Directory for storing unmerged dictionaries.
439
+ * Birleştirilmemiş sözlükleri saklamak için dizin.
413
440
  */
414
441
  unmergedDictionariesDir: ".intlayer/unmerged_dictionary",
415
442
 
416
443
  /**
417
- * Directory for storing dictionary types.
444
+ * Sözlük türlerini saklamak için dizin.
418
445
  */
419
446
  typesDir: ".intlayer/types",
420
447
 
421
448
  /**
422
- * Directory where main application files are stored.
449
+ * Ana uygulama dosyalarının saklandığı dizin.
423
450
  */
424
451
  mainDir: ".intlayer/main",
425
452
 
426
453
  /**
427
- * Directory where the configuration files are stored.
454
+ * Yapılandırma dosyalarının saklandığı dizin.
428
455
  */
429
456
  configDir: ".intlayer/config",
430
457
 
431
458
  /**
432
- * Directory where the cache files are stored.
459
+ * Önbellek dosyalarının saklandığı dizin.
433
460
  */
434
461
  cacheDir: ".intlayer/cache",
435
462
  },
436
463
 
437
464
  /**
438
- * Compiler configuration (Advanced use cases)
465
+ * Derleyici (Compiler) yapılandırması (Gelişmiş kullanım için)
439
466
  */
440
467
  compiler: {
441
468
  /**
442
- * Derleyicinin etkinleştirilip etkinleştirilmeyeceğini belirtir.
469
+ * Derleyicinin etkin olup olmayacağını belirtir.
443
470
  *
444
- * - false : Derleyiciyi devre dışı bırakır.
445
- * - true : Derleyiciyi etkinleştirir.
446
- * - "build-only" : Başlangıç sürelerini hızlandırmak için geliştirme sırasında derleyiciyi atlar.
471
+ * - false: Derleyiciyi devre dışı bırakır.
472
+ * - true: Derleyiciyi etkinleştirir.
473
+ * - "build-only": Geliştirme sırasında derleyiciyi atlar ve başlatma süresini hızlandırır.
447
474
  *
448
- * Varsayılan değer : false
475
+ * Varsayılan: false
449
476
  */
450
477
  enabled: true,
451
478
 
452
479
  /**
453
- * Çıktı dosyalarının yolunu tanımlar. `outputDir` yerine geçer.
480
+ * Çıktı dosyaları için yolu tanımlar. `outputDir`'in yerini alır.
454
481
  *
455
482
  * - `./` ile başlayan yollar bileşen dizinine göre çözümlenir.
456
- * - `/` ile başlayan yollar projenin kök dizinine (`baseDir`) göre çözümlenir.
483
+ * - `/` ile başlayan yollar proje köküne (`baseDir`) göre çözümlenir.
457
484
  *
458
- * - Yola `{{locale}}` değişkenini dahil etmek, dile göre ayrılmış sözlüklerin oluşturulmasını etkinleştirir.
485
+ * - Yola `{{locale}}` değişkenini dahil etmek, her dil için ayrı sözlüklerin oluşturulmasını tetikleyecektir.
459
486
  *
460
487
  * Örnek:
461
488
  * ```ts
462
489
  * {
463
- * // Bileşenin yanına çok dilli .content.ts dosyaları oluşturun
490
+ * // Bileşenin yanında çok dilli .content.ts dosyaları oluşturun
464
491
  * output: ({ fileName, extension }) => `./${fileName}${extension}`,
465
492
  *
466
493
  * // output: './{{fileName}}{{extension}}', // Şablon dizesi kullanarak eşdeğer
@@ -469,7 +496,7 @@ const config: IntlayerConfig = {
469
496
  *
470
497
  * ```ts
471
498
  * {
472
- * // Proje kökünde dile göre merkezileştirilmiş JSON dosyaları oluşturun
499
+ * // Proje kökünde dil başına merkezi JSON'lar oluşturun
473
500
  * output: ({ key, locale }) => `/locales/${locale}/${key}.content.json`,
474
501
  *
475
502
  * // output: '/locales/{{locale}}/{{key}}.content.json', // Şablon dizesi kullanarak eşdeğer
@@ -478,7 +505,7 @@ const config: IntlayerConfig = {
478
505
  *
479
506
  * Değişken listesi:
480
507
  * - `fileName`: Dosya adı.
481
- * - `key`: İçerik anahtarı.
508
+ * - `key`: İçerik anahtarı (key).
482
509
  * - `locale`: İçerik dili.
483
510
  * - `extension`: Dosya uzantısı.
484
511
  * - `componentFileName`: Bileşen dosya adı.
@@ -491,23 +518,23 @@ const config: IntlayerConfig = {
491
518
 
492
519
  /**
493
520
  * Bileşenlerin dönüştürüldükten sonra kaydedilip kaydedilmeyeceğini belirtir.
494
- * Bu şekilde, derleyici uygulamayı dönüştürmek için yalnızca bir kez çalıştırılabilir ve ardından kaldırılabilir.
521
+ * Bu şekilde, derleyici uygulamanızı dönüştürmek için yalnızca bir kez çalışabilir ve ardından kaldırılabilir.
495
522
  */
496
523
  saveComponents: false,
497
524
 
498
525
  /**
499
- * Oluşturulan dosyaya yalnızca içeriği yerleştirin. Yerel ayar başına i18next veya ICU MessageFormat JSON çıktıları için yararlıdır.
526
+ * Oluşturulan dosyaya yalnızca içeriği ekler. i18next veya ICU MessageFormat formatı için dil başına JSON çıktısı için yararlıdır.
500
527
  */
501
528
  noMetadata: false,
502
529
 
503
530
  /**
504
- * Sözlük anahtar öneki
531
+ * Sözlük anahtarı ön eki
505
532
  */
506
- dictionaryKeyPrefix: "", // Ayıklanan sözlük anahtarları için isteğe bağlı önek ekleyin
533
+ dictionaryKeyPrefix: "", // Ayıklanan sözlük anahtarlarına isteğe bağlı bir ön ek ekleyin
507
534
  },
508
535
 
509
536
  /**
510
- * Custom schemas to validate the dictionaries content.
537
+ * Sözlük içeriğini doğrulamak için özel şemalar (Schemas).
511
538
  */
512
539
  schemas: {
513
540
  "my-schema": z.object({
@@ -516,7 +543,7 @@ const config: IntlayerConfig = {
516
543
  },
517
544
 
518
545
  /**
519
- * Plugins configuration.
546
+ * Eklenti yapılandırması.
520
547
  */
521
548
  plugins: [],
522
549
  };
@@ -524,591 +551,372 @@ const config: IntlayerConfig = {
524
551
  export default config;
525
552
  ````
526
553
 
527
- ## Konfigürasyon Referansı
554
+ ---
555
+
556
+ ## Yapılandırma Referansı (Configuration Reference)
557
+
558
+ Aşağıdaki bölümler, Intlayer'da mevcut olan çeşitli yapılandırma seçeneklerini açıklamaktadır.
559
+
560
+ ---
561
+
562
+ ### Uluslararasılaştırma Yapılandırması (Internationalization Configuration)
563
+
564
+ Uygulama için mevcut diller ve varsayılan dil dahil olmak üzere uluslararasılaştırma ile ilgili ayarları tanımlar.
565
+
566
+ | Alan | Tür | Açıklama | Örnek | Not |
567
+ | ----------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------ | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
568
+ | `locales` | `string[]` | Uygulamada destekleyen dillerin listesi. Varsayılan: `[Locales.ENGLISH]` | `['en', 'fr', 'es']` | |
569
+ | `requiredLocales` | `string[]` | Uygulamada gerekli dillerin listesi. Varsayılan: `[]` | `[]` | Boşsa, `strict` modunda tüm diller gereklidir. Gerekli dillerin `locales` alanında da tanımlandığından emin olun. |
570
+ | `strictMode` | `string` | TypeScript kullanımı yoluyla uluslararasılaştırılmış içeriğin sağlam bir şekilde uygulanmasını sağlar. Varsayılan: `inclusive` | | `"strict"` ise: `t` fonksiyonu bildirilen her dilin tanımlanmasını gerektirir — herhangi biri eksikse veya bildirilmemişse hata verir. `"inclusive"` ise: eksik diller için uyarır ancak bildirilmeyen dilleri kabul eder. `"loose"` ise: mevcut olan her dili kabul eder. |
571
+ | `defaultLocale` | `string` | İstenen dil bulunamadığında geri dönüş olarak kullanılan varsayılan dil. Varsayılan: `Locales.ENGLISH` | `'en'` | URL'de, tanımlama bilgisinde veya başlıkta belirtilmediğinde dili belirlemek için kullanılır. |
572
+
573
+ ---
574
+
575
+ ### Düzenleyici Yapılandırması (Editor Configuration)
576
+
577
+ Sunucu bağlantı noktası ve etkinlik durumu dahil olmak üzere entegre düzenleyici ile ilgili ayarları tanımlar.
578
+
579
+ | Alan | Tür | Açıklama | Örnek | Not |
580
+ | ---------------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
581
+ | `applicationURL` | `string` | Uygulamanızın URL'si. Varsayılan: `''` | `'http://localhost:3000'`, `'https://example.com'`, `process.env.INTLAYER_EDITOR_URL` | Güvenlik nedenleriyle düzenleyicinin kaynaklarını (origins) kısıtlamak için kullanılır. `'*'` olarak ayarlanırsa, düzenleyiciye herhangi bir kaynaktan erişilebilir. |
582
+ | `port` | `number` | Görsel Düzenleyici sunucusu tarafından kullanılan bağlantı noktası. Varsayılan: `8000` | | |
583
+ | `editorURL` | `string` | Düzenleyici sunucu URL'si. Varsayılan: `'http://localhost:8000'` | `'http://localhost:3000'`, `'https://example.com'`, `process.env.INTLAYER_EDITOR_URL` | Uygulama ile etkileşime girebilen kaynakları kısıtlamak için kullanılır. `'*'` olarak ayarlanırsa, herhangi bir kaynaktan erişilebilir. Bağlantı noktasını değiştirirseniz veya düzenleyici başka bir alanda barındırılıyorsa ayarlanmalıdır. |
584
+ | `cmsURL` | `string` | Intlayer CMS URL'si. Varsayılan: `'https://intlayer.org'` | `'https://intlayer.org'` | |
585
+ | `backendURL` | `string` | Arka uç sunucu URL'si. Varsayılan: `https://back.intlayer.org` | `http://localhost:4000` | |
586
+ | `enabled` | `boolean` | Uygulamanın görsel düzenleyici ile etkileşime girip girmeyeceğini belirtir. Varsayılan: `true` | `process.env.NODE_ENV !== 'production'` | `false` ise, düzenleyici uygulama ile etkileşime giremez. Belirli ortamlar için devre dışı bırakılması güvenliği artırır. |
587
+ | `clientId` | `string | undefined` | oAuth2 kullanarak arka uçla kimlik doğrulaması yapmak için intlayer paketlerini etkinleştirir. Bir erişim belirteci almak için [intlayer.org/project](https://app.intlayer.org/project) adresine gidin. Varsayılan: `undefined` | | Gizli tutun; ortam değişkenlerinde saklayın. |
588
+ | `clientSecret` | `string | undefined` | oAuth2 kullanarak arka uçla kimlik doğrulaması yapmak için intlayer paketlerini etkinleştirir. Bir erişim belirteci almak için [intlayer.org/project](https://app.intlayer.org/project) adresine gidin. Varsayılan: `undefined` | | Gizli tutun; ortam değişkenlerinde saklayın. |
589
+ | `dictionaryPriorityStrategy` | `string` | Hem yerel hem de uzak sözlükler mevcut olduğunda sözlük önceliklendirme stratejisi. Varsayılan: `'local_first'` | `'distant_first'` | `'distant_first'`: Uzak sözlüklere yerel olanlara göre öncelik verir. `'local_first'`: Yerel sözlüklere uzak olanlara göre öncelik verir. |
590
+ | `liveSync` | `boolean` | CMS / Görsel Düzenleyici / Arka Uçta bir değişiklik algılandığında uygulama sunucusunun içeriği sıcak olarak yeniden yükleyip yüklemeyeceğini belirtir. Varsayılan: `true` | `true` | Bir sözlük eklendiğinde/güncellendiğinde uygulama sayfa içeriğini günceller. Canlı senkronizasyon (live sync), içeriği başka bir sunucuya dış kaynaklardan aktarır ve bu da performansı biraz etkileyebilir. Her ikisinin de aynı makinede barındırılması önerilir. |
591
+ | `liveSyncPort` | `number` | Canlı senkronizasyon sunucu bağlantı noktası. Varsayılan: `4000` | `4000` | |
592
+ | `liveSyncURL` | `string` | Canlı senkronizasyon sunucu URL'si. Varsayılan: `'http://localhost:{liveSyncPort}'` | `'https://example.com'` | Varsayılan olarak localhost'u gösterir; uzak bir canlı senkronizasyon sunucusuna değiştirilebilir. |
593
+
594
+ ### Yönlendirme Yapılandırması (Routing Configuration)
595
+
596
+ URL yapısı, dil depolama ve ara yazılım işleme dahil olmak üzere yönlendirme davranışını kontrol eden ayarlar.
597
+
598
+ | Alan | Tür | Açıklama | Örnek | Not |
599
+ | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
600
+ | `mode` | `'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'` | Dil işleme için URL yönlendirme modu. Varsayılan: `'prefix-no-default'` | `'prefix-no-default'`: `/dashboard` (en) veya `/fr/dashboard` (fr). `'prefix-all'`: `/en/dashboard`. `'no-prefix'`: dil başka yollarla işlenir. `'search-params'`: `/dashboard?locale=fr` kullanır | Tanımlama bilgisi veya dil depolama yönetimini etkilemez. |
601
+ | `storage` | `false | 'cookie' | 'localStorage' | 'sessionStorage' | 'header' | CookiesAttributes | StorageAttributes | Array` | Dili istemcide saklamak için yapılandırma. Varsayılan: `['cookie', 'header']` | `'localStorage'`, `[{ type: 'cookie', name: 'custom-locale', secure: true }]` | Aşağıdaki Depolama Seçenekleri tablosuna bakın. |
602
+ | `basePath` | `string` | Uygulama URL'leri için temel yol. Varsayılan: `''` | `'/my-app'` | Uygulama `https://example.com/my-app` üzerindeyse, basePath `'/my-app'` olur ve URL'ler `https://example.com/my-app/en` gibi olur. |
603
+ | `rewrite` | `Record<string, StrictModeLocaleMap<string>>` | Belirli yollar için varsayılan yönlendirme modunu geçersiz kılan özel URL yeniden yazma kuralları. Dinamik parametreleri `[param]` destekler. Varsayılan: `undefined` | Aşağıdaki örneğe bakın | Yeniden yazma kuralları `mode` üzerinde önceliğe sahiptir. Next.js ve Vite ile çalışır. `getLocalizedUrl()` eşleşen kuralları otomatik olarak uygular. [Özel URL Yeniden Yazmaları](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/custom_url_rewrites.md) konusuna bakın. |
604
+
605
+ **`rewrite` örneği**:
606
+
607
+ ```typescript
608
+ routing: {
609
+ mode: "prefix-no-default", // Geri dönüş stratejisi
610
+ rewrite: nextjsRewrite({
611
+ "/about": {
612
+ en: "/about",
613
+ fr: "/a-propos",
614
+ },
615
+ "/product/[slug]": {
616
+ en: "/product/[slug]",
617
+ fr: "/produit/[slug]",
618
+ },
619
+ "/blog/[category]/[id]": {
620
+ en: "/blog/[category]/[id]",
621
+ fr: "/journal/[category]/[id]",
622
+ },
623
+ }),
624
+ }
625
+ ```
626
+
627
+ #### Depolama Seçenekleri (Storage Options)
628
+
629
+ | Değer | Açıklama | Not |
630
+ | ------------------ | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
631
+ | `'cookie'` | Dili tanımlama bilgilerinde saklar — hem istemci hem de sunucu tarafından erişilebilir. | GDPR uyumluluğu için uygun kullanıcı onayının alındığından emin olun. `CookiesAttributes` aracılığıyla özelleştirilebilir (`{ type: 'cookie', name: 'custom-locale', secure: true, httpOnly: false }`). |
632
+ | `'localStorage'` | Dili son kullanma tarihi olmadan tarayıcıda saklar — yalnızca istemci tarafı. | Açıkça temizlenene kadar süresi dolmaz. Intlayer proxy'si buna erişemez. `StorageAttributes` aracılığıyla özelleştirilebilir (`{ type: 'localStorage', name: 'custom-locale' }`). |
633
+ | `'sessionStorage'` | Dili sayfa oturumu süresince saklar — yalnızca istemci tarafı. | Sekme/pencere kapatıldığında temizlenir. Intlayer proxy'si buna erişemez. `StorageAttributes` aracılığıyla özelleştirilebilir (`{ type: 'sessionStorage', name: 'custom-locale' }`). |
634
+ | `'header'` | Dili HTTP başlıkları aracılığıyla saklar veya iletir — yalnızca sunucu tarafı. | API çağrıları için yararlıdır. İstemci tarafı erişemez. `StorageAttributes` aracılığıyla özelleştirilebilir (`{ type: 'header', name: 'custom-locale' }`). |
635
+
636
+ #### Tanımlama Bilgisi Özellikleri (Cookie Attributes)
637
+
638
+ Tanımlama bilgisi depolamasını kullanırken ek tanımlama bilgisi özelliklerini yapılandırabilirsiniz:
639
+
640
+ | Alan | Tür | Açıklama |
641
+ | ---------- | ------------------------------------- | ------------------------------------------------------------ |
642
+ | `name` | `string` | Tanımlama bilgisinin adı. Varsayılan: `'INTLAYER_LOCALE'` |
643
+ | `domain` | `string` | Tanımlama bilgisi alanı. Varsayılan: `undefined` |
644
+ | `path` | `string` | Tanımlama bilgisi yolu. Varsayılan: `undefined` |
645
+ | `secure` | `boolean` | HTTPS gerektirir. Varsayılan: `undefined` |
646
+ | `httpOnly` | `boolean` | HTTP-only bayrağı. Varsayılan: `undefined` |
647
+ | `sameSite` | `'strict' &#124; 'lax' &#124; 'none'` | SameSite politikası. |
648
+ | `expires` | `Date &#124; number` | Son kullanma tarihi veya gün sayısı. Varsayılan: `undefined` |
649
+
650
+ #### Dil Depolama Özellikleri (Locale Storage Attributes)
651
+
652
+ localStorage veya sessionStorage kullanırken:
653
+
654
+ | Alan | Tür | Açıklama |
655
+ | ------ | ---------------------------------------- | ------------------------------------------------------ |
656
+ | `type` | `'localStorage' &#124; 'sessionStorage'` | Depolama türü. |
657
+ | `name` | `string` | Depolama anahtarı adı. Varsayılan: `'INTLAYER_LOCALE'` |
658
+
659
+ #### Yapılandırma Örnekleri
660
+
661
+ İşte yeni v7 yönlendirme yapısı için bazı yaygın yapılandırma örnekleri:
662
+
663
+ **Temel Yapılandırma (Varsayılan)**:
664
+
665
+ ```typescript
666
+ import { Locales, type IntlayerConfig } from "intlayer";
667
+ // intlayer.config.ts
668
+ const config: IntlayerConfig = {
669
+ internationalization: {
670
+ locales: ["en", "fr", "es"],
671
+ defaultLocale: "en",
672
+ },
673
+ routing: {
674
+ mode: "prefix-no-default",
675
+ storage: "localStorage",
676
+ basePath: "",
677
+ },
678
+ };
679
+
680
+ export default config;
681
+ ```
682
+
683
+ **GDPR Uyumlu Yapılandırma**:
684
+
685
+ ```typescript
686
+ import { Locales, type IntlayerConfig } from "intlayer";
687
+ // intlayer.config.ts
688
+ const config: IntlayerConfig = {
689
+ internationalization: {
690
+ locales: ["en", "fr", "es"],
691
+ defaultLocale: "en",
692
+ },
693
+ routing: {
694
+ mode: "prefix-no-default",
695
+ storage: [
696
+ {
697
+ type: "localStorage",
698
+ name: "user-locale",
699
+ },
700
+ {
701
+ type: "cookie",
702
+ name: "user-locale",
703
+ secure: true,
704
+ sameSite: "strict",
705
+ httpOnly: false,
706
+ },
707
+ ],
708
+ basePath: "",
709
+ },
710
+ };
711
+
712
+ export default config;
713
+ ```
714
+
715
+ **Arama Parametreleri Modu (Search Parameters Mode)**:
716
+
717
+ ```typescript
718
+ import { Locales, type IntlayerConfig } from "intlayer";
719
+ // intlayer.config.ts
720
+ const config: IntlayerConfig = {
721
+ internationalization: {
722
+ locales: ["en", "fr", "es"],
723
+ defaultLocale: "en",
724
+ },
725
+ routing: {
726
+ mode: "search-params",
727
+ storage: "localStorage",
728
+ basePath: "",
729
+ },
730
+ };
731
+
732
+ export default config;
733
+ ```
734
+
735
+ **Özel Depolama ile Ön Eki Olmayan Mod (No Prefix Mode)**:
736
+
737
+ ```typescript
738
+ import { Locales, type IntlayerConfig } from "intlayer";
739
+ // intlayer.config.ts
740
+ const config: IntlayerConfig = {
741
+ internationalization: {
742
+ locales: ["en", "fr", "es"],
743
+ defaultLocale: "en",
744
+ },
745
+ routing: {
746
+ mode: "no-prefix",
747
+ storage: {
748
+ type: "sessionStorage",
749
+ name: "app-locale",
750
+ },
751
+ basePath: "/my-app",
752
+ },
753
+ };
754
+
755
+ export default config;
756
+ ```
757
+
758
+ **Dinamik Yollarla Özel URL Yeniden Yazma**:
759
+
760
+ ```typescript
761
+ // intlayer.config.ts
762
+ import { nextjsRewrite } from "intlayer/routing";
763
+
764
+ const config: IntlayerConfig = {
765
+ internationalization: {
766
+ locales: ["en", "fr"],
767
+ defaultLocale: "en",
768
+ },
769
+ routing: {
770
+ mode: "prefix-no-default", // Yeniden yazılmayan yollar için geri dönüş stratejisi
771
+ storage: "cookie",
772
+ rewrite: nextjsRewrite({
773
+ "/about": {
774
+ en: "/about",
775
+ fr: "/a-propos",
776
+ },
777
+ "/product/[slug]": {
778
+ en: "/product/[slug]",
779
+ fr: "/produit/[slug]",
780
+ },
781
+ "/blog/[category]/[id]": {
782
+ en: "/blog/[category]/[id]",
783
+ fr: "/journal/[category]/[id]",
784
+ },
785
+ }),
786
+ },
787
+ };
528
788
 
529
- Aşağıdaki bölümler, Intlayer için mevcut olan çeşitli konfigürasyon ayarlarını açıklamaktadır.
789
+ export default config;
790
+ ```
530
791
 
531
792
  ---
532
793
 
533
- ### Uluslararasılaştırma Konfigürasyonu
534
-
535
- Uygulama için mevcut yerel ayarları ve varsayılan yerel ayarı içeren uluslararasılaştırma ile ilgili ayarları tanımlar.
536
-
537
- #### Özellikler
538
-
539
- - **locales**:
540
- - _Tür_: `string[]`
541
- - _Varsayılan_: `['en']`
542
- - _Açıklama_: Uygulamada desteklenen yerel ayarların listesi.
543
- - _Örnek_: `['en', 'fr', 'es']`
544
-
545
- - **requiredLocales**:
546
- - _Tür_: `string[]`
547
- - _Varsayılan_: `[]`
548
- - _Açıklama_: Uygulamada zorunlu olan yerel ayarların listesi.
549
- - _Örnek_: `[]`
550
- - _Not_: Boşsa, `strict` modda tüm yerel ayarlar gereklidir.
551
- - _Not_: Gereken yerel ayarların `locales` alanında da tanımlandığından emin olun.
552
- - **strictMode**:
553
- - _Tür_: `string`
554
- - _Varsayılan_: `inclusive`
555
- - _Açıklama_: Typescript kullanarak uluslararasılaştırılmış içeriğin güçlü uygulamalarını sağlar.
556
- - _Not_: "strict" olarak ayarlanırsa, çeviri `t` fonksiyonu her bildirilen yerel ayarın tanımlanmasını gerektirir. Bir yerel ayar eksikse veya yapılandırmanızda bildirilmemişse, hata verir.
557
- - _Not_: "inclusive" olarak ayarlanırsa, çeviri `t` fonksiyonu her bildirilen yerel ayarın tanımlanmasını gerektirir. Bir yerel ayar eksikse uyarı verir. Ancak yapılandırmanızda bildirilmemiş ama mevcut olan bir yerel ayarı kabul eder.
558
- - _Not_: "loose" olarak ayarlanırsa, çeviri `t` fonksiyonu mevcut olan herhangi bir yerel ayarı kabul edecektir.
559
-
560
- - **defaultLocale**:
561
- - _Tür_: `string`
562
- - _Varsayılan_: `'en'`
563
- - _Açıklama_: İstenen yerel ayar bulunamadığında kullanılan varsayılan yerel ayar.
564
- - _Örnek_: `'en'`
565
- - _Not_: URL, çerez veya başlıkta yerel ayar belirtilmediğinde kullanılacak yerel ayarı belirlemek için kullanılır.
794
+ ### İçerik Yapılandırması (Content Configuration)
795
+
796
+ Uygulama içindeki içerik işleme ile ilgili ayarlar (dizin adları, dosya uzantıları ve türetilmiş yapılandırmalar).
797
+
798
+ | Alan | Tür | Açıklama | Örnek | Not |
799
+ | ---------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
800
+ | `watch` | `boolean` | Intlayer'ın sözlükleri yeniden oluşturmak için içerik bildirim dosyalarındaki değişiklikleri izleyip izlemeyeceğini belirtir. Varsayılan: `process.env.NODE_ENV === 'development'` | | |
801
+ | `fileExtensions` | `string[]` | İçerik bildirim dosyalarını taramak için kullanılan dosya uzantıları. Varsayılan: `['.content.ts', '.content.js', '.content.mjs', '.content.cjs', '.content.json', '.content.json5', '.content.jsonc']` | `['.content.ts', '.content.js']` | |
802
+ | `contentDir` | `string[]` | İçerik bildirim dosyalarının bulunduğu dizinlerin yolları. Varsayılan: `['.']` | `['src/content']` | |
803
+ | `codeDir` | `string[]` | Uygulamanızın kaynak kod dosyalarının bulunduğu dizinlerin yolları. Varsayılan: `['.']` | `['src']` | Derlemeyi optimize etmek ve kod dönüşümü ve sıcak yeniden yüklemenin (hot reload) yalnızca gerekli dosyalara uygulanmasını sağlamak için kullanılır. |
804
+ | `excludedPath` | `string[]` | İçerik taramasından hariç tutulan yollar. Varsayılan: `['node_modules', '.intlayer', '.next', 'dist', 'build']` | `['src/styles']` | |
805
+ | `formatCommand` | `string` | Yeni oluşturulan veya güncellenen içerik dosyalarını biçimlendirmek için çalıştırılacak komut. Varsayılan: `undefined` | `'npx prettier --write "{{file}}"'` | İçerik ayıklama sırasında veya görsel düzenleyici aracılığıyla kullanılır. |
566
806
 
567
807
  ---
568
808
 
569
- ### Editör Yapılandırması
570
-
571
- Entegre editörle ilgili ayarları, sunucu portu ve aktiflik durumu dahil olmak üzere tanımlar.
572
-
573
- #### Özellikler
574
-
575
- - **applicationURL**:
576
- - _Tür_: `string`
577
- - _Varsayılan_: `http://localhost:3000`
578
- - _Açıklama_: Uygulamanın URL'si. Güvenlik nedenleriyle editörün kaynağını kısıtlamak için kullanılır.
579
- - _Örnek_:
580
- - `'http://localhost:3000'`
581
- - `'https://example.com'`
582
- - `process.env.INTLAYER_EDITOR_URL`
583
- - _Not_: Uygulamanın URL'si. Güvenlik nedenleriyle editörün kaynağını kısıtlamak için kullanılır. `'*'` olarak ayarlanırsa, editöre herhangi bir kaynaktan erişilebilir.
584
-
585
- - **port**:
586
- - _Tür_: `number`
587
- - _Varsayılan_: `8000`
588
- - _Açıklama_: Görsel editör sunucusunun kullandığı port.
589
-
590
- - **editorURL**:
591
- - _Tür_: `string`
592
- - _Varsayılan_: `'http://localhost:8000'`
593
- - _Açıklama_: Editör sunucusunun URL'si. Güvenlik nedenleriyle editörün kaynağını kısıtlamak için kullanılır.
594
- - `'http://localhost:3000'`
595
- - `'https://example.com'`
596
- - `process.env.INTLAYER_EDITOR_URL`
597
- - _Not_: Uygulamadan erişilecek editör sunucusunun URL'si. Güvenlik nedenleriyle uygulamayla etkileşime girebilecek kaynakları kısıtlamak için kullanılır. `'*'` olarak ayarlanırsa, editöre herhangi bir kaynaktan erişilebilir. Port değiştirildiğinde veya editör farklı bir alan adında barındırılıyorsa ayarlanmalıdır.
598
-
599
- - **cmsURL**:
600
- - _Tür_: `string`
601
- - _Varsayılan_: `'https://intlayer.org'`
602
- - _Açıklama_: Intlayer CMS'nin URL'si.
603
- - _Örnek_: `'https://intlayer.org'`
604
- - _Not_: Intlayer CMS'nin URL'si.
605
-
606
- - **backendURL**:
607
- - _Tür_: `string`
608
- - _Varsayılan_: `https://back.intlayer.org`
609
- - _Açıklama_: Backend sunucusunun URL'si.
610
- - _Örnek_: `http://localhost:4000`
611
-
612
- - **enabled**:
613
- - _Tür_: `boolean`
614
- - _Varsayılan_: `true`
615
- - _Açıklama_: Uygulamanın görsel editörle etkileşimde bulunup bulunmadığını belirtir.
616
- - _Örnek_: `process.env.NODE_ENV !== 'production'`
617
- - _Not_: Eğer true ise, editör uygulamayla etkileşimde bulunabilir. Eğer false ise, editör uygulamayla etkileşimde bulunamaz. Her durumda, editör yalnızca görsel editör tarafından etkinleştirilebilir. Belirli ortamlar için editörün devre dışı bırakılması, güvenliği sağlamak için bir yöntemdir.
618
-
619
- - **clientId**:
620
- - _Tür_: `string` | `undefined`
621
- - _Varsayılan_: `undefined`
622
- - _Açıklama_: clientId ve clientSecret, intlayer paketlerinin backend ile oAuth2 kimlik doğrulaması kullanarak kimlik doğrulaması yapmasını sağlar. Bir erişim belirteci, projeyle ilişkili kullanıcıyı doğrulamak için kullanılır. Bir erişim belirteci almak için https://app.intlayer.org/project adresine gidip bir hesap oluşturun.
623
- - _Örnek_: `true`
624
- - _Not_: Önemli: clientId ve clientSecret gizli tutulmalı ve kamuya açık şekilde paylaşılmamalıdır. Lütfen bunları ortam değişkenleri gibi güvenli bir yerde sakladığınızdan emin olun.
625
-
626
- - **clientSecret**:
627
- - _Tür_: `string` | `undefined`
628
- - _Varsayılan_: `undefined`
629
- - _Açıklama_: clientId ve clientSecret, intlayer paketlerinin backend ile oAuth2 kimlik doğrulaması kullanarak doğrulanmasını sağlar. Bir erişim belirteci, projeyle ilişkili kullanıcıyı doğrulamak için kullanılır. Bir erişim belirteci almak için https://app.intlayer.org/project adresine gidip bir hesap oluşturun.
630
- - _Örnek_: `true`
631
- - _Not_: Önemli: clientId ve clientSecret gizli tutulmalı ve kamuya açık şekilde paylaşılmamalıdır. Lütfen bunları ortam değişkenleri gibi güvenli bir yerde sakladığınızdan emin olun.
632
-
633
- - **dictionaryPriorityStrategy**:
634
- - _Tür_: `string`
635
- - _Varsayılan_: `'local_first'`
636
- - _Açıklama_: Hem yerel hem de uzak sözlüklerin mevcut olduğu durumlarda sözlüklerin önceliklendirilme stratejisi. `'distant_first'` olarak ayarlanırsa, uygulama uzak sözlüklere yerel sözlüklerden daha fazla öncelik verir. `'local_first'` olarak ayarlanırsa, uygulama yerel sözlüklere uzak sözlüklerden daha fazla öncelik verir.
637
- - _Örnek_: `'distant_first'`
638
-
639
- - **liveSync**:
640
- - _Tür_: `boolean`
641
- - _Varsayılan_: `false`
642
- - _Açıklama_: CMS / Görsel Editör / Backend üzerinde bir değişiklik algılandığında uygulama sunucusunun içeriği sıcak yeniden yükleyip yüklemeyeceğini belirtir.
643
- - _Örnek_: `true`
644
- - _Not_: Örneğin, yeni bir sözlük eklendiğinde veya güncellendiğinde, uygulama sayfada görüntülenecek içeriği günceller.
645
- - _Not_: Canlı senkronizasyon, uygulamanın içeriğini başka bir sunucuya dışa aktarmayı gerektirir. Bu, uygulamanın performansını biraz etkileyebilir. Bunu sınırlamak için, uygulamanın ve canlı senkronizasyon sunucusunun aynı makinede barındırılmasını öneriyoruz. Ayrıca, canlı senkronizasyon ile `optimize` kombinasyonu, canlı senkronizasyon sunucusuna önemli sayıda istek gönderebilir. Altyapınıza bağlı olarak, her iki seçeneği ve kombinasyonlarını test etmenizi öneririz.
646
-
647
- - **liveSyncPort**:
648
- - _Tür_: `number`
649
- - _Varsayılan_: `4000`
650
- - _Açıklama_: Canlı senkronizasyon sunucusunun portu.
651
- - _Örnek_: `4000`
652
- - _Not_: Canlı senkronizasyon sunucusunun portu.
653
-
654
- - **liveSyncURL**:
655
- - _Tür_: `string`
656
- - _Varsayılan_: `'http://localhost:{liveSyncPort}'`
657
- - _Açıklama_: Canlı senkronizasyon sunucusunun URL'si.
658
- - _Örnek_: `'https://example.com'`
659
- - _Not_: Varsayılan olarak localhost'a işaret eder ancak uzak bir canlı senkronizasyon sunucusu durumunda herhangi bir URL'ye değiştirilebilir.
660
-
661
- ### Ara Katman (Middleware) Yapılandırması
662
-
663
- Uygulamanın çerezleri, başlıkları ve yerel yönetimi için URL öneklerini nasıl yönettiğini kontrol eden ayarlar.
664
-
665
- #### Özellikler
666
-
667
- - **headerName**:
668
- - _Tür_: `string`
669
- - _Varsayılan_: `'x-intlayer-locale'`
670
- - _Açıklama_: Yerel ayarı belirlemek için kullanılan HTTP başlığının adı.
671
- - _Örnek_: `'x-custom-locale'`
672
- - _Not_: API tabanlı yerel belirleme için faydalıdır.
673
-
674
- - **cookieName**:
675
- - _Tür_: `string`
676
- - _Varsayılan_: `'intlayer-locale'`
677
- - _Açıklama_: Yerel ayarı saklamak için kullanılan çerezin adı.
678
- - _Örnek_: `'custom-locale'`
679
- - _Not_: Oturumlar arasında yerel ayarın korunması için kullanılır.
680
-
681
- - **prefixDefault**:
682
- - _Tür_: `boolean`
683
- - _Varsayılan_: `false`
684
- - _Açıklama_: Varsayılan yerel ayarın URL'de dahil edilip edilmeyeceği.
685
- - _Örnek_: `true`
686
- - _Not_:
687
- - Eğer `true` ve `defaultLocale = 'en'` ise: yol = `/en/dashboard` veya `/fr/dashboard`
688
- - Eğer `false` ve `defaultLocale = 'en'` ise: yol = `/dashboard` veya `/fr/dashboard`
689
-
690
- - **basePath**:
691
- - _Tür_: `string`
692
- - _Varsayılan_: `''`
693
- - _Açıklama_: Uygulama URL'leri için temel yol.
694
- - _Örnek_: `'/my-app'`
695
- - _Not_:
696
- - Uygulama `https://example.com/my-app` adresinde barındırılıyorsa
697
- - Temel yol `'/my-app'` olur
698
- - URL `https://example.com/my-app/en` olacaktır
699
- - Eğer base path ayarlanmazsa, URL `https://example.com/en` olacaktır.
700
-
701
- - **rewrite**:
702
- - _Tür_: `Record<string, StrictModeLocaleMap<string>>`
703
- - _Varsayılan_: `undefined`
704
- - _Açıklama_: Belirli yollar için varsayılan yönlendirme modunu geçersiz kılan özel URL yeniden yazma kuralları. Standart yönlendirme davranışından farklı dil-spesifik yollar tanımlamanıza olanak tanır. `[param]` sözdizimini kullanarak dinamik rota parametrelerini destekler.
705
- - _Örnek_:
706
- ```typescript
707
- routing: {
708
- mode: "prefix-no-default", // Yedek strateji
709
- rewrite: nextjsRewrite({
710
- "/[locale]/about": {
711
- en: "/[locale]/about",
712
- fr: "/[locale]/a-propos",
713
- },
714
- "/[locale]/product/[slug]": {
715
- en: "/[locale]/product/[slug]",
716
- fr: "/[locale]/produit/[slug]",
717
- },
718
- "/[locale]/blog/[category]/[id]": {
719
- en: "/[locale]/blog/[category]/[id]",
720
- fr: "/[locale]/journal/[category]/[id]",
721
- },
722
- }),
723
- }
724
- ```
725
- - _Not_: Yeniden yazma kuralları varsayılan `mode` davranışından önceliklidir. Bir yol bir yeniden yazma kuralıyla eşleşirse, standart dil öneki yerine yeniden yazma yapılandırmasından yerelleştirilmiş yol kullanılacaktır.
726
- - _Not_: Dinamik rota parametreleri köşeli ayraç gösterimi (örneğin, `[slug]`, `[id]`) kullanılarak desteklenir. Parametre değerleri URL'den otomatik olarak çıkarılır ve yeniden yazılan yola eklenir.
727
- - _Not_: Next.js ve Vite uygulamalarıyla çalışır. Middleware/proxy, gelen istekleri iç rota yapısıyla eşleşecek şekilde otomatik olarak yeniden yazacaktır.
728
- - _Not_: `getLocalizedUrl()` ile URL oluştururken, sağlanan yolla eşleşirlerse yeniden yazma kuralları otomatik olarak uygulanır.
729
- - _Referans_: Daha fazla bilgi için, [Özel URL Yeniden Yazma](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/custom_url_rewrites.md) konusuna bakın.
730
-
731
- - **serverSetCookie**:
732
- - _Tür_: `string`
733
- - _Varsayılan_: `'always'`
734
- - _Açıklama_: Sunucuda locale çerezinin ayarlanma kuralı.
735
- - _Seçenekler_: `'always'`, `'never'`
736
- - _Örnek_: `'never'`
737
- - _Not_: Locale çerezinin her istekte mi yoksa hiç mi ayarlanacağını kontrol eder.
738
-
739
- - **noPrefix**:
740
- - _Tür_: `boolean`
741
- - _Varsayılan_: `false`
742
- - _Açıklama_: URL'lerden locale önekinin çıkarılıp çıkarılmayacağı.
743
- - _Örnek_: `true`
744
- - _Not_:
745
- - Eğer `true` ise: URL'de önek olmaz
746
- - Eğer `false` ise: URL'de önek olur
747
- - `basePath = '/my-app'` örneği:
748
- - Eğer `noPrefix = false` ise: URL `https://example.com/my-app/en` olur
749
- - Eğer `noPrefix = true` ise: URL `https://example.com` olur
809
+ ### Sözlük Yapılandırması (Dictionary Configuration)
810
+
811
+ Otomatik doldurma davranışı ve içerik oluşturma dahil olmak üzere sözlük işlemlerini kontrol eden ayarlar.
812
+
813
+ Bu sözlük yapılandırmasının iki ana amacı vardır:
814
+
815
+ 1. **Varsayılan değerler**: İçerik bildirim dosyaları oluştururken varsayılan değerleri tanımlamak.
816
+ 2. **Geri dönüş davranışı**: Belirli alanlar tanımlanmadığında geri dönüş değerleri sağlayarak sözlük işlemlerinin davranışını küresel olarak ayarlamanıza olanak tanır.
817
+
818
+ İçerik bildirim dosyaları ve yapılandırma değerlerinin nasıl uygulandığı hakkında daha fazla bilgi için [içerik dosyası belgelerine](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/dictionary/content_file.md) bakın.
819
+
820
+ | Alan | Tür | Açıklama | Örnek | Not |
821
+ | --------------------------- | ----------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
822
+ | `fill` | `boolean &#124; FilePathPattern &#124; Partial<Record<Locale, boolean &#124; FilePathPattern>>` | Otomatik doldurma (AI çevirisi) çıktı dosyalarının nasıl oluşturulduğunu kontrol eder. Varsayılan: `true` | Aşağıdaki örneğe bakın | `true`: Varsayılan yol (kaynakla aynı dosya). `false`: Devre dışı. Dize/fonksiyon şablonları dil başına dosyalar oluşturur. Dil başına nesne: her dil kendi desenine eşlenir; `false` o dili atlar. `{{locale}}` değişkeninin dahil edilmesi dil başına oluşturmayı tetikler. Sözlük düzeyindeki `fill` her zaman bu küresel yapılandırmadan önceliklidir. |
823
+ | `importMode` | `'static' &#124; 'dynamic' &#124; 'fetch'` | Sözlüklerin nasıl içe aktarıldığını kontrol eder. Varsayılan: `'static'` | `'dynamic'` | `'static'`: Statik olarak içe aktarılır. `'dynamic'`: Suspense aracılığıyla dinamik olarak içe aktarılır. `'fetch'`: Live Sync API aracılığıyla dinamik olarak çekilir. `getIntlayer`, `getDictionary`, `useDictionary` vb. etkilemez. |
824
+ | `location` | `'local' &#124; 'remote' &#124; 'hybrid' &#124; string` | Sözlüklerin nerede saklandığı. Varsayılan: `'local'` | `'remote'` | `'local'`: dosya sistemi. `'remote'`: Intlayer CMS. `'hybrid'`: her ikisi de. |
825
+ | `contentAutoTransformation` | `boolean` | İçerik dosyalarının otomatik olarak dönüştürülüp dönüştürülmeyeceği (ör. Markdown'dan HTML'e). Varsayılan: `false` | `true` | @intlayer/markdown aracılığıyla Markdown alanlarını işlemek için yararlıdır. |
826
+
827
+ **`fill` örneği**:
828
+
829
+ ```ts
830
+ dictionary: {
831
+ fill: {
832
+ en: '/locales/en/{{key}}.content.json',
833
+ fr: ({ key }) => `/locales/fr/${key}.content.json`,
834
+ es: false,
835
+ }
836
+ }
837
+ ```
750
838
 
751
839
  ---
752
840
 
753
- ### İçerik Yapılandırması
754
-
755
- Uygulama içindeki içerik yönetimi ile ilgili ayarlar; dizin isimleri, dosya uzantıları ve türetilmiş yapılandırmalar dahil.
756
-
757
- #### Özellikler
758
-
759
- - **autoFill**:
760
- - _Tür_: `boolean | string | FilePathPattern | { [key in Locales]?: string }`
761
- - _Varsayılan_: `undefined`
762
- - _Açıklama_: İçeriğin yapay zeka kullanılarak otomatik olarak nasıl doldurulacağını belirtir. `intlayer.config.ts` dosyasında global olarak tanımlanabilir.
763
- - _Örnek_: true
764
- - _Örnek_: `'./{{fileName}}.content.json'`
765
- - _Örnek_: `{ fr: './{{fileName}}.fr.content.json', es: './{{fileName}}.es.content.json' }`
766
- - _Not_: Otomatik doldurma yapılandırması. Şunlar olabilir:
767
- - boolean: Tüm yereller için otomatik doldurmayı etkinleştirir
768
- - string: Değişkenler içeren tek bir dosya yolu veya şablon
769
- - object: Yerel bazında dosya yolları
770
-
771
- - **watch**:
772
- - _Tür_: `boolean`
773
- - _Varsayılan_: `process.env.NODE_ENV === 'development'`
774
- - _Açıklama_: Intlayer'ın uygulamadaki içerik beyan dosyalarındaki değişiklikleri izleyip ilgili sözlükleri yeniden oluşturup oluşturmayacağını belirtir.
775
-
776
- - **fileExtensions**:
777
- - _Tür_: `string[]`
778
- - _Varsayılan_: `['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.tsx', '.content.jsx']`
779
- - _Açıklama_: Sözlükler oluşturulurken aranacak dosya uzantıları.
780
- - _Örnek_: `['.data.ts', '.data.js', '.data.json']`
781
- - _Not_: Dosya uzantılarının özelleştirilmesi çakışmaları önlemeye yardımcı olabilir.
782
-
783
- - **dictionaryOutput**:
784
- - _Tür_: `string[]`
785
- - _Varsayılan_: `['intlayer']`
786
- - _Açıklama_: Kullanılacak sözlük çıktısı türü, örn. `'intlayer'` veya `'i18next'`.
787
-
788
- - **contentDir**:
789
- - _Tür_: `string[]`
790
- - _Varsayılan_: `['.']`
791
- - _Örnek_: `['src', '../../ui-library', require.resolve("@my-package/content")]`
792
- - _Açıklama_: İçerik tanım dosyalarının (`.content.*`) depolandığı dizin yolu.
793
- - _Not_: Bu, sözlükleri yeniden oluşturmak için içerik dosyalarını izlemek için kullanılır.
794
-
795
- - **codeDir**:
796
- - _Tür_: `string[]`
797
- - _Varsayılan_: `['.']`
798
- - _Örnek_: `['src', '../../ui-library']`
799
- - _Açıklama_: Kodun depolandığı dizin yolu, temel dizine göre.
800
- - _Not_: Bu, kod dosyalarını dönüştürmek (budama, optimizasyon) için izlemek için kullanılır. Bunu `contentDir`'den ayrı tutmak, içerik dosyalarının gereksiz taramalarından kaçınarak derleme performansını artırabilir.
841
+ ### Yapay Zeka Yapılandırması (AI Configuration)
842
+
843
+ Derleme çevirisi gibi Intlayer'ın yapay zeka destekli özellikleri için ayarları tanımlar.
844
+
845
+ | Alan | Tür | Açıklama | Örnek | Not |
846
+ | -------------------- | ---------------------- | ------------------------------------------------------------------------------- | ------------------------------------------- | -------------------------------------------------------------------------------------------------- |
847
+ | `provider` | `string` | Kullanılacak yapay zeka sağlayıcısı. | `'openai'`, `'anthropic'`, `'googlevertex'` | |
848
+ | `model` | `string` | Kullanılacak yapay zeka modeli. | `'gpt-4o'`, `'claude-3-5-sonnet-20240620'` | |
849
+ | `apiKey` | `string` | Seçilen sağlayıcı için API anahtarı. | `process.env.OPENAI_API_KEY` | |
850
+ | `applicationContext` | `string` | Yapay zeka çeviri doğruluğunu iyileştirmek için uygulamanız hakkında ek bağlam. | `'Çocuklar için bir çalışma platformu.'` | |
851
+ | `baseURL` | `string` | API çağrıları için isteğe bağlı temel yol URL'si. | | Bir proxy veya yerel yapay zeka dağıtımı kullanıyorsanız yararlıdır. |
852
+ | `dataSerialization` | `'json' &#124; 'toon'` | Yapay zekaya verilerin nasıl gönderileceğini tanımlar. Varsayılan: `'json'` | `'json'` | `'json'`: daha sağlam ve kesin. `'toon'`: daha az belirteç tüketir ancak daha az kararlı olabilir. |
801
853
 
802
854
  ---
803
855
 
804
- ### Sistem Yapılandırması
805
-
806
- Intlayer'ın yolları ve çıktı sonuçlarıyla ilgili ayarlar. Bu ayarlar genellikle dâhildir ve kullanıcı tarafından değiştirilmeleri gerekmez.
807
-
808
- #### Özellikler
809
-
810
- - **baseDir**:
811
- - _Tür_: `string`
812
- - _Varsayılan_: `process.cwd()`
813
- - _Açıklama_: Projenin temel dizini.
814
- - _Örnek_: `'/path/to/project'`
815
- - _Not_: Tüm Intlayer ile ilgili dizinlerin çözülmesinde kullanılır.
816
-
817
- - **dictionariesDir**:
818
- - _Tür_: `string`
819
- - _Varsayılan_: `'.intlayer/dictionary'`
820
- - _Açıklama_: Yerelleştirme sözlüklerinin saklandığı dizin.
821
- - _Örnek_: `'translations'`
822
-
823
- - **moduleAugmentationDir**:
824
- - _Tür_: `string`
825
- - _Varsayılan_: `'.intlayer/types'`
826
- - _Açıklama_: Modül genişletme için dizin, daha iyi IDE önerileri ve tip kontrolü sağlar.
827
- - _Örnek_: `'intlayer-types'`
828
- - _Not_: Bunu `tsconfig.json` dosyanıza eklediğinizden emin olun.
829
-
830
- - **unmergedDictionariesDir**:
831
- - _Tür_: `string`
832
- - _Varsayılan_: `'.intlayer/unmerged_dictionary'`
833
- - _Açıklama_: Birleştirilmemiş sözlüklerin depolanacağı dizin.
834
- - _Örnek_: `'translations'`
835
-
836
- - **typesDir**:
837
- - _Tür_: `string`
838
- - _Varsayılan_: `'types'`
839
- - _Açıklama_: Sözlük türlerinin saklandığı dizin.
840
- - _Örnek_: `'intlayer-types'`
841
-
842
- - **mainDir**:
843
- - _Tür_: `string`
844
- - _Varsayılan_: `'main'`
845
- - _Açıklama_: Ana uygulama dosyalarının saklandığı dizin.
846
- - _Örnek_: `'intlayer-main'`
847
-
848
- - **excludedPath**:
849
- - _Tür_: `string[]`
850
- - _Varsayılan_: `['node_modules']`
851
- - _Açıklama_: İçerik aramasından hariç tutulan dizinler.
852
- - _Not_: Bu ayar henüz kullanılmamaktadır, ancak gelecekte uygulanması planlanmaktadır.
853
-
854
- ### Sözlük Yapılandırması
855
-
856
- Sözlük işlemlerini kontrol eden ayarlar, otomatik doldurma davranışı ve içerik oluşturma dahil.
857
-
858
- Bu sözlük yapılandırması iki ana amaç için hizmet eder:
859
-
860
- 1. **Varsayılan Değerler**: İçerik bildirimi dosyaları oluştururken varsayılan değerleri tanımlayın
861
- 2. **Yedek Davranış**: Belirli alanlar tanımlanmadığında yedek değerler sağlayın, böylece sözlük işlem davranışını genel olarak tanımlayabilirsiniz
862
-
863
- İçerik bildirimi dosyaları ve yapılandırma değerlerinin nasıl uygulandığı hakkında daha fazla bilgi için, [İçerik Dosyası Dokümantasyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/dictionary/content_file.md) bölümüne bakın.
864
-
865
- #### Özellikler
866
-
867
- - **fill**
868
- - **description**
869
- - **locale**
870
- - **location**
871
- - **importMode**:
872
- - _Not_: **Deprecated**: Use `dictionary.importMode` instead.
873
- - _Tip_: `'static' | 'dynamic' | 'fetch'`
874
- - _Varsayılan_: `'static'`
875
- - _Açıklama_: Controls how dictionaries are imported.
876
- - _Örnek_: `'dynamic'`
877
- - **priority**
878
- - **live**
879
- - **schema**
880
- - **title**
881
- - **tags**
882
- - **version**
856
+ ### Derleme Yapılandırması (Build Configuration)
857
+
858
+ Intlayer derleme süreci ve optimizasyon ayarları.
859
+
860
+ | Alan | Tür | Açıklama | Örnek | Not |
861
+ | -------------- | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | ----- | --- |
862
+ | `mode` | `'auto' &#124; 'manual'` | Uygulamanın ön derleme adımları sırasında Intlayer'ın otomatik olarak çalışıp çalışmayacağını belirtir. Varsayılan: `'auto'` | | |
863
+ | `optimize` | `boolean` | Derlenmiş sözlüklerin çalışma zamanı için optimize edilip edilmeyeceğini belirtir. Varsayılan: Üretim ortamında `true` | | |
864
+ | `outputFormat` | `('cjs' &#124; 'esm')[]` | Oluşturulan sözlük dosyaları için çıktı formatı. Varsayılan: `['cjs', 'esm']` | | |
865
+ | `checkTypes` | `boolean` | Intlayer'ın oluşturulan dosyalardaki türleri kontrol edip etmeyeceğini belirtir. Varsayılan: `false` | | |
883
866
 
884
867
  ---
885
868
 
886
- ### Logger Yapılandırması
887
-
888
- Logger'ı kontrol eden ayarlar, kullanılacak önek dahil.
889
-
890
- #### Özellikler
891
-
892
- - **mode**:
893
- - _Tür_: `string`
894
- - _Varsayılan_: `default`
895
- - _Açıklama_: Logger modunu belirtir.
896
- - _Seçenekler_: `default`, `verbose`, `disabled`
897
- - _Örnek_: `default`
898
- - _Not_: Logger modu. Verbose modu daha fazla bilgi kaydeder, ancak hata ayıklama amaçlı kullanılabilir. Disabled modu logger'ı devre dışı bırakır.
899
-
900
- - **prefix**:
901
- - _Tür_: `string`
902
- - _Varsayılan_: `'[intlayer] '`
903
- - _Açıklama_: Logger'ın öneki.
904
- - _Örnek_: `'[my custom prefix] '`
905
- - _Not_: Günlüğün ön eki.
906
-
907
- ### AI Yapılandırması
908
-
909
- Intlayer'ın AI özelliklerini kontrol eden ayarlar, sağlayıcı, model ve API anahtarı dahil.
910
-
911
- Bu yapılandırma, bir erişim anahtarı kullanarak [Intlayer Kontrol Paneli](https://app.intlayer.org/project) üzerinden kayıtlıysanız isteğe bağlıdır. Intlayer, ihtiyaçlarınız için en verimli ve maliyet-etkin AI çözümünü otomatik olarak yönetecektir. Varsayılan seçenekleri kullanmak, Intlayer'ın en uygun modelleri kullanmak için sürekli güncellenmesi nedeniyle uzun vadeli bakım kolaylığı sağlar.
912
-
913
- Kendi API anahtarınızı veya belirli bir modeli kullanmayı tercih ediyorsanız, özel AI yapılandırmanızı tanımlayabilirsiniz.
914
- Bu AI yapılandırması, Intlayer ortamınız genelinde kullanılacaktır. CLI komutları, bu ayarları komutlar için varsayılan olarak kullanacaktır (örneğin `fill`), ayrıca SDK, Görsel Editör ve CMS de bu ayarları kullanır. Belirli kullanım durumları için bu varsayılan değerleri komut parametreleriyle geçersiz kılabilirsiniz.
915
-
916
- Intlayer, artırılmış esneklik ve seçenek için birden fazla AI sağlayıcısını destekler. Şu anda desteklenen sağlayıcılar şunlardır:
917
-
918
- - **OpenAI** (varsayılan)
919
- - **Anthropic Claude**
920
- - **Mistral AI**
921
- - **DeepSeek**
922
- - **Google Gemini**
923
- - **Meta Llama**
924
- - **Ollama**
925
- - **OpenRouter**
926
- - **Alibaba Cloud**
927
- - **Fireworks**
928
- - **Hugging Face**
929
- - **Groq**
930
- - **Amazon Bedrock**
931
- - **Google AI Studio**
932
- - **Google Vertex**
933
- - **Together.ai**
934
- - **ollama**
935
-
936
- #### Özellikler
937
-
938
- - **provider**:
939
- - _Tür_: `string`
940
- - _Varsayılan_: `'openai'`
941
- - _Açıklama_: Intlayer'ın AI özellikleri için kullanılacak sağlayıcı.
942
- - _Seçenekler_: `'openai'`, `'anthropic'`, `'mistral'`, `'deepseek'`, `'gemini'`, `'ollama'`, `'openrouter'`, `'alibaba'`, `'fireworks'`, `'groq'`, `'huggingface'`, `'bedrock'`, `'googleaistudio'`, `'googlevertex'`, `'togetherai'`
943
- - _Örnek_: `'anthropic'`
944
- - _Not_: Farklı sağlayıcılar farklı API anahtarları gerektirebilir ve farklı fiyatlandırma modellerine sahip olabilir.
945
-
946
- - **model**:
947
- - _Tür_: `string`
948
- - _Varsayılan_: Yok
949
- - _Açıklama_: Intlayer'ın yapay zeka özellikleri için kullanılacak model.
950
- - _Örnek_: `'gpt-4o-2024-11-20'`
951
- - _Not_: Kullanılacak spesifik model sağlayıcıya göre değişir.
952
-
953
- - **temperature**:
954
- - _Tür_: `number`
955
- - _Varsayılan_: Yok
956
- - _Açıklama_: Sıcaklık, yapay zekanın yanıtlarının rastgeleliğini kontrol eder.
957
- - _Örnek_: `0.1`
958
- - _Not_: Daha yüksek bir sıcaklık, yapay zekayı daha yaratıcı ve daha az tahmin edilebilir yapar.
959
-
960
- - **apiKey**:
961
- - _Tür_: `string`
962
- - _Varsayılan_: Yok
963
- - _Açıklama_: Seçilen sağlayıcı için API anahtarınız.
964
- - _Not_: Önemli: API anahtarları gizli tutulmalı ve kamuya açık şekilde paylaşılmamalıdır. Lütfen bunları ortam değişkenleri gibi güvenli bir yerde sakladığınızdan emin olun.
965
-
966
- - **applicationContext**:
967
- - _Tür_: `string`
968
- - _Varsayılan_: Yok
969
- - _Açıklama_: AI modeline uygulamanız hakkında ek bağlam sağlar, böylece daha doğru ve bağlama uygun çeviriler oluşturmasına yardımcı olur. Bu, uygulamanızın alanı, hedef kitlesi, tonu veya belirli terminolojisi hakkında bilgiler içerebilir.
970
-
971
- - **baseURL**:
972
- - _Tür_: `string`
973
- - _Varsayılan_: Yok
974
- - _Açıklama_: AI API için temel URL.
975
- - _Örnek_: `'https://api.openai.com/v1'`
976
- - _Not_: Yerel veya özel bir AI API uç noktasını işaret etmek için kullanılabilir.
977
-
978
- - **dataSerialization**:
979
- - _Tür_: `'json' | 'toon'`
980
- - _Varsayılan_: `'json'`
981
- - _Açıklama_: Intlayer'ın AI özellikleri için kullanılacak veri serileştirme formatı.
982
- - _Örnek_: `'toon'`
983
- - _Not_: `json`: Standart, güvenilir; daha fazla jeton kullanır. `toon`: Daha az jeton, JSON'dan daha az tutarlı.
984
-
985
- ### Derleme Yapılandırması
986
-
987
- Intlayer'ın uygulamanızın uluslararasılaştırmasını nasıl optimize edip derleyeceğini kontrol eden ayarlar.
988
-
989
- Derleme seçenekleri `@intlayer/babel` ve `@intlayer/swc` eklentilerine uygulanır.
990
-
991
- > Geliştirme modunda, Intlayer geliştirme deneyimini basitleştirmek için sözlüklerde statik importlar kullanır.
992
-
993
- > Optimize edildiğinde, Intlayer chunking'i optimize etmek için sözlük çağrılarını değiştirir, böylece nihai paket yalnızca gerçekten kullanılan sözlükleri import eder.
994
-
995
- #### Özellikler
996
-
997
- - **mode**:
998
- - _Tür_: `'auto' | 'manual'`
999
- - _Varsayılan_: `'auto'`
1000
- - _Açıklama_: Derleme modunu kontrol eder.
1001
- - _Örnek_: `'manual'`
1002
- - _Not_: 'auto' ise, uygulama derlendiğinde derleme otomatik olarak etkinleştirilir.
1003
- - _Not_: 'manual' ise, derleme yalnızca derleme komutu çalıştırıldığında ayarlanır.
1004
- - _Not_: Sözlük derlemesini devre dışı bırakmak için kullanılabilir, örneğin Node.js ortamında yürütmeden kaçınılması gerektiğinde.
1005
-
1006
- - **checkTypes**:
1007
- - _Tip_: `boolean`
1008
- - _Varsayılan_: `false`
1009
- - _Açıklama_: Derlemenin TypeScript türlerini kontrol edip etmeyeceğini ve hataları kaydedip kaydetmeyeceğini belirtir.
1010
- - _Not_: Bu, derleme işlemini yavaşlatabilir.
1011
-
1012
- - **optimize**:
1013
- - _Tür_: `boolean`
1014
- - _Varsayılan_: `process.env.NODE_ENV === 'production'`
1015
- - _Açıklama_: Derlemenin optimize edilip edilmeyeceğini kontrol eder.
1016
- - _Örnek_: `true`
1017
- - _Not_: Etkinleştirildiğinde, Intlayer chunking'i optimize etmek için tüm sözlük çağrılarını değiştirir. Böylece nihai paket yalnızca kullanılan sözlükleri import eder. Tüm importlar, sözlüklerin yüklenmesi sırasında asenkron işlemi önlemek için statik import olarak kalır.
1018
- - _Not_: Intlayer, `useIntlayer` çağrılarının tümünü `importMode` seçeneği ile tanımlanan moda ve `getIntlayer` çağrılarını `getDictionary` ile değiştirir.
1019
- - _Not_: Bu seçenek `@intlayer/babel` ve `@intlayer/swc` eklentilerine dayanır.
1020
- - _Not_: `useIntlayer` çağrılarında tüm anahtarların statik olarak tanımlandığından emin olun. Örneğin `useIntlayer('navbar')`.
1021
-
1022
- - **outputFormat**:
1023
- - _Tür_: `'esm' | 'cjs'`
1024
- - _Varsayılan_: `'esm'`
1025
- - _Açıklama_: Sözlüklerin çıktı biçimini kontrol eder.
1026
- - _Örnek_: `'cjs'`
1027
- - _Not_: Sözlüklerin çıktı biçimi.
1028
-
1029
- - **traversePattern**:
1030
- - _Tür_: `string[]`
1031
- - _Varsayılan_: `['**\/*.{js,ts,mjs,cjs,jsx,tsx}', '!**\/node_modules/**']`
1032
- - _Açıklama_: Optimizasyon sırasında hangi dosyaların taranacağını tanımlayan desenler.
1033
- - _Örnek_: `['src/**\/*.{ts,tsx}', '../ui-library/**\/*.{ts,tsx}', '!**/node_modules/**']`
1034
- - _Not_: Optimizasyonu ilgili kod dosyalarıyla sınırlamak ve derleme performansını artırmak için bunu kullanın.
1035
- - _Not_: Bu seçenek `optimize` devre dışı bırakılırsa dikkate alınmaz.
1036
- - _Not_: Glob deseni kullanın.
869
+ ### Sistem Yapılandırması (System Configuration)
870
+
871
+ Bu ayarlar gelişmiş kullanım durumları ve Intlayer'ın dahili yapılandırması içindir.
872
+
873
+ | Alan | Tür | Açıklama | Varsayılan |
874
+ | ------------------------- | -------- | ---------------------------------------- | --------------------------------- |
875
+ | `dictionariesDir` | `string` | Derlenmiş sözlükler dizini. | `'.intlayer/dictionary'` |
876
+ | `moduleAugmentationDir` | `string` | TypeScript modül genişletme dizini. | `'.intlayer/types'` |
877
+ | `unmergedDictionariesDir` | `string` | Birleştirilmemiş sözlükler dizini. | `'.intlayer/unmerged_dictionary'` |
878
+ | `typesDir` | `string` | Oluşturulan türler dizini. | `'.intlayer/types'` |
879
+ | `mainDir` | `string` | Ana Intlayer dosyası dizini. | `'.intlayer/main'` |
880
+ | `configDir` | `string` | Derlenmiş yapılandırma dosyaları dizini. | `'.intlayer/config'` |
881
+ | `cacheDir` | `string` | Önbellek dosyaları dizini. | `'.intlayer/cache'` |
1037
882
 
1038
883
  ---
1039
884
 
1040
- ### Derleyici Yapılandırması
1041
-
1042
- Sözlükleri doğrudan bileşenlerinizden çıkaran Intlayer derleyicisini kontrol eden ayarlar.
1043
-
1044
- #### Özellikler
1045
-
1046
- - **enabled**:
1047
- - _Tür_: `boolean | 'build-only'`
1048
- - _Varsayılan_: `true`
1049
- - _Açıklama_: Sözlükleri çıkarmak için derleyicinin etkinleştirilip etkinleştirilmeyeceğini belirtir.
1050
- - _Örnek_: `'build-only'`
1051
- - _Not_: `'build-only'` olarak ayarlanması, derleme sürelerini hızlandırmak için geliştirme modu sırasında derleyiciyi atlayacaktır. Yalnızca derleme komutlarında çalışacaktır.
1052
-
1053
- - **dictionaryKeyPrefix**:
1054
- - _Tür_: `string`
1055
- - _Varsayılan_: `''`
1056
- - _Açıklama_: Çıkarılan sözlük anahtarları için önek.
1057
- - _Örnek_: `'my-key-'`
1058
- - _Not_: Sözlükler çıkarıldığında, anahtar dosya adına göre oluşturulur. Bu önek, çakışmaları önlemek için oluşturulan anahtara eklenir.
1059
-
1060
- - **saveComponents**:
1061
- - _Tür_: `boolean`
1062
- - _Varsayılan_: `false`
1063
- - _Açıklama_: Bileşenlerin dönüştürüldükten sonra kaydedilip kaydedilmeyeceğini belirtir.
1064
- - _Not_: Doğruysa, derleyici orijinal dosyaları dönüştürülmüş dosyalarla değiştirecektir. Bu şekilde, derleyici uygulamayı dönüştürmek için yalnızca bir kez çalıştırılabilir ve ardından kaldırılabilir.
1065
-
1066
- - **transformPattern**:
1067
- - _Tür_: `string | string[]`
1068
- - _Varsayılan_: `['**/*.{ts,tsx,jsx,js,cjs,mjs,svelte,vue}', '!**/node_modules/**']`
1069
- - _Açıklama_: Optimizasyon sırasında hangi dosyaların taranacağını tanımlayan desenler.
1070
- - _Örnek_: `['src/**/*.{ts,tsx}', '!**/node_modules/**']`
1071
- - _Not_: Optimizasyonu ilgili kod dosyalarıyla sınırlamak ve derleme performansını artırmak için bunu kullanın.
1072
-
1073
- - **excludePattern**:
1074
- - _Tür_: `string | string[]`
1075
- - _Varsayılan_: `['**/node_modules/**']`
1076
- - _Açıklama_: Optimizasyon sırasında hangi dosyaların hariç tutulacağını tanımlayan desenler.
1077
- - _Örnek_: `['**/node_modules/**', '!**/node_modules/react/**']`
1078
-
1079
- - **output**:
1080
- - _Tür_: `FilePathPattern`
1081
- - _Varsayılan_: `undefined`
1082
- - _Açıklama_: Çıktı dosyalarının yolunu tanımlar. `outputDir` yerine geçer. Şablon dizeleri veya bir fonksiyon aracılığıyla dinamik değişkenleri işler. Desteklenen değişkenler: `{{fileName}}`, `{{key}}`, `{{locale}}`, `{{extension}}`, `{{componentFileName}}`, `{{componentExtension}}`, `{{format}}`, `{{componentFormat}}` ve `{{componentDirPath}}`.
1083
- - _Not_: `./` ile başlayan yollar bileşen dizinine göre çözümlenir. `/` ile başlayan yollar projenin kök dizinine (`baseDir`) göre çözümlenir.
1084
- - _Not_: Yola `{{locale}}` değişkenini dahil etmek, dile göre ayrılmış sözlüklerin oluşturulmasını etkinleştirir.
1085
- - _Örnek_:
1086
- - **Bileşenin yanında çok dilli dosyalar oluşturun**:
1087
- - Dize: `'./{{fileName}}{{extension}}'`
1088
- - Fonksiyon: `({ fileName, extension }) => \`./${fileName}${extension}\``
1089
-
1090
- - **Dil başına merkezi JSON dosyaları çıktılayın**:
1091
- - Dize: `'/locales/{{locale}}/{{key}}.content.json'`
1092
- - Fonksiyon: `({ key, locale }) => \`/locales/${locale}/${key}.content.json\``
1093
-
1094
- - **noMetadata**:
1095
- - _Tür_: `boolean`
1096
- - _Varsayılan_: `false`
1097
- - _Açıklama_: Meta verilerin dosyaya kaydedilip kaydedilmeyeceğini belirtir. Doğruysa, derleyici sözlüklerin meta verilerini (anahtar, içerik sarmalayıcı) kaydetmez. Dil başına i18next veya ICU MessageFormat JSON çıktıları için kullanışlıdır.
1098
- - _Not_: `loadJSON` eklentisi ile kullanıldığında kullanışlıdır.
1099
- - _Örnek_:
1100
- Eğer `true` ise :
1101
- ```json
1102
- {
1103
- "key": "value"
1104
- }
1105
- ```
1106
- Eğer `false` ise :
1107
- ```json
1108
- {
1109
- "key": "value",
1110
- "content": {
1111
- "key": "value"
1112
- }
1113
- }
1114
- ```
885
+ ### Derleyici Yapılandırması (Compiler Configuration)
886
+
887
+ Intlayer derleyicisi (`intlayer compiler`) için ayarlar.
888
+
889
+ | Alan | Tür | Açıklama | Varsayılan |
890
+ | --------------------- | ------------------------ | ----------------------------------------------------------------------------------------------- | ---------- |
891
+ | `enabled` | `boolean` | Derleyicinin aktif olup olmadığını belirtir. | `false` |
892
+ | `output` | `string &#124; Function` | Ayıklanan sözlükler için çıktı yolu. | |
893
+ | `saveComponents` | `boolean` | Orijinal kaynak dosyaların dönüştürülmüş sürümlerle değiştirilip değiştirilmeyeceğini belirtir. | `false` |
894
+ | `noMetadata` | `boolean` | `true` ise, derleyici oluşturulan dosyalara meta verileri dahil etmez. | `false` |
895
+ | `dictionaryKeyPrefix` | `string` | İsteğe bağlı sözlük anahtarı ön eki. | `''` |
896
+
897
+ ---
898
+
899
+ ### Günlükçü Yapılandırması (Logger Configuration)
900
+
901
+ Intlayer günlük çıktısını özelleştirmek için ayarlar.
902
+
903
+ | Alan | Tür | Açıklama | Varsayılan |
904
+ | -------- | ---------------------------------------------- | --------------------- | -------------- |
905
+ | `mode` | `'default' &#124; 'verbose' &#124; 'disabled'` | Günlükleme modu. | `'default'` |
906
+ | `prefix` | `string` | Günlük mesajı ön eki. | `'[intlayer]'` |
907
+
908
+ ---
909
+
910
+ ### Özel Şemalar (Custom Schemas)
911
+
912
+ | Alan | Tür | Açıklama |
913
+ | --------- | --------------------------- | --------------------------------------------------------------------------------- |
914
+ | `schemas` | `Record<string, ZodSchema>` | Sözlüklerinizin yapısını doğrulamak için Zod şemaları tanımlamanıza olanak tanır. |
915
+
916
+ ---
917
+
918
+ ### Eklentiler (Plugins)
919
+
920
+ | Alan | Tür | Açıklama |
921
+ | --------- | ------------------ | -------------------------------------------------- |
922
+ | `plugins` | `IntlayerPlugin[]` | Etkinleştirilecek Intlayer eklentilerinin listesi. |