Files

2.9 KiB

title, description, phase, status, last_updated
title description phase status last_updated
Faz 1 Locale Veri Modeli ve Service Katmani Cok dillilik icin SQLite semasi, seed, locale yonetimi servisi ve smoke sonuclari. 1 completed 2026-07-19

Faz 1 Locale Veri Modeli ve Service Katmani

Faz-1, cok dillilik icin runtime'a girmeden once gerekli kalici veri modelini ve owner-only locale yonetimi kurallarini ekledi.

Eklenen veri modeli

Tablo veya kolon Amac
instance_locales Instance icindeki aktif, draft, archived ve test dillerini tutar.
instance_i18n_settings Varsayilan locale ve katalog versiyonunu tutar.
instance_ui_translations Built-in katalog ustune yazilacak instance UI cevirilerini tutar.
content_translations Domain entity/field/locale bazli icerik cevirilerini tutar.
clients.portal_locale Musteri portal dilini tutar.
portal_invitations.locale Auth oncesi davet ekraninin dilini tutar.
user_preferences.language Sabit tr/en constraint yerine 2-12 karakter locale kodu kabul eder.

Migration tr ve en built-in locale'lerini seed eder, varsayilan instance dilini tr olarak olusturur ve mevcut preference verisini kayipsiz tasir.

Service kurallari

I18nService ile asagidaki kurallar kilitlendi:

  • Locale yonetimi yalnizca freelancer/owner actor tarafindan yapilabilir.
  • Disabled actor islem yapamaz.
  • Locale kodu kisa BCP47 formatinda dogrulanir: tr, en, fr, ar-XB.
  • tr ve en built-in, aktif ve arsivlenemez diller olarak korunur.
  • Fallback locale mevcut ve arsivlenmemis olmak zorundadir.
  • Locale kendi kendine fallback olamaz.
  • Fallback zinciri dongu olusturamaz.
  • Varsayilan dil yalnizca active locale olabilir.
  • Default, fallback, user preference, client portal veya invitation tarafindan kullanilan locale arsivlenemez.

Verification

Calistirilan komutlar:

pnpm typecheck
pnpm i18n:phase1-smoke
pnpm build
pnpm phase9:smoke

Sonuclar basarili. Build sirasinda mevcut Next edge runtime statik uretim uyarisi tekrar goruldu; Faz-1 ile ilgili yeni bir hata degil.

i18n:phase1-smoke su kapilari kontrol eder:

  • Yeni migration tablolarini ve kolonlarini dogrular.
  • tr/en seed ve default tr ayarini dogrular.
  • user_preferences.language alaninin fr gibi yeni locale degeri kabul ettigini dogrular.
  • Owner/client negatif authorization testlerini calistirir.
  • Invalid locale, duplicate built-in locale, self fallback ve fallback cycle durumlarini reddeder.
  • Draft locale'in default yapilamadigini dogrular.
  • Referansli ve built-in locale'in arsivlenemedigini dogrular.
  • Backup alip restore eder; instance_i18n_settings ve content_translations verisinin restore sonrasinda korundugunu dogrular.

Faz-2'ye kalan sinir

Bu faz henuz UI metinlerini cevirmedi ve runtime translator eklemedi. Faz-2'de built-in kataloglar, locale resolver, formatter ve client/server translator katmani bu veri modelini kullanacak.