@intlayer/docs 8.4.7 → 8.4.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/ar/configuration.md +958 -0
- package/docs/cs/configuration.md +958 -0
- package/docs/de/configuration.md +958 -0
- package/docs/en-GB/configuration.md +957 -0
- package/docs/es/configuration.md +161 -133
- package/docs/fr/configuration.md +137 -109
- package/docs/it/configuration.md +958 -0
- package/docs/ja/configuration.md +958 -0
- package/docs/nl/configuration.md +958 -0
- package/docs/pt/configuration.md +958 -0
- package/docs/ru/configuration.md +958 -0
- package/docs/tr/configuration.md +958 -0
- package/package.json +6 -6
|
@@ -0,0 +1,958 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2024-08-13
|
|
3
|
+
updatedAt: 2026-03-20
|
|
4
|
+
title: Yapılandırma (Configuration)
|
|
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 çeşitli ayarları ve seçenekleri anlayın.
|
|
6
|
+
keywords:
|
|
7
|
+
- Yapılandırma
|
|
8
|
+
- Ayarlar
|
|
9
|
+
- Özelleştirme
|
|
10
|
+
- Intlayer
|
|
11
|
+
- Seçenekler
|
|
12
|
+
slugs:
|
|
13
|
+
- doc
|
|
14
|
+
- concept
|
|
15
|
+
- configuration
|
|
16
|
+
history:
|
|
17
|
+
- version: 8.4.0
|
|
18
|
+
date: 2026-03-20
|
|
19
|
+
changes: 'compiler.output' ve 'dictionary.fill' için dil başına nesne notasyonu eklendi
|
|
20
|
+
- version: 8.3.0
|
|
21
|
+
date: 2026-03-11
|
|
22
|
+
changes: 'baseDir', 'content' yapılandırmasından 'system' yapılandırmasına taşındı
|
|
23
|
+
- version: 8.2.0
|
|
24
|
+
date: 2026-03-09
|
|
25
|
+
changes: Derleyici seçenekleri güncellendi, 'output' ve 'noMetadata' desteği eklendi
|
|
26
|
+
- version: 8.1.7
|
|
27
|
+
date: 2026-02-25
|
|
28
|
+
changes: Derleyici seçenekleri güncellendi
|
|
29
|
+
- version: 8.1.5
|
|
30
|
+
date: 2026-02-23
|
|
31
|
+
changes: 'build-only' derleyici seçeneği ve sözlük öneki eklendi
|
|
32
|
+
- version: 8.0.6
|
|
33
|
+
date: 2026-02-12
|
|
34
|
+
changes: Open Router, Alibaba, Amazon, Google Vertex Bedrock, Fireworks, Groq, Hugging Face ve Together.ai sağlayıcıları için destek eklendi
|
|
35
|
+
- version: 8.0.5
|
|
36
|
+
date: 2026-02-06
|
|
37
|
+
changes: Yapay Zeka yapılandırmasına `dataSerialization` eklendi
|
|
38
|
+
- version: 8.0.0
|
|
39
|
+
date: 2026-01-24
|
|
40
|
+
changes: Alttaki 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: `importMode` derleme yapılandırması `dictionary` yapılandırmasına taşındı.
|
|
44
|
+
- version: 8.0.0
|
|
45
|
+
date: 2026-01-22
|
|
46
|
+
changes: Yönlendirme yapılandırmasına `rewrite` seçeneği eklendi
|
|
47
|
+
- version: 8.0.0
|
|
48
|
+
date: 2026-01-18
|
|
49
|
+
changes: Sistem yapılandırması içerik yapılandırmasından ayrıldı. Dahili yollar `system` özelliğine taşındı. İçerik dosyalarını kod dönüşümünden ayırmak için `codeDir` eklendi.
|
|
50
|
+
- version: 8.0.0
|
|
51
|
+
date: 2026-01-18
|
|
52
|
+
changes: `location` ve `schema` sözlük seçenekleri eklendi
|
|
53
|
+
- version: 7.5.1
|
|
54
|
+
date: 2026-01-10
|
|
55
|
+
changes: JSON5 ve JSONC dosya formatları için destek eklendi
|
|
56
|
+
- version: 7.5.0
|
|
57
|
+
date: 2025-12-17
|
|
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`, `routing` yapılandırması 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
|
|
74
|
+
- version: 6.0.0
|
|
75
|
+
date: 2025-09-21
|
|
76
|
+
changes: `dictionaryOutput` alanı ve `i18nextResourcesDir` alanı kaldırıldı
|
|
77
|
+
- version: 6.0.0
|
|
78
|
+
date: 2025-09-16
|
|
79
|
+
changes: `live` içe aktarma modu eklendi
|
|
80
|
+
- version: 6.0.0
|
|
81
|
+
date: 2025-09-04
|
|
82
|
+
changes: `hotReload` alanı `liveSync` ile değiştirildi ve `liveSyncPort` ile `liveSyncURL` alanları eklendi
|
|
83
|
+
- version: 5.6.1
|
|
84
|
+
date: 2025-07-25
|
|
85
|
+
changes: `activateDynamicImport`, `importMode` seçeneği ile değiştirildi
|
|
86
|
+
- version: 5.6.0
|
|
87
|
+
date: 2025-07-13
|
|
88
|
+
changes: Varsayılan `contentDir`, `['src']` yerine `['.']` olarak değiştirildi
|
|
89
|
+
- version: 5.5.11
|
|
90
|
+
date: 2025-06-29
|
|
91
|
+
changes: `docs` komutları eklendi
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
# Intlayer Yapılandırma Belgeleri
|
|
95
|
+
|
|
96
|
+
## Genel Bakış
|
|
97
|
+
|
|
98
|
+
Intlayer yapılandırma dosyaları, uluslararasılaştırma, ara yazılım (middleware) ve içerik yönetimi gibi eklentinin çeşitli yönlerini özelleştirmenize olanak tanır. Bu belge, yapılandırmadaki her özelliğin ayrıntılı bir açıklamasını sunar.
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## İçindekiler
|
|
103
|
+
|
|
104
|
+
<TOC/>
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Yapılandırma Dosyası Desteği
|
|
109
|
+
|
|
110
|
+
Intlayer, JSON, JS, MJS ve TS yapılandırma dosyası formatlarını kabul eder:
|
|
111
|
+
|
|
112
|
+
- `intlayer.config.ts`
|
|
113
|
+
- `intlayer.config.js`
|
|
114
|
+
- `intlayer.config.json`
|
|
115
|
+
- `intlayer.config.json5`
|
|
116
|
+
- `intlayer.config.jsonc`
|
|
117
|
+
- `intlayer.config.cjs`
|
|
118
|
+
- `intlayer.config.mjs`
|
|
119
|
+
- `.intlayerrc`
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## Örnek Yapılandırma Dosyası
|
|
124
|
+
|
|
125
|
+
````typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
126
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
127
|
+
import { nextjsRewrite } from "intlayer/routing";
|
|
128
|
+
import { z } from "zod";
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Mevcut tüm seçenekleri gösteren Intlayer yapılandırma dosyası örneği.
|
|
132
|
+
*/
|
|
133
|
+
const config: IntlayerConfig = {
|
|
134
|
+
/**
|
|
135
|
+
* Uluslararasılaştırma ayarları için yapılandırma.
|
|
136
|
+
*/
|
|
137
|
+
internationalization: {
|
|
138
|
+
/**
|
|
139
|
+
* Uygulamada desteklenen dillerin listesi.
|
|
140
|
+
* Varsayılan: [Locales.ENGLISH]
|
|
141
|
+
*/
|
|
142
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Her sözlükte tanımlanması gereken zorunlu dillerin listesi.
|
|
146
|
+
* Boşsa, `strict` modda tüm diller zorunludur.
|
|
147
|
+
* Varsayılan: []
|
|
148
|
+
*/
|
|
149
|
+
requiredLocales: [Locales.ENGLISH],
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Uluslararasılaştırılmış içerik için katılık seviyesi.
|
|
153
|
+
* - "strict": Bildirilen bir dil eksikse veya bildirilmemişse hata verir.
|
|
154
|
+
* - "inclusive": Bildirilen bir dil eksikse uyarı verir.
|
|
155
|
+
* - "loose": Mevcut herhangi bir dili kabul eder.
|
|
156
|
+
* Varsayılan: "inclusive"
|
|
157
|
+
*/
|
|
158
|
+
strictMode: "inclusive",
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* İstenen dil bulunamadığında geri dönüş (fallback) olarak kullanılan varsayılan dil.
|
|
162
|
+
* Varsayılan: Locales.ENGLISH
|
|
163
|
+
*/
|
|
164
|
+
defaultLocale: Locales.ENGLISH,
|
|
165
|
+
},
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Sözlük işlemlerini ve geri dönüş davranışını kontrol eden ayarlar.
|
|
169
|
+
*/
|
|
170
|
+
dictionary: {
|
|
171
|
+
/**
|
|
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 getirilir.
|
|
176
|
+
* Varsayılan: "static"
|
|
177
|
+
*/
|
|
178
|
+
importMode: "static",
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Eksik çevirileri yapay zeka kullanarak otomatik doldurma stratejisi.
|
|
182
|
+
* Bir boolean değer veya doldurulan içeriği saklamak için bir yol kalıbı olabilir.
|
|
183
|
+
* Varsayılan: true
|
|
184
|
+
*/
|
|
185
|
+
fill: true,
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Sözlük dosyalarının fiziksel konumu.
|
|
189
|
+
* - "local": Yerel dosya sisteminde saklanır.
|
|
190
|
+
* - "remote": Intlayer CMS'de saklanır.
|
|
191
|
+
* - "hybrid": Hem yerel dosya sisteminde hem de Intlayer CMS'de saklanır.
|
|
192
|
+
* - "plugin" (veya herhangi bir özel dize): Bir eklenti veya özel bir kaynak tarafından sağlanır.
|
|
193
|
+
* Varsayılan: "local"
|
|
194
|
+
*/
|
|
195
|
+
location: "local",
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* İçeriklerin otomatik olarak dönüştürülüp dönüştürülmeyeceği (örneğin Markdown'dan HTML'e).
|
|
199
|
+
* Varsayılan: false
|
|
200
|
+
*/
|
|
201
|
+
contentAutoTransformation: false,
|
|
202
|
+
},
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Yönlendirme ve ara yazılım yapılandırması.
|
|
206
|
+
*/
|
|
207
|
+
routing: {
|
|
208
|
+
/**
|
|
209
|
+
* Dil yönlendirme stratejisi.
|
|
210
|
+
* - "prefix-no-default": Varsayılan dil dışındaki tüm diller için önek (örneğin /dashboard, /fr/dashboard).
|
|
211
|
+
* - "prefix-all": Tüm diller için önek (örneğin /en/dashboard, /fr/dashboard).
|
|
212
|
+
* - "no-prefix": URL'de dil yok.
|
|
213
|
+
* - "search-params": ?locale=... kullanır.
|
|
214
|
+
* Varsayılan: "prefix-no-default"
|
|
215
|
+
*/
|
|
216
|
+
mode: "prefix-no-default",
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* Kullanıcının seçtiği dilin nerede saklanacağı.
|
|
220
|
+
* Seçenekler: 'cookie', 'localStorage', 'sessionStorage', 'header' veya bunların bir dizisi.
|
|
221
|
+
* Varsayılan: ['cookie', 'header']
|
|
222
|
+
*/
|
|
223
|
+
storage: ["cookie", "header"],
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
* Uygulama URL'leri için temel yol.
|
|
227
|
+
* Varsayılan: ""
|
|
228
|
+
*/
|
|
229
|
+
basePath: "",
|
|
230
|
+
|
|
231
|
+
/**
|
|
232
|
+
* Dile özel yollar için özel URL yeniden yazma kuralları.
|
|
233
|
+
*/
|
|
234
|
+
rewrite: nextjsRewrite({
|
|
235
|
+
"/[locale]/about": {
|
|
236
|
+
en: "/[locale]/about",
|
|
237
|
+
fr: "/[locale]/a-propos",
|
|
238
|
+
},
|
|
239
|
+
}),
|
|
240
|
+
},
|
|
241
|
+
|
|
242
|
+
/**
|
|
243
|
+
* İçerik dosyalarını bulma ve işleme ayarları.
|
|
244
|
+
*/
|
|
245
|
+
content: {
|
|
246
|
+
/**
|
|
247
|
+
* Sözlükler için taranacak dosya uzantıları.
|
|
248
|
+
* Varsayılan: ['.content.ts', '.content.js', '.content.json', vb.]
|
|
249
|
+
*/
|
|
250
|
+
fileExtensions: [".content.ts", ".content.js", ".content.json"],
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* .content dosyalarının bulunduğu dizinler.
|
|
254
|
+
* Varsayılan: ["."]
|
|
255
|
+
*/
|
|
256
|
+
contentDir: ["src"],
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* Kaynak kodun bulunduğu dizin.
|
|
260
|
+
* Derleme optimizasyonu ve kod dönüşümü için kullanılır.
|
|
261
|
+
* Varsayılan: ["."]
|
|
262
|
+
*/
|
|
263
|
+
codeDir: ["src"],
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* Taramadan hariç tutulacak kalıplar.
|
|
267
|
+
* Varsayılan: ['node_modules', '.intlayer', vb.]
|
|
268
|
+
*/
|
|
269
|
+
excludedPath: ["node_modules"],
|
|
270
|
+
|
|
271
|
+
/**
|
|
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ştirmede true
|
|
274
|
+
*/
|
|
275
|
+
watch: true,
|
|
276
|
+
|
|
277
|
+
/**
|
|
278
|
+
* Yeni oluşturulan / güncellenen .content dosyalarını biçimlendirmek için komut.
|
|
279
|
+
*/
|
|
280
|
+
formatCommand: 'npx prettier --write "{{file}}"',
|
|
281
|
+
},
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* Görsel Editör yapılandırması.
|
|
285
|
+
*/
|
|
286
|
+
editor: {
|
|
287
|
+
/**
|
|
288
|
+
* Görsel editörün etkin olup olmadığı.
|
|
289
|
+
* Varsayılan: false
|
|
290
|
+
*/
|
|
291
|
+
enabled: true,
|
|
292
|
+
|
|
293
|
+
/**
|
|
294
|
+
* Kaynak doğrulaması için uygulamanızın URL'si.
|
|
295
|
+
* Varsayılan: ""
|
|
296
|
+
*/
|
|
297
|
+
applicationURL: "http://localhost:3000",
|
|
298
|
+
|
|
299
|
+
/**
|
|
300
|
+
* Yerel editör sunucusu için port.
|
|
301
|
+
* Varsayılan: 8000
|
|
302
|
+
*/
|
|
303
|
+
port: 8000,
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* Editör için genel URL.
|
|
307
|
+
* Varsayılan: "http://localhost:8000"
|
|
308
|
+
*/
|
|
309
|
+
editorURL: "http://localhost:8000",
|
|
310
|
+
|
|
311
|
+
/**
|
|
312
|
+
* Intlayer CMS URL'si.
|
|
313
|
+
* Varsayılan: "https://app.intlayer.org"
|
|
314
|
+
*/
|
|
315
|
+
cmsURL: "https://app.intlayer.org",
|
|
316
|
+
|
|
317
|
+
/**
|
|
318
|
+
* Arka uç API URL'si.
|
|
319
|
+
* Varsayılan: "https://back.intlayer.org"
|
|
320
|
+
*/
|
|
321
|
+
backendURL: "https://back.intlayer.org",
|
|
322
|
+
|
|
323
|
+
/**
|
|
324
|
+
* Gerçek zamanlı içerik senkronizasyonunun etkinleştirilip etkinleştirilmeyeceği.
|
|
325
|
+
* Varsayılan: false
|
|
326
|
+
*/
|
|
327
|
+
liveSync: true,
|
|
328
|
+
},
|
|
329
|
+
|
|
330
|
+
/**
|
|
331
|
+
* Yapay zeka destekli çeviri ve oluşturma ayarları.
|
|
332
|
+
*/
|
|
333
|
+
ai: {
|
|
334
|
+
/**
|
|
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'
|
|
338
|
+
*/
|
|
339
|
+
provider: "openai",
|
|
340
|
+
|
|
341
|
+
/**
|
|
342
|
+
* Seçilen sağlayıcıdan kullanılacak model.
|
|
343
|
+
*/
|
|
344
|
+
model: "gpt-4o",
|
|
345
|
+
|
|
346
|
+
/**
|
|
347
|
+
* Sağlayıcının API anahtarı.
|
|
348
|
+
*/
|
|
349
|
+
apiKey: process.env.OPENAI_API_KEY,
|
|
350
|
+
|
|
351
|
+
/**
|
|
352
|
+
* Çeviri oluştururken yapay zekaya rehberlik edecek küresel bağlam.
|
|
353
|
+
*/
|
|
354
|
+
applicationContext: "Bu bir seyahat rezervasyon uygulamasıdır.",
|
|
355
|
+
|
|
356
|
+
/**
|
|
357
|
+
* Yapay zeka API'si için temel URL.
|
|
358
|
+
*/
|
|
359
|
+
baseURL: "http://localhost:3000",
|
|
360
|
+
|
|
361
|
+
/**
|
|
362
|
+
* Veri Serileştirme
|
|
363
|
+
*
|
|
364
|
+
* Seçenekler:
|
|
365
|
+
* - "json": Varsayılan, güvenilir; daha fazla token tüketir.
|
|
366
|
+
* - "toon": Daha az token, JSON kadar tutarlı değil.
|
|
367
|
+
*
|
|
368
|
+
* Varsayılan: "json"
|
|
369
|
+
*/
|
|
370
|
+
dataSerialization: "json",
|
|
371
|
+
},
|
|
372
|
+
|
|
373
|
+
/**
|
|
374
|
+
* Derleme ve optimizasyon ayarları.
|
|
375
|
+
*/
|
|
376
|
+
build: {
|
|
377
|
+
/**
|
|
378
|
+
* Derleme yürütme modu.
|
|
379
|
+
* - "auto": Uygulama derlemesi sırasında otomatik derleme.
|
|
380
|
+
* - "manual": Açık bir derleme komutu gerektirir.
|
|
381
|
+
* Varsayılan: "auto"
|
|
382
|
+
*/
|
|
383
|
+
mode: "auto",
|
|
384
|
+
|
|
385
|
+
/**
|
|
386
|
+
* Kullanılmayan sözlükleri kaldırarak final paketinin optimize edilip edilmeyeceği.
|
|
387
|
+
* Varsayılan: Üretimde true
|
|
388
|
+
*/
|
|
389
|
+
optimize: true,
|
|
390
|
+
|
|
391
|
+
/**
|
|
392
|
+
* Oluşturulan sözlük dosyaları için çıktı formatı.
|
|
393
|
+
* Varsayılan: ['cjs', 'esm']
|
|
394
|
+
*/
|
|
395
|
+
outputFormat: ["cjs", "esm"],
|
|
396
|
+
|
|
397
|
+
/**
|
|
398
|
+
* Derlemenin TypeScript türlerini kontrol edip etmeyeceği.
|
|
399
|
+
* Varsayılan: false
|
|
400
|
+
*/
|
|
401
|
+
checkTypes: false,
|
|
402
|
+
},
|
|
403
|
+
|
|
404
|
+
/**
|
|
405
|
+
* Logger yapılandırması.
|
|
406
|
+
*/
|
|
407
|
+
log: {
|
|
408
|
+
/**
|
|
409
|
+
* Günlük kaydı seviyesi.
|
|
410
|
+
* - "default": Standart günlük kaydı.
|
|
411
|
+
* - "verbose": Ayrıntılı hata ayıklama günlüğü.
|
|
412
|
+
* - "disabled": Günlük kaydı yok.
|
|
413
|
+
* Varsayılan: "default"
|
|
414
|
+
*/
|
|
415
|
+
mode: "default",
|
|
416
|
+
|
|
417
|
+
/**
|
|
418
|
+
* Tüm günlük mesajları için önek.
|
|
419
|
+
* Varsayılan: "[intlayer]"
|
|
420
|
+
*/
|
|
421
|
+
prefix: "[intlayer]",
|
|
422
|
+
},
|
|
423
|
+
|
|
424
|
+
/**
|
|
425
|
+
* Sistem Yapılandırması (Gelişmiş Kullanım Durumları)
|
|
426
|
+
*/
|
|
427
|
+
system: {
|
|
428
|
+
/**
|
|
429
|
+
* Yerelleştirilmiş sözlükleri saklamak için dizin.
|
|
430
|
+
*/
|
|
431
|
+
dictionariesDir: ".intlayer/dictionary",
|
|
432
|
+
|
|
433
|
+
/**
|
|
434
|
+
* Modül genişletme (module augmentation) dizini.
|
|
435
|
+
*/
|
|
436
|
+
moduleAugmentationDir: ".intlayer/types",
|
|
437
|
+
|
|
438
|
+
/**
|
|
439
|
+
* Birleştirilmemiş sözlükleri saklamak için dizin.
|
|
440
|
+
*/
|
|
441
|
+
unmergedDictionariesDir: ".intlayer/unmerged_dictionary",
|
|
442
|
+
|
|
443
|
+
/**
|
|
444
|
+
* Sözlük türlerini saklamak için dizin.
|
|
445
|
+
*/
|
|
446
|
+
typesDir: ".intlayer/types",
|
|
447
|
+
|
|
448
|
+
/**
|
|
449
|
+
* Ana uygulama dosyalarının saklandığı dizin.
|
|
450
|
+
*/
|
|
451
|
+
mainDir: ".intlayer/main",
|
|
452
|
+
|
|
453
|
+
/**
|
|
454
|
+
* Yapılandırma dosyalarının saklandığı dizin.
|
|
455
|
+
*/
|
|
456
|
+
configDir: ".intlayer/config",
|
|
457
|
+
|
|
458
|
+
/**
|
|
459
|
+
* Önbellek dosyalarının saklandığı dizin.
|
|
460
|
+
*/
|
|
461
|
+
cacheDir: ".intlayer/cache",
|
|
462
|
+
},
|
|
463
|
+
|
|
464
|
+
/**
|
|
465
|
+
* Derleyici Yapılandırması (Gelişmiş Kullanım Durumları)
|
|
466
|
+
*/
|
|
467
|
+
compiler: {
|
|
468
|
+
/**
|
|
469
|
+
* Derleyicinin etkin olup olmayacağı.
|
|
470
|
+
*
|
|
471
|
+
* - false: Derleyiciyi devre dışı bırak.
|
|
472
|
+
* - true: Derleyiciyi etkinleştir.
|
|
473
|
+
* - "build-only": Başlangıç sürelerini hızlandırmak için geliştirme sırasında derleyiciyi atla.
|
|
474
|
+
*
|
|
475
|
+
* Varsayılan: false
|
|
476
|
+
*/
|
|
477
|
+
enabled: true,
|
|
478
|
+
|
|
479
|
+
/**
|
|
480
|
+
* Çıktı dosyaları için yolu belirler. `outputDir` yerine geçer.
|
|
481
|
+
*
|
|
482
|
+
* - `./` yolları bileşen dizinine göre çözümlenir.
|
|
483
|
+
* - `/` yolları proje köküne (`baseDir`) göre çözümlenir.
|
|
484
|
+
*
|
|
485
|
+
* - Yol içinde `{{locale}}` değişkeninin bulunması, dile göre ayrı sözlükler oluşturulmasını tetikler.
|
|
486
|
+
*
|
|
487
|
+
* Örnek:
|
|
488
|
+
* ```ts
|
|
489
|
+
* {
|
|
490
|
+
* // Bileşenin yanında çok dilli .content.ts dosyaları oluştur
|
|
491
|
+
* output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
492
|
+
*
|
|
493
|
+
* // output: './{{fileName}}{{extension}}', // Şablon dizesi kullanarak eşdeğer
|
|
494
|
+
* }
|
|
495
|
+
* ```
|
|
496
|
+
*
|
|
497
|
+
* ```ts
|
|
498
|
+
* {
|
|
499
|
+
* // Proje kökünde dile göre merkezileştirilmiş JSON'lar oluştur
|
|
500
|
+
* output: ({ key, locale }) => `/locales/${locale}/${key}.content.json`,
|
|
501
|
+
*
|
|
502
|
+
* // output: '/locales/{{locale}}/{{key}}.content.json', // Şablon dizesi kullanarak eşdeğer
|
|
503
|
+
* }
|
|
504
|
+
* ```
|
|
505
|
+
*
|
|
506
|
+
* Değişken Listesi:
|
|
507
|
+
* - `fileName`: Dosya adı.
|
|
508
|
+
* - `key`: İçerik anahtarı.
|
|
509
|
+
* - `locale`: İçerik dili (locale).
|
|
510
|
+
* - `extension`: Dosya uzantısı.
|
|
511
|
+
* - `componentFileName`: Bileşen dosya adı.
|
|
512
|
+
* - `componentExtension`: Bileşen dosya uzantısı.
|
|
513
|
+
* - `format`: Sözlük formatı.
|
|
514
|
+
* - `componentFormat`: Bileşen sözlük formatı.
|
|
515
|
+
* - `componentDirPath`: Bileşen dizin yolu.
|
|
516
|
+
*/
|
|
517
|
+
output: ({ locale, key }) => `compiler/${locale}/${key}.json`,
|
|
518
|
+
|
|
519
|
+
/**
|
|
520
|
+
* Dönüştürüldükten sonra bileşenlerin kaydedilip kaydedilmeyeceği.
|
|
521
|
+
* Bu sayede derleyici uygulamayı dönüştürmek için yalnızca bir kez çalıştırılabilir ve ardından kaldırılabilir.
|
|
522
|
+
*/
|
|
523
|
+
saveComponents: false,
|
|
524
|
+
|
|
525
|
+
/**
|
|
526
|
+
* Oluşturulan dosyaya yalnızca içeriği ekle. Dile göre i18next veya ICU MessageFormat JSON çıktıları için yararlıdır.
|
|
527
|
+
*/
|
|
528
|
+
noMetadata: false,
|
|
529
|
+
|
|
530
|
+
/**
|
|
531
|
+
* Sözlük anahtar öneki
|
|
532
|
+
*/
|
|
533
|
+
dictionaryKeyPrefix: "", // Çıkarılan sözlük anahtarları için isteğe bağlı önek ekleyin
|
|
534
|
+
},
|
|
535
|
+
|
|
536
|
+
/**
|
|
537
|
+
* Sözlüklerin içeriğini doğrulamak için özel şemalar.
|
|
538
|
+
*/
|
|
539
|
+
schemas: {
|
|
540
|
+
"my-schema": z.object({
|
|
541
|
+
title: z.string(),
|
|
542
|
+
}),
|
|
543
|
+
},
|
|
544
|
+
|
|
545
|
+
/**
|
|
546
|
+
* Eklenti yapılandırması.
|
|
547
|
+
*/
|
|
548
|
+
plugins: [],
|
|
549
|
+
};
|
|
550
|
+
|
|
551
|
+
export default config;
|
|
552
|
+
````
|
|
553
|
+
|
|
554
|
+
---
|
|
555
|
+
|
|
556
|
+
## Yapılandırma Referansı
|
|
557
|
+
|
|
558
|
+
Aşağıdaki bölümler Intlayer için mevcut olan çeşitli yapılandırma ayarlarını açıklamaktadır.
|
|
559
|
+
|
|
560
|
+
---
|
|
561
|
+
|
|
562
|
+
### Uluslararasılaştırma Yapılandırması
|
|
563
|
+
|
|
564
|
+
Mevcut diller ve uygulama için varsayılan dil de dahil olmak üzere uluslararasılaştırma ile ilgili ayarları tanımlar.
|
|
565
|
+
|
|
566
|
+
| Alan | Açıklama | Tür | Varsayılan | Örnek | Not |
|
|
567
|
+
| ---------------- | -------------------------------------------------------------------------------------------------- | ---------- | ------------------- | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
568
|
+
| `locales` | Uygulamada desteklenen dillerin listesi. | `string[]` | `[Locales.ENGLISH]` | `['en', 'fr', 'es']` | |
|
|
569
|
+
| `requiredLocales` | Uygulamada gerekli olan dillerin listesi. | `string[]` | `[]` | `[]` | • Boşsa, `strict` modda tüm diller gereklidir.<br/>• Gerekli dillerin `locales` alanında da tanımlandığından emin olun. |
|
|
570
|
+
| `strictMode` | TypeScript kullanarak uluslararasılaştırılmış içeriğin sağlam uygulamalarını sağlar. | `string` | `'inclusive'` | | • `"strict"` ise: `t` fonksiyonu bildirilen her dilin tanımlanmış olmasını gerektirir — eksikse veya bildirilmemişse hata verir.<br/>• `"inclusive"` ise: Eksik diller için uyarı verir ancak bildirilmeyenlerin kullanımına izin verir.<br/>• `"loose"` ise: Mevcut herhangi bir dili kabul eder. |
|
|
571
|
+
| `defaultLocale` | İstenen dil bulunamadığında geri dönüş olarak kullanılan varsayılan dil. | `string` | `Locales.ENGLISH` | `'en'` | URL'de, tanımlama bilgisinde (cookie) veya üstbilgide (header) belirtilmediğinde dili belirlemek için kullanılır. |
|
|
572
|
+
|
|
573
|
+
---
|
|
574
|
+
|
|
575
|
+
### Editör Yapılandırması
|
|
576
|
+
|
|
577
|
+
Sunucu portu ve etkinleştirme durumu dahil olmak üzere yerleşik görsel editör ayarlarını tanımlar.
|
|
578
|
+
|
|
579
|
+
| Alan | Açıklama | Tür | Varsayılan | Örnek | Not |
|
|
580
|
+
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------- | ----------------------------------- | ----------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
581
|
+
| `applicationURL` | Uygulamanın URL'si. | `string` | `undefined` | `'http://localhost:3000'` <br/> `'https://example.com'` <br/> `process.env.INTLAYER_EDITOR_URL` | • Güvenlik nedeniyle editörün kaynağını kısıtlamak için kullanılır.<br/>• `'*'` olarak ayarlanırsa, editöre herhangi bir kaynaktan erişilebilir. |
|
|
582
|
+
| `port` | Görsel editör sunucusu tarafından kullanılan port. | `number` | `8000` | | |
|
|
583
|
+
| `editorURL` | Editör sunucusunun URL'si. | `string` | `'http://localhost:8000'` | `'http://localhost:3000'` <br/> `'https://example.com'` <br/> `process.env.INTLAYER_EDITOR_URL` | • Uygulama ile etkileşime girebilecek kaynakları kısıtlamak için kullanılır.<br/>• `'*'` olarak ayarlanırsa, herhangi bir kaynaktan erişilebilir.<br/>• Port değiştirilirse veya editör farklı bir alanda barındırılıyorsa ayarlanmalıdır. |
|
|
584
|
+
| `cmsURL` | Intlayer CMS URL'si. | `string` | `'https://app.intlayer.org'` | `'https://app.intlayer.org'` | |
|
|
585
|
+
| `backendURL` | Arka uç sunucusunun URL'si. | `string` | `https://back.intlayer.org` | `http://localhost:4000` | |
|
|
586
|
+
| `enabled` | Uygulamanın görsel editörle etkileşime girip girmeyeceği. | `boolean` | `false` | `process.env.NODE_ENV !== 'production'` | • `false` ise editör uygulama ile etkileşime giremez.<br/>• Belirli ortamlar için devre dışı bırakmak güvenliği artırır. |
|
|
587
|
+
| `clientId` | intlayer paketlerinin oAuth2 üzerinden arka uç ile kimlik doğrulaması yapmasına olanak tanır. Erişim belirteci almak için [intlayer.org/project](https://app.intlayer.org/project) adresine gidin. | `string` | <br/> `undefined` | `undefined` | | Gizli tutulmalıdır; ortam değişkenlerinde saklayın. |
|
|
588
|
+
| `clientSecret` | intlayer paketlerinin oAuth2 üzerinden arka uç ile kimlik doğrulaması yapmasına olanak tanır. Erişim belirteci almak için [intlayer.org/project](https://app.intlayer.org/project) adresine gidin. | `string` | <br/> `undefined` | `undefined` | | Gizli tutulmalıdır; ortam değişkenlerinde saklayın. |
|
|
589
|
+
| `dictionaryPriorityStrategy` | Hem yerel hem de uzak sözlükler mevcut olduğunda sözlüklere öncelik verme stratejisi. | `string` | `'local_first'` | `'distant_first'` | • `'distant_first'`: uzak sözlüklere yerellere göre öncelik verir.<br/>• `'local_first'`: yerellere uzaklara göre öncelik verir. |
|
|
590
|
+
| `liveSync` | CMS <br/> Görsel Editör <br/> Arka Uç'ta bir değişiklik algılandığında uygulama sunucusunun içeriği anında yeniden yükleyip yüklemeyeceği. | `boolean` | `true` | `true` | • Bir sözlük eklendiğinde/güncellendiğinde uygulama sayfa içeriğini yeniler.<br/>• Live Sync, içeriği başka bir sunucuya taşır ve bu performansı biraz etkileyebilir.<br/>• Her ikisinin de aynı makinede barındırılması önerilir. |
|
|
591
|
+
| `liveSyncPort` | Live Sync sunucusunun portu. | `number` | `4000` | `4000` | |
|
|
592
|
+
| `liveSyncURL` | Live Sync sunucusunun URL'si. | `string` | `'http://localhost:{liveSyncPort}'` | `'https://example.com'` | Varsayılan olarak localhost'u gösterir; uzak bir Live Sync sunucusu için değiştirilebilir. |
|
|
593
|
+
|
|
594
|
+
---
|
|
595
|
+
|
|
596
|
+
### Yönlendirme Yapılandırması
|
|
597
|
+
|
|
598
|
+
URL yapısı, dil saklama ve ara yazılım yönetimi dahil olmak üzere yönlendirme davranışını kontrol eden ayarlar.
|
|
599
|
+
|
|
600
|
+
| Alan | Açıklama | Tür | Varsayılan | Örnek | Not |
|
|
601
|
+
| ---------- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
602
|
+
| `mode` | Dil yönetimi için URL yönlendirme modu. | `'prefix-no-default'` | <br/> `'prefix-all'` | <br/> `'no-prefix'` | <br/> `'search-params'` | `'prefix-no-default'` | `'prefix-no-default'`: `/dashboard` (en) veya `/fr/dashboard` (fr). `'prefix-all'`: `/en/dashboard`. `'no-prefix'`: dil başka yollarla yönetilir. `'search-params'`: `/dashboard?locale=fr` | Tanımlama bilgisi (cookie) veya dil saklama yönetimini etkilemez. |
|
|
603
|
+
| `storage` | İstemcide dilin saklanması için yapılandırma. | `false` | <br/> `'cookie'` | <br/> `'localStorage'` | <br/> `'sessionStorage'` | <br/> `'header'` | <br/> `CookiesAttributes` | <br/> `StorageAttributes` | <br/> `Array` | `['cookie', 'header']` | `'localStorage'` <br/> `[{ type: 'cookie', name: 'custom-locale', secure: true }]` | Aşağıdaki Saklama Seçenekleri tablosuna bakın. |
|
|
604
|
+
| `basePath` | Uygulama URL'leri için temel yol. | `string` | `''` | `'/my-app'` | Uygulama `https://example.com/my-app` adresindeyse, basePath `'/my-app'` olur ve URL'ler `https://example.com/my-app/en` şekline dönüşür. |
|
|
605
|
+
| `rewrite` | Belirli yollar için varsayılan yönlendirme modunu geçersiz kılan özel URL yeniden yazma kuralları. Dinamik `[param]` parametrelerini destekler. | `Record<string, StrictModeLocaleMap<string>>` | `undefined` | Aşağıdaki örneğe bakın | • Yeniden yazma kuralları `mode` üzerinde önceliğe sahiptir.<br/>• Next.js ve Vite ile çalışır.<br/>• `getLocalizedUrl()` eşleşen kuralları otomatik olarak uygular.<br/>• Şuna bakın: [Özel URL Yeniden Yazmaları](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/custom_url_rewrites.md). |
|
|
606
|
+
|
|
607
|
+
**`rewrite` Örneği**:
|
|
608
|
+
|
|
609
|
+
```typescript
|
|
610
|
+
routing: {
|
|
611
|
+
mode: "prefix-no-default", // Geri dönüş stratejisi
|
|
612
|
+
rewrite: nextjsRewrite({
|
|
613
|
+
"/about": {
|
|
614
|
+
en: "/about",
|
|
615
|
+
fr: "/a-propos",
|
|
616
|
+
},
|
|
617
|
+
"/product/[slug]": {
|
|
618
|
+
en: "/product/[slug]",
|
|
619
|
+
fr: "/produit/[slug]",
|
|
620
|
+
},
|
|
621
|
+
"/blog/[category]/[id]": {
|
|
622
|
+
en: "/blog/[category]/[id]",
|
|
623
|
+
fr: "/journal/[category]/[id]",
|
|
624
|
+
},
|
|
625
|
+
}),
|
|
626
|
+
}
|
|
627
|
+
```
|
|
628
|
+
|
|
629
|
+
#### Saklama Seçenekleri
|
|
630
|
+
|
|
631
|
+
| Değer | Not | Açıklama |
|
|
632
|
+
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
|
|
633
|
+
| `'cookie'` | • GDPR uyumluluğu için uygun kullanıcı onayını aldığınızdan emin olun.<br/>• `CookiesAttributes` (`{ type: 'cookie', name: 'custom-locale', secure: true, httpOnly: false }`) aracılığıyla özelleştirilebilir. | Dili tanımlama bilgilerinde (cookies) saklar — hem istemci hem de sunucu tarafından erişilebilir. |
|
|
634
|
+
| `'localStorage'` | • Açıkça silinmedikçe süresi dolmaz.<br/>• Intlayer proxy'si buna erişemez.<br/>• `StorageAttributes` (`{ type: 'localStorage', name: 'custom-locale' }`) aracılığıyla özelleştirilebilir. | Dili tarayıcıda süresiz olarak saklar — sadece istemci tarafı. |
|
|
635
|
+
| `'sessionStorage'` | • Sekme/pencere kapatıldığında silinir.<br/>• Intlayer proxy'si buna erişemez.<br/>• `StorageAttributes` (`{ type: 'sessionStorage', name: 'custom-locale' }`) aracılığıyla özelleştirilebilir. | Dili sayfa oturumu süresince saklar — sadece istemci tarafı. |
|
|
636
|
+
| `'header'` | • API çağrıları için yararlıdır.<br/>• İstemci tarafı buna erişemez.<br/>• `StorageAttributes` (`{ type: 'header', name: 'custom-locale' }`) aracılığıyla özelleştirilebilir. | Dili HTTP üstbilgileri (headers) üzerinden aktarır — sadece sunucu tarafı. |
|
|
637
|
+
|
|
638
|
+
#### Tanımlama Bilgisi (Cookie) Nitelikleri
|
|
639
|
+
|
|
640
|
+
Tanımlama bilgisi saklama alanını kullanırken, ek nitelikler yapılandırabilirsiniz:
|
|
641
|
+
|
|
642
|
+
| Alan | Açıklama | Tür |
|
|
643
|
+
| ---------- | -------------------------------------------- | ----------------------------------------------------- |
|
|
644
|
+
| `name` | Tanımlama bilgisi adı. Varsayılan: `'INTLAYER_LOCALE'` | `string` |
|
|
645
|
+
| `domain` | Tanımlama bilgisi alanı. Varsayılan: `undefined` | `string` |
|
|
646
|
+
| `path` | Tanımlama bilgisi yolu. Varsayılan: `undefined` | `string` |
|
|
647
|
+
| `secure` | HTTPS gerektirir. Varsayılan: `undefined` | `boolean` |
|
|
648
|
+
| `httpOnly` | HTTP-only bayrağı. Varsayılan: `undefined` | `boolean` |
|
|
649
|
+
| `sameSite` | SameSite politikası. | `'strict'` | <br/> `'lax'` | <br/> `'none'` |
|
|
650
|
+
| `expires` | Sona erme tarihi veya gün sayısı. Varsayılan: `undefined` | `Date` | <br/> `number` |
|
|
651
|
+
|
|
652
|
+
#### Saklama Nitelikleri
|
|
653
|
+
|
|
654
|
+
localStorage veya sessionStorage kullanırken:
|
|
655
|
+
|
|
656
|
+
| Alan | Açıklama | Tür |
|
|
657
|
+
| ------ | ------------------------------------------- | ------------------------------------------------ |
|
|
658
|
+
| `type` | Saklama türü. | `'localStorage'` | <br/> `'sessionStorage'` |
|
|
659
|
+
| `name` | Saklama anahtarı adı. Varsayılan: `'INTLAYER_LOCALE'` | `string` |
|
|
660
|
+
|
|
661
|
+
#### Yapılandırma Örnekleri
|
|
662
|
+
|
|
663
|
+
İşte yeni v7 yönlendirme yapısı için bazı yaygın yapılandırma örnekleri:
|
|
664
|
+
|
|
665
|
+
**Temel Yapılandırma (Varsayılan)**:
|
|
666
|
+
|
|
667
|
+
```typescript
|
|
668
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
669
|
+
// intlayer.config.ts
|
|
670
|
+
const config: IntlayerConfig = {
|
|
671
|
+
internationalization: {
|
|
672
|
+
locales: ["en", "fr", "es"],
|
|
673
|
+
defaultLocale: "en",
|
|
674
|
+
},
|
|
675
|
+
routing: {
|
|
676
|
+
mode: "prefix-no-default",
|
|
677
|
+
storage: "localStorage",
|
|
678
|
+
basePath: "",
|
|
679
|
+
},
|
|
680
|
+
};
|
|
681
|
+
|
|
682
|
+
export default config;
|
|
683
|
+
```
|
|
684
|
+
|
|
685
|
+
**GDPR Uyumlu Yapılandırma**:
|
|
686
|
+
|
|
687
|
+
```typescript
|
|
688
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
689
|
+
// intlayer.config.ts
|
|
690
|
+
const config: IntlayerConfig = {
|
|
691
|
+
internationalization: {
|
|
692
|
+
locales: ["en", "fr", "es"],
|
|
693
|
+
defaultLocale: "en",
|
|
694
|
+
},
|
|
695
|
+
routing: {
|
|
696
|
+
mode: "prefix-no-default",
|
|
697
|
+
storage: [
|
|
698
|
+
{
|
|
699
|
+
type: "localStorage",
|
|
700
|
+
name: "user-locale",
|
|
701
|
+
},
|
|
702
|
+
{
|
|
703
|
+
type: "cookie",
|
|
704
|
+
name: "user-locale",
|
|
705
|
+
secure: true,
|
|
706
|
+
sameSite: "strict",
|
|
707
|
+
httpOnly: false,
|
|
708
|
+
},
|
|
709
|
+
],
|
|
710
|
+
basePath: "",
|
|
711
|
+
},
|
|
712
|
+
};
|
|
713
|
+
|
|
714
|
+
export default config;
|
|
715
|
+
```
|
|
716
|
+
|
|
717
|
+
**Arama Parametresi Modu**:
|
|
718
|
+
|
|
719
|
+
```typescript
|
|
720
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
721
|
+
// intlayer.config.ts
|
|
722
|
+
const config: IntlayerConfig = {
|
|
723
|
+
internationalization: {
|
|
724
|
+
locales: ["en", "fr", "es"],
|
|
725
|
+
defaultLocale: "en",
|
|
726
|
+
},
|
|
727
|
+
routing: {
|
|
728
|
+
mode: "search-params",
|
|
729
|
+
storage: "localStorage",
|
|
730
|
+
basePath: "",
|
|
731
|
+
},
|
|
732
|
+
};
|
|
733
|
+
|
|
734
|
+
export default config;
|
|
735
|
+
```
|
|
736
|
+
|
|
737
|
+
**Özel Saklama ile Öneksiz Mod**:
|
|
738
|
+
|
|
739
|
+
```typescript
|
|
740
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
741
|
+
// intlayer.config.ts
|
|
742
|
+
const config: IntlayerConfig = {
|
|
743
|
+
internationalization: {
|
|
744
|
+
locales: ["en", "fr", "es"],
|
|
745
|
+
defaultLocale: "en",
|
|
746
|
+
},
|
|
747
|
+
routing: {
|
|
748
|
+
mode: "no-prefix",
|
|
749
|
+
storage: {
|
|
750
|
+
type: "sessionStorage",
|
|
751
|
+
name: "app-locale",
|
|
752
|
+
},
|
|
753
|
+
basePath: "/my-app",
|
|
754
|
+
},
|
|
755
|
+
};
|
|
756
|
+
|
|
757
|
+
export default config;
|
|
758
|
+
```
|
|
759
|
+
|
|
760
|
+
**Dinamik Rotalar ile Özel URL Yeniden Yazma**:
|
|
761
|
+
|
|
762
|
+
```typescript
|
|
763
|
+
// intlayer.config.ts
|
|
764
|
+
import { nextjsRewrite } from "intlayer/routing";
|
|
765
|
+
|
|
766
|
+
const config: IntlayerConfig = {
|
|
767
|
+
internationalization: {
|
|
768
|
+
locales: ["en", "fr"],
|
|
769
|
+
defaultLocale: "en",
|
|
770
|
+
},
|
|
771
|
+
routing: {
|
|
772
|
+
mode: "prefix-no-default", // Yeniden yazılmayan yollar için geri dönüş
|
|
773
|
+
storage: "cookie",
|
|
774
|
+
rewrite: nextjsRewrite({
|
|
775
|
+
"/about": {
|
|
776
|
+
en: "/about",
|
|
777
|
+
fr: "/a-propos",
|
|
778
|
+
},
|
|
779
|
+
"/product/[slug]": {
|
|
780
|
+
en: "/product/[slug]",
|
|
781
|
+
fr: "/produit/[slug]",
|
|
782
|
+
},
|
|
783
|
+
"/blog/[category]/[id]": {
|
|
784
|
+
en: "/blog/[category]/[id]",
|
|
785
|
+
fr: "/journal/[category]/[id]",
|
|
786
|
+
},
|
|
787
|
+
}),
|
|
788
|
+
},
|
|
789
|
+
};
|
|
790
|
+
|
|
791
|
+
export default config;
|
|
792
|
+
```
|
|
793
|
+
|
|
794
|
+
---
|
|
795
|
+
|
|
796
|
+
### İçerik Yapılandırması
|
|
797
|
+
|
|
798
|
+
Dizin adları, dosya uzantıları ve türetilmiş yapılandırmalar dahil olmak üzere uygulama içindeki içeriğin nasıl yönetileceği ile ilgili ayarlar.
|
|
799
|
+
|
|
800
|
+
| Alan | Açıklama | Tür | Varsayılan | Örnek | Not |
|
|
801
|
+
| ---------------- | ---------------------------------------------------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
|
|
802
|
+
| `watch` | Intlayer'ın sözlükleri yeniden oluşturmak için içerik bildirim dosyalarındaki değişiklikleri izleyip izlemeyeceği. | `boolean` | `true` | | |
|
|
803
|
+
| `fileExtensions` | Sözlükleri derlerken taranacak dosya uzantıları. | `string[]` | `['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.json5', '.content.jsonc', '.content.tsx', '.content.jsx']` | `['.data.ts', '.data.js', '.data.json']` | Özelleştirme çatışmaları önlemeye yardımcı olabilir. |
|
|
804
|
+
| `contentDir` | İçerik tanımlama dosyalarının (`.content.*`) saklandığı dizin yolu. | `string[]` | `['.']` | `['src', '../../ui-library', require.resolve("@my-package/content")]` | İçerik dosyalarını izlemek ve sözlükleri yeniden oluşturmak için kullanılır. |
|
|
805
|
+
| `codeDir` | Kodun saklandığı temel dizine göre dizin yolu. | `string[]` | `['.']` | `['src', '../../ui-library']` | • Dönüşüm (budama, optimizasyon) için kod dosyalarını izlemek için kullanılır.<br/>• `contentDir`den ayırmak performansı artırabilir. |
|
|
806
|
+
| `excludedPath` | İçerik taramasından hariç tutulan dizinler. | `string[]` | `['**/node_modules/**', '**/dist/**', '**/build/**', '**/.intlayer/**', '**/.next/**', '**/.nuxt/**', '**/.expo/**', '**/.vercel/**', '**/.turbo/**', '**/.tanstack/**']` | | Henüz kullanılmıyor; gelecekteki uygulama için planlandı. |
|
|
807
|
+
| `formatCommand` | Intlayer onları yerel olarak yazarken içerik dosyalarını biçimlendirme komutu. | `string` | `undefined` | `'npx prettier --write "{{file}}" --log-level silent'` (Prettier), `'npx biome format "{{file}}" --write --log-level none'` (Biome), `'npx eslint --fix "{{file}}" --quiet'` (ESLint) | • `{{file}}` dosya yolu ile değiştirilecektir.<br/>• Tanımlanmazsa, Intlayer bunu otomatik olarak algılar (prettier, biome, eslint'i test eder). |
|
|
808
|
+
|
|
809
|
+
---
|
|
810
|
+
|
|
811
|
+
### Sözlük Yapılandırması
|
|
812
|
+
|
|
813
|
+
Otomatik doldurma davranışı ve içerik oluşturma dahil olmak üzere sözlük işlemlerini kontrol eden parametreler.
|
|
814
|
+
|
|
815
|
+
| Alan | Açıklama | Tür | Varsayılan | Örnek | Not |
|
|
816
|
+
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | -------------- | ------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
817
|
+
| `fill` | Otomatik doldurma (yapay zeka çevirisi) çıktı dosyalarının nasıl oluşturulacağını kontrol eder. | `boolean` | <br/> `FilePathPattern` | <br/> `Partial<Record<Locale, boolean | FilePathPattern>>` | `true` | `{ en: '/locales/en/{{key}}.json', fr: ({ key }) => '/locales/fr/${key}.json', es: false }` | • `true`: varsayılan yol (kaynakla aynı dosya).<br/>• `false`: devredışı.<br/>• Dize/fonksiyon kalıbı dil başına dosyalar oluşturur.<br/>• Dil başına nesne: her dil kendi kalıbına karşılık gelir; `false` o dili yok sayar.<br/>• `{{locale}}` eklemek dil başına oluşturmayı tetikler.<br/>• Sözlük düzeyindeki `fill` her zaman bu genel ayardan önceliklidir. |
|
|
818
|
+
| `description` | Editörün ve CMS'in sözlüğün amacını anlamasına yardımcı olur. Yapay zeka destekli çeviri oluşturma için bağlam olarak da kullanılır. | `string` | `undefined` | `'Kullanıcı profili bölümü'` | |
|
|
819
|
+
| `locale` | Sözlüğü dil başına bir formata dönüştürür. Bildirilen her alan bir çeviri düğümü olur. Yoksa, sözlük çok dilli olarak kabul edilir. | `LocalesValues` | `undefined` | `'en'` | Birden fazla dil için çeviriler içermek yerine sözlük belirli bir dil için olduğunda bunu kullanın. |
|
|
820
|
+
| `contentAutoTransformation` | İçerik dizelerini otomatik olarak tiplendirilmiş düğümlere (markdown, HTML veya ekleme) dönüştürür. | `boolean` | <br/> `{ markdown?: boolean; html?: boolean; insertion?: boolean }` | `false` | `true` | • Markdown : `### Title` → `md('### Title')`.<br/>• HTML : `<div>Title</div>` → `html('<div>Title</div>')`.<br/>• Ekleme : `Merhaba {{name}}` → `insert('Merhaba {{name}}')`. |
|
|
821
|
+
| `location` | Sözlük dosyalarının nerede saklandığını ve CMS ile nasıl senkronize edildiğini belirtir. | `'local'` | <br/> `'remote'` | <br/> `'hybrid'` | <br/> `'plugin'` | <br/> `string` | `'local'` | `'hybrid'` | • `'local'`: sadece yerel olarak yönetilir.<br/>• `'remote'`: sadece uzaktan yönetilir (CMS).<br/>• `'hybrid'`: hem yerel hem de uzaktan yönetilir.<br/>• `'plugin'` veya özel dize: bir eklenti veya özel bir kaynak tarafından yönetilir. |
|
|
822
|
+
| `importMode` | Sözlüklerin nasıl içe aktarılacağını kontrol eder. | `'static'` | <br/> `'dynamic'` | <br/> `'fetch'` | `'static'` | `'dynamic'` | • `'static'`: statik olarak içe aktarılır.<br/>• `'dynamic'`: Suspense kullanılarak dinamik olarak içe aktarılır.<br/>• `'fetch'`: Live Sync API aracılığıyla getirilir; başarısız olursa `'dynamic'`e geri döner.<br/>• `@intlayer/babel` ve `@intlayer/swc` eklentilerini gerektirir.<br/>• Anahtarlar statik olarak bildirilmelidir.<br/>• `optimize` kapalıysa yok sayılır.<br/>• `getIntlayer`, `getDictionary` vb.'ni etkilemez. |
|
|
823
|
+
| `priority` | Sözlüğün önceliği. Sözlükler arasındaki çatışmaları çözerken yüksek değerler düşük değerleri yener. | `number` | `undefined` | `1` | |
|
|
824
|
+
| `live` | Kullanımdan kaldırıldı — bunun yerine `importMode: 'fetch'` kullanın. Sözlük içeriğinin Live Sync API aracılığıyla dinamik olarak getirilip getirilmeyeceğini belirtiyordu. | `boolean` | `undefined` | | v8.0.0'da `importMode: 'fetch'` olarak yeniden adlandırıldı. |
|
|
825
|
+
| `schema` | JSON şema doğrulaması için Intlayer tarafından otomatik olarak oluşturulur. | `'https://intlayer.org/schema.json'` | otomatik oluşturulur | | Manuel olarak düzenlemeyin. |
|
|
826
|
+
| `title` | Editörde ve CMS'de sözlüğü tanımlamaya yardımcı olur. | `string` | `undefined` | `'Kullanıcı Profili'` | |
|
|
827
|
+
| `tags` | Sözlükleri kategorize eder ve editör ile yapay zeka için bağlam veya talimatlar sağlar. | `string[]` | `undefined` | `['kullanıcı', 'profil']` | |
|
|
828
|
+
| `version` | Uzak sözlüğün sürümü; şu anda kullanılan sürümün izlenmesine yardımcı olur. | `string` | `undefined` | `'1.0.0'` | • CMS'de yönetilebilir.<br/>• Yerel olarak düzenlemeyin. |
|
|
829
|
+
|
|
830
|
+
**`fill` Örneği**:
|
|
831
|
+
|
|
832
|
+
```ts
|
|
833
|
+
dictionary: {
|
|
834
|
+
fill: {
|
|
835
|
+
en: "/locales/en/{{key}}.content.json",
|
|
836
|
+
fr: ({ key }) => `/locales/fr/${key}.content.json`,
|
|
837
|
+
es: false,
|
|
838
|
+
},
|
|
839
|
+
};
|
|
840
|
+
```
|
|
841
|
+
|
|
842
|
+
---
|
|
843
|
+
|
|
844
|
+
### Logger Yapılandırması
|
|
845
|
+
|
|
846
|
+
Intlayer'dan gelen günlük çıkışını özelleştirmek için parametreler.
|
|
847
|
+
|
|
848
|
+
| Alan | Açıklama | Tür | Varsayılan | Örnek | Not |
|
|
849
|
+
| -------- | ---------------------------------------- | --------------------------------------------------------------- | ---------------- | ----------------------- | ----------------------------------------------------------------------------------------------------------------------- |
|
|
850
|
+
| `mode` | Logger modunu belirtir. | `'default'` | <br/> `'verbose'` | <br/> `'disabled'` | `'default'` | `'verbose'` | • `'verbose'`: hata ayıklama için daha fazla bilgi günlüğe kaydeder.<br/>• `'disabled'`: logger'ı tamamen devre dışı bırakır. |
|
|
851
|
+
| `prefix` | Günlük mesajları için önek. | `string` | `'[intlayer] '` | `'[özel öneğim] '` | |
|
|
852
|
+
|
|
853
|
+
---
|
|
854
|
+
|
|
855
|
+
### Yapay Zeka (AI) Yapılandırması
|
|
856
|
+
|
|
857
|
+
Sağlayıcı, model ve API anahtarı dahil olmak üzere Intlayer'ın yapay zeka özelliklerini kontrol eden ayarlar.
|
|
858
|
+
|
|
859
|
+
Bir erişim anahtarı ile [Intlayer Dashboard](https://app.intlayer.org/project)'a kayıtlıysanız bu yapılandırma isteğe bağlıdır. Intlayer, ihtiyaçlarınız için en verimli ve uygun maliyetli yapay zeka çözümünü otomatik olarak yönetecektir. Varsayılan seçeneklerin kullanılması, Intlayer en ilgili modelleri kullanmak üzere sürekli güncellendiğinden daha iyi uzun vadeli bakılabilirlik sağlar.
|
|
860
|
+
|
|
861
|
+
Kendi API anahtarınızı veya belirli bir modeli kullanmayı tercih ederseniz, özel yapay zeka yapılandırmanızı tanımlayabilirsiniz.
|
|
862
|
+
Bu yapay zeka yapılandırması, Intlayer ortamınızda küresel olarak kullanılacaktır. CLI komutları, `fill` gibi komutlar için varsayılan olarak bu ayarları kullanacaktır; aynı şekilde SDK, Görsel Editör ve CMS de öyle. Komut parametreleri aracılığıyla belirli kullanım durumları için bu varsayılan değerleri geçersiz kılabilirsiniz.
|
|
863
|
+
|
|
864
|
+
Intlayer, maksimum esneklik için birden fazla yapay zeka sağlayıcısını destekler. Şu anda desteklenen sağlayıcılar şunlardır:
|
|
865
|
+
|
|
866
|
+
- **OpenAI** (Varsayılan)
|
|
867
|
+
- **Anthropic Claude**
|
|
868
|
+
- **Mistral AI**
|
|
869
|
+
- **DeepSeek**
|
|
870
|
+
- **Google Gemini**
|
|
871
|
+
- **Google AI Studio**
|
|
872
|
+
- **Google Vertex**
|
|
873
|
+
- **Meta Llama**
|
|
874
|
+
- **Ollama**
|
|
875
|
+
- **OpenRouter**
|
|
876
|
+
- **Alibaba Cloud**
|
|
877
|
+
- **Fireworks**
|
|
878
|
+
- **Hugging Face**
|
|
879
|
+
- **Groq**
|
|
880
|
+
- **Amazon Bedrock**
|
|
881
|
+
- **Together.ai**
|
|
882
|
+
|
|
883
|
+
| Alan | Açıklama | Tür | Varsayılan | Örnek | Not |
|
|
884
|
+
| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
885
|
+
| `provider` | Intlayer yapay zeka özellikleri için kullanılacak sağlayıcı. | `'openai'` | <br/> `'anthropic'` | <br/> `'mistral'` | <br/> `'deepseek'` | <br/> `'gemini'` | <br/> `'ollama'` | <br/> `'openrouter'` | <br/> `'alibaba'` | <br/> `'fireworks'` | <br/> `'groq'` | <br/> `'huggingface'` | <br/> `'bedrock'` | <br/> `'googleaistudio'` | <br/> `'googlevertex'` | <br/> `'togetherai'` | `undefined` | `'anthropic'` | Farklı sağlayıcılar farklı API anahtarları gerektirir ve farklı fiyatlandırmalara sahiptir. |
|
|
886
|
+
| `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. |
|
|
887
|
+
| `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. |
|
|
888
|
+
| `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. |
|
|
889
|
+
| `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"`). |
|
|
890
|
+
| `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. |
|
|
891
|
+
| `dataSerialization` | Yapay zeka özellikleri için veri serileştirme formatı. | `'json'` | <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.). |
|
|
892
|
+
|
|
893
|
+
---
|
|
894
|
+
|
|
895
|
+
### Derleme (Build) Yapılandırması
|
|
896
|
+
|
|
897
|
+
Intlayer'ın uygulamanızın uluslararasılaştırılmasını nasıl optimize ettiğini ve derlediğini kontrol eden parametreler.
|
|
898
|
+
|
|
899
|
+
Derleme seçenekleri `@intlayer/babel` ve `@intlayer/swc` eklentileri için geçerlidir.
|
|
900
|
+
|
|
901
|
+
> Geliştirme modunda Intlayer, geliştirme deneyimini basitleştirmek için sözlükler için statik içe aktarmalar kullanır.
|
|
902
|
+
|
|
903
|
+
> Optimizasyon sırasında Intlayer, yığınlamayı (chunking) optimize etmek için sözlük çağrılarını değiştirecektir, böylece final paketi yalnızca gerçekte kullanılan sözlükleri içe aktaracaktır.
|
|
904
|
+
|
|
905
|
+
| Alan | Açıklama | Tür | Varsayılan | Örnek | Not |
|
|
906
|
+
| ----------------- | ----------------------------------------------------------------------------------------------------- | -------------------------------- | --------------------------------------------------------- | ------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
907
|
+
| `mode` | Derleme modunu kontrol eder. | `'auto'` | <br/> `'manual'` | `'auto'` | `'manual'` | • `'auto'`: uygulama derlemesi sırasında derleme otomatik olarak tetiklenir.<br/>• `'manual'`: yalnızca derleme komutu açıkça çağrıldığında yürütülür.<br/>• Sözlük derlemelerini devre dışı bırakmak için kullanılabilir (örneğin Node.js ortamlarında yürütmeyi durdurmak için). |
|
|
908
|
+
| `optimize` | Derlemenin optimize edilip edilmeyeceğini kontrol eder. | `boolean` | `undefined` | `process.env.NODE_ENV === 'production'` | • Tanımlanmazsa, optimizasyon framework derlemesinde (Vite/Next.js) tetiklenir.<br/>• `true` ise geliştirme modunda bile optimizasyonu zorlar.<br/>• `false` ise devre dışı bırakır.<br/>• Etkinse, yığınlamayı optimize etmek için sözlük çağrılarını yer değiştirir.<br/>• `@intlayer/babel` ve `@intlayer/swc` eklentilerini gerektirir. |
|
|
909
|
+
| `checkTypes` | Derlemenin TypeScript türlerini kontrol edip etmeyeceğini ve hataları günlüğe kaydedip kaydetmeyeceğini belirtir. | `boolean` | `false` | | Derleme sürecini yavaşlatabilir. |
|
|
910
|
+
| `outputFormat` | Sözlüklerin çıktı formatını kontrol eder. | `('esm' | 'cjs')[]` | `['esm', 'cjs']` | `['cjs']` | |
|
|
911
|
+
| `traversePattern` | Optimizasyon sırasında hangi dosyaların taranacağını tanımlayan kalıplar. | `string[]` | `['**/*.{tsx,ts,js,mjs,cjs,jsx,vue,svelte,svte}', '!**/node_modules/**', '!**/dist/**', '!**/.intlayer/**', '!**/*.config.*', '!**/*.test.*', '!**/*.spec.*', '!**/*.stories.*']` | `['src/**/*.{ts,tsx}', '../ui-library/**/*.{ts,tsx}', '!**/node_modules/**']` | • Derleme performansını artırmak için optimizasyonu ilgili dosyalarla sınırlayın.<br/>• `optimize` kapalıysa yok sayılır.<br/>• Glob kalıplarını kullanır. |
|
|
912
|
+
|
|
913
|
+
---
|
|
914
|
+
|
|
915
|
+
### Sistem Yapılandırması
|
|
916
|
+
|
|
917
|
+
Bu ayarlar gelişmiş kullanım durumları ve Intlayer'ın dahili yapılandırması içindir.
|
|
918
|
+
|
|
919
|
+
| Alan | Açıklama | Tür | Varsayılan | Örnek | Not |
|
|
920
|
+
| ------------------------- | ------------------------------------------------ | -------- | --------------------------------- | -------- | ------- |
|
|
921
|
+
| `dictionariesDir` | Derlenmiş sözlükler için dizin. | `string` | `'.intlayer/dictionary'` | | |
|
|
922
|
+
| `moduleAugmentationDir` | TypeScript modül genişletme dizini. | `string` | `'.intlayer/types'` | | |
|
|
923
|
+
| `unmergedDictionariesDir` | Birleştirilmemiş sözlükler için dizin. | `string` | `'.intlayer/unmerged_dictionary'` | | |
|
|
924
|
+
| `typesDir` | Oluşturulan türler için dizin. | `string` | `'.intlayer/types'` | | |
|
|
925
|
+
| `mainDir` | Intlayer ana dosyası için dizin. | `string` | `'.intlayer/main'` | | |
|
|
926
|
+
| `configDir` | Derlenmiş yapılandırma dosyaları için dizin. | `string` | `'.intlayer/config'` | | |
|
|
927
|
+
| `cacheDir` | Önbellek dosyaları için dizin. | `string` | `'.intlayer/cache'` | | |
|
|
928
|
+
|
|
929
|
+
---
|
|
930
|
+
|
|
931
|
+
### Derleyici Yapılandırması
|
|
932
|
+
|
|
933
|
+
Sözlükleri doğrudan bileşenlerinizden çıkaran Intlayer derleyicisini kontrol eden ayarlar.
|
|
934
|
+
|
|
935
|
+
| Alan | Açıklama | Tür | Varsayılan | Örnek | Not |
|
|
936
|
+
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
937
|
+
| `enabled` | Sözlüklerin çıkarılması için derleyicinin etkinleştirilip etkinleştirilmeyeceği. | `boolean` | <br/> `'build-only'` | `true` | `'build-only'` | `'build-only'`, başlangıç sürelerini hızlandırmak için geliştirme sırasında derleyiciyi atlar; yalnızca derleme komutlarında yürütülür. |
|
|
938
|
+
| `dictionaryKeyPrefix` | Çıkarılan sözlük anahtarları için önek. | `string` | `''` | `'özel-önekim-'` | Çatışmaları önlemek için (dosya adına dayalı) oluşturulan anahtara eklenir. |
|
|
939
|
+
| `saveComponents` | Bileşenlerin dönüştürüldükten sonra kaydedilip kaydedilmeyeceği. | `boolean` | `false` | | • `true` ise, orijinal dosyaları dönüştürülmüş sürümleriyle değiştirir.<br/>• Derleyici bir çalıştırmadan sonra kaldırılabilir. |
|
|
940
|
+
| `output` | Çıktı dosyaları için yolu belirler. `outputDir` yerine geçer. Şablon değişkenlerini destekler: `{{fileName}}`, <br/> `{{key}}`, <br/> `{{locale}}`, <br/> `{{extension}}`, <br/> `{{componentFileName}}`, <br/> `{{componentExtension}}`, <br/> `{{format}}`, <br/> `{{componentFormat}}`, <br/> `{{componentDirPath}}`. | `boolean` | <br/> `FilePathPattern` | <br/> `Partial<Record<Locale, boolean | FilePathPattern>>` | `undefined` | `'./{{fileName}}{{extension}}'` <br/> `'/locales/{{locale}}/{{key}}.json'` <br/> `{ en: ({ key }) => './locales/en/${key}.json', fr: '...', es: false }` | • `./` yolları bileşen dizinine göre çözümlenir.<br/>• `/` yolları köke göredir.<br/>• `{{locale}}` dil başına oluşturmayı tetikler.<br/>• Dil başına nesne notasyonunu destekler. |
|
|
941
|
+
| `noMetadata` | `true` ise, derleyici sözlük meta verilerini (anahtar, içerik sarmalayıcı) çıktıdan çıkarır. | `boolean` | `false` | `false` → `{"key":"anahtarım","content":{"key":"değer"}}` <br/> `true` → `{"key":"değer"}` | • i18next veya ICU MessageFormat JSON çıktıları için yararlıdır.<br/>• `loadJSON` eklentisi ile iyi çalışır. |
|
|
942
|
+
| `dictionaryKeyPrefix` | Sözlük anahtar öneki | `string` | `''` | | Çıkarılan sözlük anahtarları için isteğe bağlı önek ekleyin |
|
|
943
|
+
|
|
944
|
+
---
|
|
945
|
+
|
|
946
|
+
### Özel Şemalar (Custom Schemas)
|
|
947
|
+
|
|
948
|
+
| Alan | Açıklama | Tür |
|
|
949
|
+
| --------- | ------------------------------------------------------------------------------ | --------------------------- |
|
|
950
|
+
| `schemas` | Sözlüklerinizin yapısını doğrulamak için Zod şemaları tanımlamanıza olanak tanır. | `Record<string, ZodSchema>` |
|
|
951
|
+
|
|
952
|
+
---
|
|
953
|
+
|
|
954
|
+
### Eklentiler (Plugins)
|
|
955
|
+
|
|
956
|
+
| Alan | Açıklama | Tür |
|
|
957
|
+
| --------- | --------------------------------- | ------------------ |
|
|
958
|
+
| `plugins` | Etkinleştirilecek Intlayer eklentilerinin listesi. | `IntlayerPlugin[]` |
|