Files

79 lines
3.0 KiB
Markdown

---
title: Faz 2 Ceviri Runtime'i ve Built-in Kataloglar
description: Neta cok dillilik runtime, katalog, fallback, formatter, locale resolver ve smoke sonuclari.
phase: 2
status: completed
last_updated: 2026-07-19
---
# Faz 2 Ceviri Runtime'i ve Built-in Kataloglar
Faz-2, Faz-1'de eklenen locale veri modelini calisan runtime katmanina bagladi.
Bu faz tum sayfa metinlerini henuz migrate etmez; sayfa sayfa UI migration Faz-4
kapsaminda yapilacak.
## Eklenen runtime parcalari
| Alan | Dosya |
| --- | --- |
| I18n tipleri ve namespace listesi | `lib/i18n/types.ts` |
| Built-in katalog registry ve parity helper | `lib/i18n/catalog.ts` |
| Interpolation, plural, tarih, sayi ve para formatter | `lib/i18n/format.ts` |
| Client-safe translator | `lib/i18n/translator.ts` |
| React client provider ve hook'lar | `components/i18n/i18n-provider.tsx` |
| TR built-in katalog | `locales/tr/*` |
| EN built-in katalog | `locales/en/*` |
| Server catalog merge ve catalogVersion cache | `server/i18n/catalog.ts` |
| Locale cookie ve direction helper | `server/i18n/locale.ts` |
| Session/cookie/instance locale resolver | `server/i18n/resolver.ts` |
| Server `createTranslator` helper | `server/i18n/translator.ts` |
| Public localization metadata | `server/i18n/runtime.ts` |
| Locale cookie lifecycle route | `app/api/i18n/locale/route.ts` |
## Davranis
- Built-in `tr` ve `en` kataloglari ayni namespace/key setine sahiptir.
- Ceviri anahtarlari `namespace.key` formatinda kullanilir.
- Interpolation `{name}` formatini destekler.
- Basit plural formatinda `Intl.PluralRules` kullanilir.
- DB override, built-in katalog ustune merge edilir.
- Fallback sirasi locale kaydindaki fallback chain'e gore calisir.
- Eksik anahtar production'da ham key'e duser; development'ta console warning
verir.
- `catalog_version` override mutation'inda artar ve cache key'ine dahil edilir.
- `<html lang>` ve `<html dir>` request locale resolver'dan gelir.
- `neta_locale` cookie'si `/api/i18n/locale` route'u uzerinden yazilir.
- `/api/v1/meta` response'u localization metadata'si dondurur.
## Verification
Calistirilan komutlar:
```bash
pnpm i18n:phase2-smoke
pnpm build
pnpm phase9:smoke
pnpm typecheck
```
Sonuclar basarili. `i18n:phase2-smoke` su kapilari dogrular:
- TR/EN katalog parity.
- Ayni translation helper ile TR ve EN render.
- Interpolation ve plural format.
- Ortak tarih ve para formatter.
- RTL direction helper.
- Fransizca eksik anahtarda EN fallback.
- DB UI translation override'in deployment olmadan okunmasi.
- Override sonrasi `catalog_version` bump ile yeni metnin okunmasi.
- Owner disi actor'un UI translation yazamamasi.
`pnpm build` sirasinda mevcut Next edge runtime static generation uyarisi tekrar
goruldu; Faz-2 kaynakli yeni bir hata degil.
## Faz-4'e kalan sinir
Bu fazda mevcut sayfa metinleri henuz topluca katalog anahtarlarina tasinmadi.
Dashboard, musteri, proje, gorev, finans, gunluk, chat ve portal ekranlarindaki
hardcoded metinlerin migration'i Faz-4 ve Faz-6 kapsaminda yapilacak.