@appaflytech/zeyrek-ai-mcp 0.0.15 → 0.0.16
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.
|
@@ -1589,25 +1589,25 @@ export const componentKnowledge = {
|
|
|
1589
1589
|
}
|
|
1590
1590
|
},
|
|
1591
1591
|
'language-selector': {
|
|
1592
|
-
summary: 'Son kullanıcının sayfa dilini değiştirdiği açılır liste; projenin aktif dillerini kendi ana dil adlarıyla listeler.',
|
|
1592
|
+
summary: 'Son kullanıcının sayfa dilini değiştirdiği açılır liste; projenin aktif dillerini kendi ana dil adlarıyla listeler. Görsel olarak dropdown ile aynı kontroldür (ortak Select, aynı boy/tema jetonları).',
|
|
1593
1593
|
behavior: [
|
|
1594
|
-
"change olayında runtime machine.setLanguage(value) çağırır: seçim localStorage'a (zeyrek:{appSlug}:lang) yazılır ve çeviri bağlı bütün prop'lar SAYFA YENİLENMEDEN yeniden çözülür.",
|
|
1595
|
-
'Projede dil tanımlı değilse liste boş çizilir — önce proje dillerini (Translations paneli) kur. Bu durumda
|
|
1594
|
+
"change olayında runtime machine.setLanguage(value) çağırır: seçim localStorage'a (zeyrek:{appSlug}:lang) yazılır ve çeviri bağlı bütün prop'lar SAYFA YENİLENMEDEN yeniden çözülür. Olay yükü akışa params kanalından da iner, yani event.data.value akışta okunabilir.",
|
|
1595
|
+
'Projede dil tanımlı değilse liste boş çizilir (ortak Select’in boş durumu) — önce proje dillerini (Translations paneli) kur. Bu durumda kutuda yalnız placeholder görünür; placeholder varsayılan olarak BOŞ olduğu için metni yazılmadıkça kutu yine boş görünür.',
|
|
1596
1596
|
'mount olayında self.value BOŞTUR (ölçüldü, 2026-09-18): geçerli dili render katmanı her turda prop olarak enjekte ediyor ama düğümün prop kaydına yazmıyor; düğüme yazan tek şey change olayının yüküdür. Yani "açılışta dile göre dallan" kurulamıyor (docs/issues.md ARC-098), dili okuyan akış change olayına bağlanmalı.',
|
|
1597
|
-
'
|
|
1597
|
+
'Listeyi KANVAS da gösterir: tasarım anında projenin dilleri ve başlıktaki içerik dili enjekte edilir, yani bileşen tasarımcıda da dolu görünür ve displayMode/size/placeholder etkisi kanvasta ölçülür. Kanvasta liste AÇILMAZ (çift tıklama özellik panelini açsın diye); seçimi önizlemede dene.',
|
|
1598
1598
|
'Listeyi ve seçili değeri render katmanı enjekte eder; ikisi de panelden ya da akıştan YAZILAMAZ. value prop gizlidir ve tek yönlüdür: change onu düğüme geri yazar, akış self.value ile okur. Dili akıştan değiştirmenin yolu bu prop DEĞİLDİR.',
|
|
1599
1599
|
"Dil kümesi KAPALI DEĞİLDİR: projeye eklenen her ISO 639-1 kodu listede çıkar (project_update languages). Komponent kütüphanesinin kendi arayüz metni (sayfalama, filtre operatörleri, boş durumlar) yalnız tr/en sözlüğü taşır ve sözlüğü olmayan dilde İNGİLİZCEYE düşer — sayfa içeriği ve sayı/tarih biçimi ise seçilen dilin kendisini kullanır. Yani 'de' seçili bir uygulamada tablo sayfalaması İngilizce, sayılar Almanca ayraçla çıkar; bu bilinçlidir.",
|
|
1600
|
-
"Sekme başlığı (page.browserTitleKey) bu değişimi
|
|
1600
|
+
"Sekme başlığı (page.browserTitleKey) bu değişimi İZLER: dil değişince başlık da yeni dilde çözülür (ölçüldü 2026-09-11); anahtarın o dilde değeri yoksa projenin varsayılan diline düşer.",
|
|
1601
1601
|
'Seçim UYGULAMA başınadır, proje ya da sayfa başına değil: anahtar uygulamanın slug\'ını taşır (zeyrek:{appSlug}:lang), yani aynı tarayıcıda açılan başka bir uygulama kendi değerini tutar ama o uygulamanın bütün sayfaları ve önizlemeleri tek değeri paylaşır. Sayfaya birden fazla koymanın anlamı yok.'
|
|
1602
1602
|
],
|
|
1603
1603
|
propNotes: {
|
|
1604
|
-
label: '
|
|
1604
|
+
label: 'Etiket; geniş kutuda (280px üstü, kap sorgusu) listenin SOLUNDA, dar kutuda ÜSTÜNDE durur ve kontrole <label for> ile bağlıdır. Boşken (yalnız boşluk yazmak da boş sayılır) erişilebilir ad placeholder metnine, o da boşsa Language sabitine düşer.',
|
|
1605
1605
|
value: 'Gizli; runtime YAZAR (durum kanalı). Seçilen dil kodu. AI bunu set etmez — panelden ya da akıştan yazılan değer render katmanının enjeksiyonuyla ezilir.',
|
|
1606
|
-
placeholder: 'Yalnız seçili dil listede YOKKEN
|
|
1606
|
+
placeholder: 'Yalnız seçili dil listede YOKKEN kutuda görünen yer tutucu metin. Varsayılanı boştur: dil kurulmamış projede kutunun boş görünmemesi için metni SEN yazacaksın.',
|
|
1607
1607
|
description: 'Listenin altındaki yardımcı metin.',
|
|
1608
1608
|
displayMode: "Seçenek etiketinin biçimi: 'native' ana dil adı (Türkçe), 'code' büyük harf kod (TR), 'both' ikisi birden (Türkçe (TR)). Sözlükte karşılığı olmayan kod her kipte kendi kodunu gösterir.",
|
|
1609
|
-
isDisabled: '
|
|
1610
|
-
size: "Kutu ölçüsü: 'sm' | 'md' | 'lg'; boş bırakılırsa temanın form varsayılanı geçerlidir.
|
|
1609
|
+
isDisabled: 'Liste açılmaz ve Tab sırasından düşer.',
|
|
1610
|
+
size: "Kutu ölçüsü: 'sm' | 'md' | 'lg'; boş bırakılırsa temanın form varsayılanı geçerlidir. dropdown ile aynı ortak kontrol olduğundan yanına konan aynı ölçüdeki form girdileriyle aynı yükseklikte durur.",
|
|
1611
1611
|
isHidden: 'Düğümü hiç çizmez (ortak katman).'
|
|
1612
1612
|
},
|
|
1613
1613
|
guide: 'translation'
|
|
@@ -505,7 +505,7 @@ export const componentEventContracts = {
|
|
|
505
505
|
mount: { ...NO_DATA, reads: 'self.value BOŞTUR: enjekte edilen geçerli dil düğümün prop kaydına yazılmıyor, oraya yalnız change yükü yazılıyor (ölçüldü 2026-09-18, ARC-098). Dili okuyacak akışı change’e bağla' },
|
|
506
506
|
change: {
|
|
507
507
|
payload: { value: 'string (seçilen dil kodu, projenin yazdığı biçimde)' },
|
|
508
|
-
reads: 'Yük düğümün kendi value prop’una yazılır (yazmayı machine.onEmit yapar, çünkü olayda data var), akış self.value ile okur. Dili DEĞİŞTİREN yazma bu değildir: render katmanı aynı olayda machine.setLanguage(value) + setAppLocale(value) çağırır. Yalnız kullanıcı seçiminde yayılır; akışın value’ya yazması hiçbir şeyi değiştirmez (enjekte edilen değer ezer)'
|
|
508
|
+
reads: 'Yük düğümün kendi value prop’una yazılır (yazmayı machine.onEmit yapar, çünkü olayda data var), akış self.value ile okur; aynı yük params kanalından da iner, yani event.data.value da dolu. Dili DEĞİŞTİREN yazma bu değildir: render katmanı aynı olayda machine.setLanguage(value) + setAppLocale(value) çağırır. Yalnız kullanıcı seçiminde yayılır; akışın value’ya yazması hiçbir şeyi değiştirmez (enjekte edilen değer ezer)'
|
|
509
509
|
},
|
|
510
510
|
focus: NO_DATA,
|
|
511
511
|
blur: NO_DATA
|
|
@@ -1316,7 +1316,7 @@ budur — bir preset ya da `componentStyles` sizin değerinizi eziyorsa `styleLa
|
|
|
1316
1316
|
| Değişiklik | Tool | Neden |
|
|
1317
1317
|
|---|---|---|
|
|
1318
1318
|
| Komponent ekle/sil/taşı, prop, binding, event | `page_schema_patch` | Doğrulama duvarı + açık Studio canvas'ına SignalR canlı yayını + eşzamanlı yazar kilidi yalnız bu yolda çalışır |
|
|
1319
|
-
| Ad, slug, browserTitle, `browserTitleKey`, layout, roller, middleware | `page_update` | Üstbilgi alanları micro-op sözlüğünde yok. `browserTitleKey` sekme başlığını çeviri anahtarına bağlar: verilirse başlık sözlükten çözülür, boşsa `browserTitle` kullanılır. Başlık
|
|
1319
|
+
| Ad, slug, browserTitle, `browserTitleKey`, layout, roller, middleware | `page_update` | Üstbilgi alanları micro-op sözlüğünde yok. `browserTitleKey` sekme başlığını çeviri anahtarına bağlar: verilirse başlık sözlükten çözülür, boşsa `browserTitle` kullanılır. Başlık canlı dil değişimini izler; anahtarın o dilde değeri yoksa varsayılan dile düşer (`platform_guide('translation')`) |
|
|
1320
1320
|
|
|
1321
1321
|
Platformun `PUT /pages/...` ucu **replace**'tir: gönderilmeyen `schema`/`events`/`roleIds`
|
|
1322
1322
|
alanları silinir. Gateway bu yüzden `page_update`'te sayfayı önce okur, yalnız verdiğin
|
|
@@ -175,11 +175,10 @@ motor olmasıdır (tarayıcı JS'i ve Jint).
|
|
|
175
175
|
verilmişse sekme başlığı çeviri sözlüğünden çözülür; anahtar boşsa `browserTitle` olduğu gibi
|
|
176
176
|
kullanılır. İkisi de boşsa sayfa adı yazılır.
|
|
177
177
|
|
|
178
|
-
> **Sekme başlığı
|
|
179
|
-
>
|
|
180
|
-
>
|
|
181
|
-
>
|
|
182
|
-
> çözülmesi. Sekme başlığının dilini doğrulayacaksan **yeniden yükleyerek** doğrula.
|
|
178
|
+
> **Sekme başlığı canlı dil değişimini İZLER.** `language-selector` ile dil değiştirildiğinde
|
|
179
|
+
> sayfa içeriğiyle birlikte sekme başlığı da yeni dilde çözülür; yeniden yükleme gerekmez
|
|
180
|
+
> (ölçüldü 2026-09-11). Anahtarın seçilen dilde değeri yoksa projenin varsayılan diline düşer.
|
|
181
|
+
> 2026-09-08 ölçümündeki "açılıştaki dilde kalır" davranışı düzeltildi.
|
|
183
182
|
|
|
184
183
|
## Doğrulama mesajları: `t:` öneki
|
|
185
184
|
|
package/package.json
CHANGED