@intlayer/docs 7.0.0-canary.2 → 7.0.0-canary.3
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/dist/cjs/common.cjs.map +1 -1
- package/dist/esm/common.mjs.map +1 -1
- package/dist/types/common.d.ts +5 -0
- package/dist/types/common.d.ts.map +1 -1
- package/docs/ar/intlayer_with_nextjs_16.md +1652 -0
- package/docs/ar/releases/v7.md +486 -0
- package/docs/de/intlayer_with_nextjs_16.md +1662 -0
- package/docs/de/releases/v7.md +503 -0
- package/docs/en/intlayer_with_nextjs_15.md +5 -2
- package/docs/en/intlayer_with_nextjs_16.md +4 -4
- package/docs/en-GB/intlayer_with_nextjs_16.md +1642 -0
- package/docs/en-GB/releases/v7.md +486 -0
- package/docs/es/intlayer_with_nextjs_16.md +1670 -0
- package/docs/es/releases/v7.md +503 -0
- package/docs/fr/intlayer_with_nextjs_16.md +1692 -0
- package/docs/fr/releases/v7.md +504 -0
- package/docs/hi/intlayer_with_nextjs_16.md +1618 -0
- package/docs/hi/releases/v7.md +486 -0
- package/docs/id/intlayer_with_nextjs_16.md +1604 -0
- package/docs/id/releases/v7.md +503 -0
- package/docs/it/intlayer_with_nextjs_16.md +1600 -0
- package/docs/it/releases/v7.md +505 -0
- package/docs/ja/intlayer_CMS.md +0 -9
- package/docs/ja/intlayer_with_nextjs_16.md +1788 -0
- package/docs/ja/releases/v7.md +504 -0
- package/docs/ko/intlayer_with_nextjs_16.md +1641 -0
- package/docs/ko/releases/v7.md +504 -0
- package/docs/pl/intlayer_with_nextjs_16.md +1645 -0
- package/docs/pl/releases/v7.md +486 -0
- package/docs/pt/intlayer_with_nextjs_16.md +1646 -0
- package/docs/pt/introduction.md +0 -15
- package/docs/pt/releases/v7.md +486 -0
- package/docs/ru/intlayer_with_nextjs_16.md +1610 -0
- package/docs/ru/releases/v7.md +486 -0
- package/docs/tr/intlayer_with_nextjs_16.md +1599 -0
- package/docs/tr/releases/v7.md +486 -0
- package/docs/vi/intlayer_with_nextjs_16.md +1597 -0
- package/docs/vi/releases/v7.md +486 -0
- package/docs/zh/intlayer_CMS.md +0 -23
- package/docs/zh/intlayer_with_nextjs_16.md +1628 -0
- package/docs/zh/releases/v7.md +487 -0
- package/package.json +14 -14
- package/src/common.ts +5 -0
|
@@ -0,0 +1,486 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-09-22
|
|
3
|
+
updatedAt: 2025-09-23
|
|
4
|
+
title: Yeni Intlayer v7 - Yenilikler Neler?
|
|
5
|
+
description: Intlayer v7'de nelerin yeni olduğunu keşfedin. Performans, geliştirici deneyimi ve uluslararasılaştırma iş akışınızı geliştirecek yeni özelliklerde büyük iyileştirmeler.
|
|
6
|
+
keywords:
|
|
7
|
+
- Intlayer
|
|
8
|
+
- Yerelleştirme
|
|
9
|
+
- Geliştirme
|
|
10
|
+
- Performans
|
|
11
|
+
- Geliştirici Deneyimi
|
|
12
|
+
- Özellikler
|
|
13
|
+
- React
|
|
14
|
+
- Next.js
|
|
15
|
+
- JavaScript
|
|
16
|
+
- TypeScript
|
|
17
|
+
slugs:
|
|
18
|
+
- doc
|
|
19
|
+
- releases
|
|
20
|
+
- v7
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Yeni Intlayer v7 - Yenilikler Neler?
|
|
24
|
+
|
|
25
|
+
Intlayer v7'ye hoş geldiniz! Bu büyük sürüm, performans, tür güvenliği ve geliştirici deneyiminde önemli iyileştirmeler sunuyor. Aşağıda, geçiş notları ve pratik örneklerle birlikte öne çıkanlar yer almaktadır.
|
|
26
|
+
|
|
27
|
+
## Öne Çıkanlar
|
|
28
|
+
|
|
29
|
+
- Daha hızlı derlemeler için önbellekleme stratejisi
|
|
30
|
+
- Yerel dil türlerine göre geliştirilmiş TypeScript türü oluşturma
|
|
31
|
+
- Paket optimizasyonu: Enum yerine string olarak yereller
|
|
32
|
+
- Yeni yönlendirme modları: `prefix-no-default`, `prefix-all`, `no-prefix`, `search-params`
|
|
33
|
+
- GDPR uyumlu yerel depolama, varsayılan olarak localStorage kullanımı
|
|
34
|
+
- Esnek depolama yapılandırması: çerezler, localStorage, sessionStorage veya birden fazla
|
|
35
|
+
- Görsel Düzenleyici paket boyutunda %30 küçülme
|
|
36
|
+
- Geliştirilmiş ara katman (middleware) yapılandırma seçenekleri
|
|
37
|
+
- Daha iyi içerik yönetimi için güncellenmiş fill komutu davranışı
|
|
38
|
+
- Tam içerik beyan dosyası güncellemeleri ile artırılmış kararlılık
|
|
39
|
+
- Çeviri doğruluğu için akıllı yeniden deneme yönetimi
|
|
40
|
+
- Daha hızlı çeviri işlemi için paralelleştirme
|
|
41
|
+
- AI bağlam sınırları içinde büyük dosyaları yönetmek için akıllı parçalara ayırma
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Performans: Daha hızlı derlemeler için önbellekleme
|
|
46
|
+
|
|
47
|
+
Her derlemede esbuild ile içerik beyanlarını yeniden oluşturmak yerine, v7 derleme sürecini hızlandıran bir önbellekleme stratejisi uygular.
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
npx intlayer build
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Yeni önbellekleme sistemi:
|
|
54
|
+
|
|
55
|
+
- Derlenmiş içerik beyanlarını saklayarak gereksiz işlemleri önler
|
|
56
|
+
- Değişiklikleri algılar ve sadece değiştirilmiş dosyaları yeniden oluşturur
|
|
57
|
+
- Büyük projelerde derleme sürelerini önemli ölçüde azaltır
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## TypeScript: Yerel dil bazlı tür oluşturma
|
|
62
|
+
|
|
63
|
+
TypeScript türleri artık her yerel dil için ayrı ayrı oluşturulmakta, böylece daha güçlü türlendirme sağlanmakta ve tüm yereller arasında birleşik türler ortadan kaldırılmaktadır.
|
|
64
|
+
|
|
65
|
+
**v6 davranışı:**
|
|
66
|
+
|
|
67
|
+
```tsx
|
|
68
|
+
const content = getIntlayer("my-title-content", "en");
|
|
69
|
+
// typeof content = { title: "My title" } | { title: "Mon titre" } | { title: "Mi título" }
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**v7 davranışı:**
|
|
73
|
+
|
|
74
|
+
```tsx
|
|
75
|
+
const content = getIntlayer("my-title-content", "en");
|
|
76
|
+
// typeof content = { title: "Başlığım" }
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Faydalar:
|
|
80
|
+
|
|
81
|
+
- IDE'nizde daha hassas otomatik tamamlama
|
|
82
|
+
- Yereller arası tür kirliliği olmadan daha iyi tür güvenliği
|
|
83
|
+
- Tür karmaşıklığını azaltarak geliştirilmiş performans
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Paket optimizasyonu: Yereller string olarak
|
|
88
|
+
|
|
89
|
+
`Locales` türü artık bir enum değil, bu da tamamen tree-shakeable olduğu ve binlerce kullanılmayan yerel kayıtla paketinizin şişmesini engellediği anlamına gelir.
|
|
90
|
+
|
|
91
|
+
**v6:**
|
|
92
|
+
|
|
93
|
+
```typescript
|
|
94
|
+
import { Locales } from "intlayer";
|
|
95
|
+
// Tüm yerelleri içeren enum -> tree-shakeable değil
|
|
96
|
+
|
|
97
|
+
const locale: Locales = Locales.ENGLISH;
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**v7:**
|
|
101
|
+
|
|
102
|
+
```typescript
|
|
103
|
+
import { Locales, Locale } from "intlayer";
|
|
104
|
+
// String türü -> tamamen tree-shakeable
|
|
105
|
+
|
|
106
|
+
const locale: Locale = Locales.ENGLISH;
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
> Çünkü `Locales` artık bir enum değil, yerel türü olarak almak için türü `Locales`'den `Locale`'a değiştirmeniz gerekecek.
|
|
110
|
+
|
|
111
|
+
Daha fazla bilgi için [uygulama detaylarına](https://github.com/aymericzip/intlayer/blob/main/packages/%40intlayer/types/src/index.ts) bakınız.
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Daha fazla esneklik için yeni yönlendirme modları
|
|
116
|
+
|
|
117
|
+
v7, önceki `prefixDefault` ve `noPrefix` seçeneklerinin yerini alan birleşik bir `routing.mode` yapılandırması sunar ve URL yapısı üzerinde daha ayrıntılı kontrol sağlar.
|
|
118
|
+
|
|
119
|
+
### Mevcut yönlendirme modları
|
|
120
|
+
|
|
121
|
+
- **`prefix-no-default`** (varsayılan): Varsayılan yerel için önek yok, diğer yerellerde var
|
|
122
|
+
- `/dashboard` (en) veya `/fr/dashboard` (fr)
|
|
123
|
+
- **`prefix-all`**: Tüm yerellerde önek var
|
|
124
|
+
- `/en/dashboard` (en) veya `/fr/dashboard` (fr)
|
|
125
|
+
- **`no-prefix`**: URL'lerde yerel önek yok (yerel ayar depolama/başlıklar aracılığıyla yönetilir)
|
|
126
|
+
- Tüm yereller için `/dashboard`
|
|
127
|
+
- **`search-params`**: Yerel ayar sorgu parametresi olarak iletilir
|
|
128
|
+
- `/dashboard?locale=en` veya `/dashboard?locale=fr`
|
|
129
|
+
|
|
130
|
+
### Temel yapılandırma
|
|
131
|
+
|
|
132
|
+
```typescript
|
|
133
|
+
// intlayer.config.ts
|
|
134
|
+
export default {
|
|
135
|
+
internationalization: {
|
|
136
|
+
locales: ["en", "fr", "es"],
|
|
137
|
+
defaultLocale: "en",
|
|
138
|
+
},
|
|
139
|
+
routing: {
|
|
140
|
+
mode: "prefix-no-default", // varsayılan
|
|
141
|
+
},
|
|
142
|
+
};
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## GDPR uyumluluğu: localStorage / çerez depolama
|
|
148
|
+
|
|
149
|
+
v7, kullanıcı gizliliğini ön planda tutarak varsayılan depolama mekanizması olarak çerezler yerine `localStorage` kullanır. Bu değişiklik, yerel tercihleri için çerez onayı gereksinimini ortadan kaldırarak GDPR uyumluluğuna yardımcı olur.
|
|
150
|
+
|
|
151
|
+
### Depolama yapılandırma seçenekleri
|
|
152
|
+
|
|
153
|
+
Yeni `routing.storage` alanı, önceki `middleware.cookieName` ve `middleware.serverSetCookie` seçeneklerine ek olarak kullanılabilir durumdadır ve esnek depolama yapılandırmaları sunar:
|
|
154
|
+
|
|
155
|
+
```typescript
|
|
156
|
+
// Depolamayı devre dışı bırak
|
|
157
|
+
storage: false
|
|
158
|
+
|
|
159
|
+
// Basit depolama türleri
|
|
160
|
+
storage: 'cookie'
|
|
161
|
+
storage: 'localStorage'
|
|
162
|
+
storage: 'sessionStorage'
|
|
163
|
+
|
|
164
|
+
// Özel özelliklere sahip çerez
|
|
165
|
+
storage: {
|
|
166
|
+
type: 'cookie',
|
|
167
|
+
name: 'custom-locale',
|
|
168
|
+
domain: '.example.com',
|
|
169
|
+
secure: true,
|
|
170
|
+
sameSite: 'strict'
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
// Özel anahtarla localStorage
|
|
174
|
+
storage: {
|
|
175
|
+
type: 'localStorage',
|
|
176
|
+
name: 'custom-locale'
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
// Yedeklilik için birden fazla depolama türü
|
|
180
|
+
storage: ['cookie', 'localStorage']
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### GDPR uyumlu yapılandırma örneği
|
|
184
|
+
|
|
185
|
+
Fonksiyonellik ile GDPR uyumluluğunu dengelemek zorunda olan üretim uygulamaları için:
|
|
186
|
+
|
|
187
|
+
```typescript
|
|
188
|
+
// intlayer.config.ts
|
|
189
|
+
export default {
|
|
190
|
+
internationalization: {
|
|
191
|
+
locales: ["en", "fr", "es"],
|
|
192
|
+
defaultLocale: "en",
|
|
193
|
+
},
|
|
194
|
+
routing: {
|
|
195
|
+
mode: "prefix-no-default",
|
|
196
|
+
storage: [
|
|
197
|
+
{
|
|
198
|
+
type: "localStorage", // Birincil depolama (izin gerekmez)
|
|
199
|
+
name: "user-locale",
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
type: "cookie", // Opsiyonel çerez depolama (izin gerektirir)
|
|
203
|
+
name: "user-locale",
|
|
204
|
+
secure: true,
|
|
205
|
+
sameSite: "strict",
|
|
206
|
+
httpOnly: false,
|
|
207
|
+
},
|
|
208
|
+
],
|
|
209
|
+
},
|
|
210
|
+
};
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### Çerez depolamasını etkinleştirme / devre dışı bırakma
|
|
214
|
+
|
|
215
|
+
React / Next.js kullanarak örnek:
|
|
216
|
+
|
|
217
|
+
Genel olarak tanımlanabilir:
|
|
218
|
+
|
|
219
|
+
```typescript
|
|
220
|
+
<IntlayerProvider isCookieEnabled={false}>
|
|
221
|
+
<App />
|
|
222
|
+
</IntlayerProvider>
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
Her hook için yerel olarak geçersiz kılınabilir:
|
|
226
|
+
|
|
227
|
+
```ts
|
|
228
|
+
const { setLocale } = useLocale({ isCookieEnabled: false });
|
|
229
|
+
|
|
230
|
+
setLocale("en");
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
**Not:** Çerezler varsayılan olarak etkinleştirilmiştir.
|
|
234
|
+
**Not:** Özel kullanım durumunuz için [GDPR çerez gereksinimlerini](https://gdpr.eu/cookies/) kontrol edin.
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## Görsel Düzenleyici: %30 daha küçük paket
|
|
239
|
+
|
|
240
|
+
Görsel Düzenleyici paketi, önceki sürüme göre %30 daha küçük olacak şekilde optimize edilmiştir, bunun sebepleri:
|
|
241
|
+
|
|
242
|
+
- Kod düzenleyici performans iyileştirmeleri
|
|
243
|
+
- Intlayer çekirdek paketlerine olan gereksiz bağımlılıkların kaldırılması
|
|
244
|
+
- Daha iyi tree-shaking ve modül paketleme
|
|
245
|
+
|
|
246
|
+
Bu, uygulamanız için daha hızlı indirme süreleri ve geliştirilmiş çalışma zamanı performansı sağlar.
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## Fill komutu: Daha iyi içerik yönetimi için güncellenmiş davranış
|
|
251
|
+
|
|
252
|
+
v7, `fill` komutu için daha öngörülebilir ve esnek içerik yönetimi sağlayan geliştirilmiş bir davranış sunar:
|
|
253
|
+
|
|
254
|
+
### Yeni fill davranışı
|
|
255
|
+
|
|
256
|
+
- **`fill: true`** - Tüm yereller için doldurulmuş içerikle mevcut dosyayı yeniden yazar
|
|
257
|
+
- **`fill: "path/to/file"`** - Mevcut dosyayı değiştirmeden belirtilen dosyayı doldurur
|
|
258
|
+
- **`fill: false`** - Otomatik doldurmayı tamamen devre dışı bırakır
|
|
259
|
+
|
|
260
|
+
### Karmaşık içerik yapıları için geliştirilmiş destek
|
|
261
|
+
|
|
262
|
+
Fill komutu artık aşağıdakiler dahil karmaşık içerik beyanı yapılarını desteklemektedir:
|
|
263
|
+
|
|
264
|
+
- **Bileşik nesneler**: Diğer nesnelere referans veren içerik beyanları
|
|
265
|
+
- **Yapı bozma (destructuring) içeriği**: Yapı bozma desenleri kullanan içerik
|
|
266
|
+
- **İç içe referanslar**: Karmaşık hiyerarşilerde birbirini çağıran nesneler
|
|
267
|
+
- **Dinamik içerik yapıları**: Koşullu veya hesaplanmış özelliklere sahip içerik
|
|
268
|
+
|
|
269
|
+
### Faydalar
|
|
270
|
+
|
|
271
|
+
- **Daha net niyet**: Davranış artık neyin değiştirildiği konusunda daha açık
|
|
272
|
+
- **Daha iyi ayrım**: İçerik dosyaları, doldurulmuş çevirilerden ayrı tutulabilir
|
|
273
|
+
- **Geliştirilmiş iş akışı**: Geliştiriciler, çevirilerin nerede saklanacağı üzerinde daha fazla kontrole sahiptir
|
|
274
|
+
- **Karmaşık yapı desteği**: Birbirine bağlı birden fazla nesne içeren karmaşık içerik mimarilerini yönetir
|
|
275
|
+
|
|
276
|
+
### Örnek kullanım
|
|
277
|
+
|
|
278
|
+
```typescript
|
|
279
|
+
// Mevcut dosyayı tüm yerellerle yeniden yaz
|
|
280
|
+
const content = {
|
|
281
|
+
key: "example",
|
|
282
|
+
fill: true, // Bu dosyayı yeniden yazar
|
|
283
|
+
content: {
|
|
284
|
+
title: "Hello World",
|
|
285
|
+
},
|
|
286
|
+
};
|
|
287
|
+
|
|
288
|
+
// Mevcut dosyayı değiştirmeden ayrı dosyayı doldur
|
|
289
|
+
const content = {
|
|
290
|
+
key: "example",
|
|
291
|
+
fill: "./translations.json", // translations.json dosyasını oluşturur/günceller
|
|
292
|
+
content: {
|
|
293
|
+
title: "Hello World",
|
|
294
|
+
},
|
|
295
|
+
};
|
|
296
|
+
|
|
297
|
+
// Otomatik doldurmayı devre dışı bırak
|
|
298
|
+
const content = {
|
|
299
|
+
key: "example",
|
|
300
|
+
fill: false, // Otomatik doldurma yok
|
|
301
|
+
content: {
|
|
302
|
+
title: "Merhaba Dünya",
|
|
303
|
+
},
|
|
304
|
+
};
|
|
305
|
+
|
|
306
|
+
// Bileşik nesnelerle karmaşık içerik yapısı
|
|
307
|
+
const sharedContent = {
|
|
308
|
+
buttons: {
|
|
309
|
+
save: "Kaydet",
|
|
310
|
+
cancel: "İptal",
|
|
311
|
+
},
|
|
312
|
+
};
|
|
313
|
+
|
|
314
|
+
const content = {
|
|
315
|
+
key: "karmaşık-örnek",
|
|
316
|
+
fill: true,
|
|
317
|
+
content: {
|
|
318
|
+
// Diğer nesnelere referanslar
|
|
319
|
+
sharedContent,
|
|
320
|
+
|
|
321
|
+
// Yapılandırılmış içerik
|
|
322
|
+
...sharedContent,
|
|
323
|
+
|
|
324
|
+
// İç içe referanslar
|
|
325
|
+
sections: [
|
|
326
|
+
{
|
|
327
|
+
...sharedContent.buttons,
|
|
328
|
+
header: "Bölüm 1",
|
|
329
|
+
},
|
|
330
|
+
],
|
|
331
|
+
},
|
|
332
|
+
};
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
---
|
|
336
|
+
|
|
337
|
+
## Geliştirilmiş kararlılık ve çeviri yönetimi
|
|
338
|
+
|
|
339
|
+
v7, içerik çevirisini daha güvenilir ve verimli hale getirmek için birkaç iyileştirme sunar:
|
|
340
|
+
|
|
341
|
+
### Tam içerik beyan dosyası güncellemeleri
|
|
342
|
+
|
|
343
|
+
Sistem artık kısmi güncellemeler yerine `.content.{ts,js,cjs,mjs}` dosyalarını günceller, böylece şunları sağlar:
|
|
344
|
+
|
|
345
|
+
- **Veri bütünlüğü**: Tam dosya yeniden yazımları, içeriğin bozulmasına yol açabilecek kısmi güncellemeleri engeller
|
|
346
|
+
- **Tutarlılık**: Tüm yereller atomik olarak güncellenir, senkronizasyon korunur
|
|
347
|
+
- **Güvenilirlik**: Eksik veya hatalı içerik dosyası riskini azaltır
|
|
348
|
+
|
|
349
|
+
### Akıllı yeniden deneme yönetimi
|
|
350
|
+
|
|
351
|
+
Yeni yeniden deneme mekanizmaları, içeriğin yanlış formatlarda gönderilmesini önler ve bir isteğin başarısız olması durumunda tüm doldurma sürecinin kırılmasını engeller.
|
|
352
|
+
|
|
353
|
+
### Daha hızlı işlem için paralelleştirme
|
|
354
|
+
|
|
355
|
+
Çeviri işlemleri artık paralel çalıştırılmak üzere bir kuyruğa alınır. Bu, süreci önemli ölçüde hızlandırır.
|
|
356
|
+
|
|
357
|
+
### Büyük dosyalar için akıllı parçalara ayırma
|
|
358
|
+
|
|
359
|
+
Gelişmiş parçalara ayırma stratejileri, AI bağlam pencerelerini aşmadan büyük içerik dosyalarını yönetir:
|
|
360
|
+
|
|
361
|
+
### Örnek iş akışı
|
|
362
|
+
|
|
363
|
+
```typescript
|
|
364
|
+
// Büyük içerik dosyası otomatik olarak parçalara ayrılır
|
|
365
|
+
const content = {
|
|
366
|
+
key: "large-documentation",
|
|
367
|
+
fill: true,
|
|
368
|
+
content: {
|
|
369
|
+
// AI işleme için büyük içerik otomatik olarak parçalara ayrılır
|
|
370
|
+
introduction: "..." // 5000+ karakter
|
|
371
|
+
sections: [
|
|
372
|
+
// Birden çok büyük bölüm
|
|
373
|
+
]
|
|
374
|
+
}
|
|
375
|
+
};
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
Sistem otomatik olarak:
|
|
379
|
+
|
|
380
|
+
1. İçerik boyutunu ve yapısını analiz eder
|
|
381
|
+
2. İçeriği uygun şekilde parçalara böler
|
|
382
|
+
3. Parçaları paralel olarak işler
|
|
383
|
+
4. Gerekirse doğrulama yapar ve yeniden dener
|
|
384
|
+
5. Tam dosyayı yeniden oluşturur
|
|
385
|
+
|
|
386
|
+
---
|
|
387
|
+
|
|
388
|
+
## v6'dan geçiş notları
|
|
389
|
+
|
|
390
|
+
### Kaldırılan yapılandırmalar
|
|
391
|
+
|
|
392
|
+
- **`middleware.cookieName`**: `routing.storage` ile değiştirildi
|
|
393
|
+
- **`middleware.serverSetCookie`**: `routing.storage` ile değiştirildi
|
|
394
|
+
- **`middleware.prefixDefault`**: `routing.mode` ile değiştirildi
|
|
395
|
+
- **`middleware.noPrefix`**: `routing.mode` ile değiştirildi
|
|
396
|
+
|
|
397
|
+
### Geçiş eşlemesi
|
|
398
|
+
|
|
399
|
+
#### Konfigürasyon eşlemesi
|
|
400
|
+
|
|
401
|
+
| v6 Konfigürasyonu | v7 Konfigürasyonu |
|
|
402
|
+
| -------------------------- | -------------------------------------------------------- |
|
|
403
|
+
| `autoFill: xxx` | `fill: xxx` |
|
|
404
|
+
| `prefixDefault: false` | `mode: 'prefix-no-default'` |
|
|
405
|
+
| `prefixDefault: true` | `mode: 'prefix-all'` |
|
|
406
|
+
| `noPrefix: true` | `mode: 'no-prefix'` |
|
|
407
|
+
| `cookieName: 'my-locale'` | `storage: { type: 'cookie', name: 'my-locale' }` |
|
|
408
|
+
| `serverSetCookie: 'never'` | `storage: false` veya storage dizisinden cookie kaldırın |
|
|
409
|
+
|
|
410
|
+
#### Örnek geçiş
|
|
411
|
+
|
|
412
|
+
**Önce (v6):**
|
|
413
|
+
|
|
414
|
+
```typescript
|
|
415
|
+
export default {
|
|
416
|
+
middleware: {
|
|
417
|
+
headerName: "x-intlayer-locale",
|
|
418
|
+
cookieName: "intlayer-locale",
|
|
419
|
+
prefixDefault: false,
|
|
420
|
+
basePath: "",
|
|
421
|
+
serverSetCookie: "always",
|
|
422
|
+
noPrefix: false,
|
|
423
|
+
},
|
|
424
|
+
};
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
**Sonra (v7):**
|
|
428
|
+
|
|
429
|
+
```typescript
|
|
430
|
+
export default {
|
|
431
|
+
routing: {
|
|
432
|
+
mode: "prefix-no-default",
|
|
433
|
+
storage: "localStorage", // veya çerez depolama gerekiyorsa 'cookie'
|
|
434
|
+
headerName: "x-intlayer-locale",
|
|
435
|
+
basePath: "",
|
|
436
|
+
detectLocaleOnPrefetchNoPrefix: false,
|
|
437
|
+
},
|
|
438
|
+
};
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
#### Sözlük içerik eşlemesi
|
|
442
|
+
|
|
443
|
+
| v6 Sözlük içeriği | v7 Sözlük içeriği |
|
|
444
|
+
| ----------------- | ----------------- |
|
|
445
|
+
| `autoFill: xxx` | `fill: xxx` |
|
|
446
|
+
|
|
447
|
+
#### Örnek geçiş
|
|
448
|
+
|
|
449
|
+
**Önce (v6):**
|
|
450
|
+
|
|
451
|
+
```typescript
|
|
452
|
+
const content = {
|
|
453
|
+
key: "example",
|
|
454
|
+
autoFill: true, // Bu dosyayı yeniden yazar
|
|
455
|
+
content: {
|
|
456
|
+
title: "Merhaba Dünya",
|
|
457
|
+
},
|
|
458
|
+
};
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
**Sonrası (v7):**
|
|
462
|
+
|
|
463
|
+
```typescript
|
|
464
|
+
const content = {
|
|
465
|
+
key: "example",
|
|
466
|
+
fill: true, // Bu dosyayı yeniden yazar
|
|
467
|
+
content: {
|
|
468
|
+
title: "Merhaba Dünya",
|
|
469
|
+
},
|
|
470
|
+
};
|
|
471
|
+
```
|
|
472
|
+
|
|
473
|
+
---
|
|
474
|
+
|
|
475
|
+
## v5'ten v6'ya Geçiş Notları
|
|
476
|
+
|
|
477
|
+
Daha fazla bilgi için [v5'ten v6'ya geçiş notlarını](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/releases/v6.md) kontrol edin.
|
|
478
|
+
|
|
479
|
+
---
|
|
480
|
+
|
|
481
|
+
## Faydalı bağlantılar
|
|
482
|
+
|
|
483
|
+
- [Yapılandırma Referansı](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/configuration.md)
|
|
484
|
+
- [Middleware Dokümantasyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/packages/next-intlayer/index.md)
|
|
485
|
+
- [TypeScript Türleri](https://github.com/aymericzip/intlayer/blob/main/packages/%40intlayer/types/src/index.ts)
|
|
486
|
+
- [GDPR Çerez Rehberi](https://gdpr.eu/cookies/)
|