// Turkish — tam çeviri; eksik anahtarlar İngilizce'ye geri döner. export default { // brand / common "brand.sub": "Gateway", "common.loading": "Yükleniyor…", "common.save": "Kaydet", "common.saving": "Kaydediliyor…", "common.cancel": "İptal", "common.add": "Ekle", "common.edit": "Düzenle", "common.delete": "Sil", "common.close": "Kapat", "common.test": "Test", "common.copy": "Kopyala", "common.copied": "Kopyalandı", "common.confirm": "Onayla", "common.none": "yok", "common.saved": "Kaydedildi", "common.error": "Hata", "common.ok": "Tamam", "common.refresh": "Yenile", "common.actions": "İşlemler", "common.optional": "isteğe bağlı", "common.search": "Ara", "common.all": "tümü", // nav "nav.dashboard": "Pano", "nav.models": "Modeller", "nav.routing": "Yönlendirme", "nav.protocols": "Protokoller", "nav.keys": "API anahtarları", "nav.playground": "Oyun alanı", "nav.settings": "Ayarlar", "nav.foot": "Gateway · v{v}", "nav.billing": "Router anahtarı ve ödeme", // topbar / status "status.router": "Yönlendirici", "status.gateway": "Gateway", "status.online": "çevrimiçi", "status.offline": "çevrimdışı", "status.checking": "kontrol ediliyor…", "status.noKey": "anahtar yok", "theme.toggle": "Tema", "logout": "Çıkış yap", // login "login.title": "allaigate Gateway", "login.subtitle": "Bu gateway'i yönetmek için yönetici token'ını girin.", "login.token": "Yönetici token'ı", "login.tokenPlaceholder": "yönetici token'ını yapıştırın", "login.submit": "Konsolu aç", "login.hint": "Token, başlangıçta gateway günlüğüne yazdırılır veya [admin].token_env ile ayarlanır.", "login.failed": "Geçersiz yönetici token'ı.", // dashboard "dash.title": "Pano", "dash.subtitle": "Model havuzunuz için canlı trafik, maliyet ve yönlendirme analitiği.", "dash.range": "Aralık", "dash.range.1h": "1s", "dash.range.24h": "24s", "dash.range.7d": "7g", "dash.kpi.requests": "İstekler", "dash.kpi.tokens": "Token'lar", "dash.kpi.cost": "Maliyet", "dash.kpi.latency": "Ort. gecikme", "dash.kpi.success": "Başarı oranı", "dash.kpi.failovers": "Yedeklemeler", "dash.series.title": "Zamana göre istekler", "dash.series.cost": "Zamana göre maliyet", "dash.series.empty": "Bu aralıkta henüz trafik yok.", "dash.breakdown.title": "Dağılım", "dash.groupby.model": "modele göre", "dash.groupby.tier": "kademeye göre", "dash.groupby.label": "göreve göre", "dash.groupby.account": "hesaba göre", "dash.recent.title": "Son istekler", "dash.recent.empty": "Henüz kayıtlı istek yok. Oyun alanını deneyin.", "dash.col.time": "Zaman", "dash.col.model": "Model", "dash.col.tier": "Kademe", "dash.col.task": "Görev", "dash.col.tokens": "Token'lar", "dash.col.cost": "Maliyet", "dash.col.latency": "Gecikme", "dash.col.outcome": "Sonuç", "dash.col.requests": "İstekler", "dash.col.errors": "Hatalar", "dash.health.title": "Sağlık", "dash.health.reachable": "erişilebilir", "dash.health.unreachable": "erişilemiyor", "dash.health.getKey": "Router anahtarı al", // models "models.title": "Modeller", "models.subtitle": "Model havuzunuz — ucuz yerel modelleri bulut API'leriyle karıştırın.", "models.add": "Model ekle", "models.empty": "Henüz model yok. Başlamak için ilk modelinizi ekleyin.", "models.col.id": "ID", "models.col.provider": "Sağlayıcı", "models.col.model": "Model", "models.col.tier": "Maliyet kademesi", "models.col.key": "Anahtar", "models.col.caps": "Yetenekler", "models.col.price": "Fiyat (giriş/çıkış)", "models.probe": "Sına", "models.probe.ok": "Erişilebilir ({ms} ms)", "models.probe.fail": "Başarısız: {err}", "models.form.addTitle": "Model ekle", "models.form.editTitle": "Modeli düzenle", "models.form.id": "ID", "models.form.idHint": "Yönlendirmede kullanılan benzersiz id, örn. local-qwen", "models.form.provider": "Sağlayıcı", "models.form.baseUrl": "Temel URL", "models.form.model": "Model adı", "models.form.kind": "Tür", "models.form.costTier": "Maliyet kademesi", "models.form.priceIn": "Giriş fiyatı ($/1M)", "models.form.priceOut": "Çıkış fiyatı ($/1M)", "models.form.apiKeyEnv": "API anahtarı ortam değişkeni adı", "models.form.apiKeyEnvHint": "Bu sağlayıcının anahtarını tutan ortam değişkeni / saklı gizli adı.", "models.form.caps": "Yetenekler", "models.form.secret": "Gizli değer", "models.form.secretStored": "saklandı", "models.form.secretEnv": "ortamdan", "models.form.secretMissing": "ayarlanmadı", "models.form.secretPlaceholder": "anahtarı ayarla veya değiştir (yalnızca yazma)", "models.deleteConfirm": "\"{id}\" modelini sil?", // routing "routing.title": "Yönlendirme", "routing.subtitle": "Karmaşıklık kademelerini sıralı model listesiyle eşleştirin (öncelik = yedek).", "routing.default": "Varsayılan model", "routing.defaultHint": "Yönlendirici erişilemez olduğunda kullanılır.", "routing.tiers": "Kademeler", "routing.tierHint": "Sıralamak için çipleri sürükleyin; birincisi tercih edilir, diğerleri yedektir.", "routing.addModel": "+ ekle", "routing.addTier": "Kademe ekle", "routing.tierName": "Kademe adı", "routing.policy": "İlke", "routing.policy.mode": "Mod", "routing.policy.fixed": "Sabit tablo", "routing.policy.costAware": "Maliyet bilinçli", "routing.policy.maxCost": "İstek başına maks. maliyet ($)", "routing.policy.minClass": "Kademe başına minimum sınıf", "routing.empty": "Kullanılabilir model yok — önce model ekleyin.", // protocols "protocols.title": "Protokoller", "protocols.subtitle": "Yalnızca ihtiyaç duyduğunuz gelen API yüzeylerini etkinleştirin. Geçişler anında uygulanır.", "protocols.implemented": "uygulandı", "protocols.planned": "planlandı", "protocols.openai_chat": "OpenAI Chat Completions", "protocols.openai_chat.d": "POST /v1/chat/completions — OpenAI SDK, LangChain, crewAI ile çalışır.", "protocols.openai_completions": "OpenAI Completions (eski)", "protocols.openai_completions.d": "POST /v1/completions — eski entegrasyonlar.", "protocols.openai_embeddings": "OpenAI Embeddings", "protocols.openai_embeddings.d": "POST /v1/embeddings — RAG ardışık düzenleri.", "protocols.openai_models": "OpenAI Models", "protocols.openai_models.d": "GET /v1/models — istemci otomatik keşfi.", "protocols.anthropic_messages": "Anthropic Messages", "protocols.anthropic_messages.d": "POST /v1/messages — Claude yerel ajanları.", "protocols.mcp": "MCP (Model Context Protocol)", "protocols.mcp.d": "JSON-RPC / SSE — MCP yerel orkestratörler.", "protocols.native_passthrough": "Yerel geçiş", "protocols.native_passthrough.d": "POST /route — yönlendirme kararına doğrudan erişim.", // keys "keys.title": "API anahtarları", "keys.subtitle": "Ajanlarınız için sanal gateway anahtarları. Sağlayıcı anahtarları gateway'den hiç çıkmaz.", "keys.add": "Yeni anahtar", "keys.empty": "Anahtar yapılandırılmadı — gateway açık modda (kimlik doğrulama yok).", "keys.openMode": "Açık mod: tüm istekler kabul edilir (anahtar gerekmez).", "keys.col.key": "Anahtar", "keys.col.account": "Hesap", "keys.col.rate": "Oran / dak", "keys.col.models": "İzin verilen modeller", "keys.form.title": "Yeni API anahtarı", "keys.form.account": "Hesap", "keys.form.rate": "Oran sınırı / dak", "keys.form.allow": "İzin verilen modeller", "keys.form.allowHint": "Tüm modellere izin vermek için boş bırakın.", "keys.form.custom": "Özel anahtar (isteğe bağlı)", "keys.form.customHint": "sk-gw-… otomatik oluşturmak için boş bırakın.", "keys.created": "Anahtar oluşturuldu — şimdi kopyalayın, bir daha gösterilmeyecek:", "keys.revoke": "İptal et", "keys.revokeConfirm": "Bu anahtarı iptal et?", "keys.allowAll": "tümü", // playground "pg.title": "Oyun alanı", "pg.subtitle": "Canlı ardışık düzen üzerinden istem gönderin ve yönlendirme kararını inceleyin.", "pg.system": "Sistem istemi", "pg.systemPlaceholder": "isteğe bağlı sistem mesajı", "pg.prompt": "İstem", "pg.promptPlaceholder": "Bir şey sorun…", "pg.mode": "Mod", "pg.mode.auto": "Otomatik (yönlendir)", "pg.mode.pinned": "Sabitlenmiş model", "pg.profile": "Profil", "pg.model": "Model", "pg.temp": "Sıcaklık", "pg.maxTokens": "Maks. token", "pg.send": "Gönder", "pg.stream": "Akış", "pg.sending": "Gönderiliyor…", "pg.answer": "Yanıt", "pg.empty": "Yanıt ve yönlendirme kararı burada görünecek.", "pg.decision": "Yönlendirme kararı", "pg.task": "Görev", "pg.tier": "Kademe", "pg.score": "Karmaşıklık", "pg.selected": "Seçilen model", "pg.source": "Rota kaynağı", "pg.cost": "Maliyet", "pg.latency": "Gecikme", "pg.tokens": "Token'lar (giriş/çıkış)", "pg.failover": "Yedekleme", "pg.error": "İstek başarısız", // settings "settings.title": "Ayarlar", "settings.subtitle": "Gateway bağlantısı, yönlendirme girişi, güvenilirlik ve gözlemlenebilirlik.", "settings.router": "Yönlendirici bağlantısı", "settings.router.url": "Yönlendirici URL'si", "settings.router.keyEnv": "Yönlendirici anahtarı ortam değişkeni adı", "settings.router.timeout": "Zaman aşımı (ms)", "settings.router.verifyTls": "TLS sertifikasını doğrula", "settings.router.taxonomy": "Taksonomi id", "settings.router.getKey": "Router anahtarı almak veya bakiye yüklemek için:", "settings.router.secret": "Router anahtarı (değer)", "settings.router.test": "Router'ı test et", "router.probe.ok": "Router çalışıyor ({ms} ms)", "router.probe.noKey": "Router anahtarı ayarlanmadı", "router.probe.auth": "Anahtar reddedildi — geçersiz veya iptal edilmiş", "router.probe.payment": "Ödeme gerekli — plan süresi doldu veya kota tükendi", "router.probe.quota": "Hız sınırı aşıldı", "router.probe.timeout": "Router zaman aşımına uğradı", "router.probe.unreachable": "Router erişilemiyor", "router.probe.error": "Router hatası", "router.usage": "Kullanım", "settings.route": "Yönlendirme girişi", "settings.route.strategy": "Metin stratejisi", "settings.route.maxChars": "Maks. karakter", "settings.route.cacheTtl": "Önbellek TTL", "settings.route.profile": "Varsayılan profil", "settings.breaker": "Devre kesici", "settings.breaker.threshold": "Hata eşiği", "settings.breaker.cooldown": "Bekleme süresi", "settings.log": "Günlükleme", "settings.log.level": "Günlük seviyesi", "settings.log.bodies": "Mesaj gövdelerini günlükle (gizlilik kapalı)", "settings.telemetry": "Telemetri", "settings.telemetry.metrics": "Prometheus /metrics'i aç", "settings.cortiq": "Yanıt meta verisi", "settings.cortiq.echo": "Yanıtlarda cortiq yönlendirme bloğunu yansıt", "settings.stats": "İstatistikler", "settings.stats.enabled": "İstek istatistiklerini kaydet", "settings.stats.file": "İstatistik dosyası (JSONL)", "settings.stats.retention": "Saklama süresi", "settings.listen": "Dinleme adresi", "settings.export": "Yapılandırmayı dışa aktar", "settings.import": "Yapılandırmayı içe aktar", "settings.needsRestart": "Kaydedildi. Bazı değişiklikler (dinleme adresi) yeniden başlatma gerektirir.", // toasts / misc "toast.saved": "Değişiklikler kaydedildi", "toast.deleted": "Silindi", "toast.probing": "Sınanıyor…", "toast.imported": "Yapılandırma içe aktarıldı", "dash.cache": "Anlamsal önbellek", "dash.cache.hitRate": "İsabet oranı", "dash.cache.hits": "İsabet", "dash.cache.saved": "Tasarruf", "dash.cache.disabled": "Anlamsal önbellek kapalı — Ayarlar'dan etkinleştirin.", "settings.cache": "Anlamsal önbellek", "settings.cache.enabled": "Anlamsal önbelleği etkinleştir", "settings.cache.threshold": "Benzerlik eşiği", "settings.cache.ttl": "Giriş TTL", "settings.cache.embed": "Gömme modeli", "settings.cache.note": "Anlamsal önbellek ayarları yeniden başlatmadan sonra geçerli olur.", // ── translated from en.js (previously falling back to English) ── // nav "nav.import": "Model içe aktar", // dash "dash.clear": "Günlükleri temizle", "dash.clearConfirm": "Kaydedilmiş tüm istatistikler ve günlükler silinsin mi? Bu işlem geri alınamaz.", "dash.cleared": "Günlükler temizlendi", // models "models.form.idOrModel": "Bir id ya da model adı girin", "models.form.apiKey": "API anahtarı", "models.form.apiKeyPlaceholder": "API anahtarınızı yapıştırın", "models.form.apiKeyNotNeeded": "gerekmiyor (yerel sunucu)", "models.form.apiKeyHint": "Ağ geçidinde güvenle saklanır; bir daha gösterilmez.", "models.form.keyStored": "Kayıtlı bir anahtar var — korumak için boş bırakın ya da yenisini yapıştırın.", "models.form.keyFromEnv": "Ortam değişkenindeki anahtar kullanılıyor.", "models.form.paramsTitle": "Üretim ve düşünme parametreleri (O(1), MTP, sıcaklık)", "models.form.temperature": "Sıcaklık", "models.form.temperatureHint": "Üretim sıcaklığı (0.0 = belirlenimci, 1.0+ = yaratıcı).", "models.form.topP": "Top-P (nucleus örnekleme)", "models.form.topPHint": "Örnekleme eşiği (0.0 .. 1.0).", "models.form.maxTokens": "Maks. token", "models.form.maxTokensHint": "Üretilecek en fazla token sayısı.", "models.form.thinkBudget": "Düşünme modu / düşünme bütçesi", "models.form.thinkBudgetHint": "Akıl yürütme token bütçesi (0 = kapalı, N > 0 = en fazla akıl yürütme tokeni).", "models.form.systemPrompt": "Varsayılan sistem istemi", "models.form.systemPromptHint": "İstekte sistem istemi yoksa otomatik olarak başa eklenir.", "models.form.systemPromptPlaceholder": "Yardımsever bir asistansın…", "models.form.testKey": "Test et ve modelleri yükle", "models.form.testing": "kontrol ediliyor…", "models.form.foundModels": "{n} model yüklendi", "models.form.modelPlaceholder": "aramak için yazın…", "models.form.modelHint": "Anahtarınızla listeyi çekmek için “Test et ve modelleri yükle”ye tıklayın, sonra birini seçin.", "models.managed": "yönetilen", "models.managedHint": "Yönetilen CMF sunucusu tarafından sağlanır (Ayarlar → Yerel modeller). Yapılandırmayı orada yapın.", // settings "settings.router.enabled": "Yönlendiriciyi kullan (kapalı = yalnızca yerel modeller)", "settings.cmf": "Yerel modeller (CMF)", "settings.cmf.localOnly": "Yalnızca yerel modelleri kullan", "settings.cmf.manage": "Yerel model sunucusu çalıştır", "settings.cmf.autoInstall": "cortiq'i otomatik kur (crates.io)", "settings.cmf.autoUpdate": "cortiq'i otomatik güncelle", "settings.cmf.model": "Yerel .cmf model yolu", "settings.cmf.port": "Yerel sunucu portu", "settings.cmf.modelId": "Havuzdaki model id'si", "settings.cmf.note": "Yerel bir .cmf dosyasını cortiq ile sunar (github.com/infosave2007/cmf). Yönlendirici erişilemez olsa bile çalışır.", "settings.cmf.threads": "İş parçacıkları", "settings.cmf.gpu": "GPU kullan (Metal / wgpu)", "settings.cmf.speedNote": "İş parçacıkları çözme aşamasındaki matris-vektör çarpımlarını paralelleştirir (~3× hızlı; 0 = çalışma zamanı varsayılanı). GPU'ya aktarım daha çok uzun istemlerin prefill aşamasına yarar — çözme bellek bant genişliğine bağlı olduğundan Apple Silicon'da etkisi yaklaşık nötrdür.", "settings.cmf.pick": "bir model seçin", "settings.cmf.models": "Yerel modeller", "settings.cmf.modelsHelp": "Her satır, ağ geçidinin çalıştırdığı (kendi portunda kendi cortiq serve süreci olan) ve havuza kaydettiği bir modeldir. Kaç .cmf dosyanız ve boş portunuz varsa o kadar ekleyebilirsiniz.", "settings.cmf.rowHint": "id · .cmf dosyası · port · iş parçacığı · GPU. Değişiklikler yeniden başlatınca geçerli olur; satırı silmek o sunucuyu durdurur.", "settings.cmf.addServer": "+ Yerel model ekle", "settings.cmf.checkPort": "Portu kontrol et", "settings.cmf.portFree": "port boş", "settings.cmf.portBusy": "port kullanımda", "settings.cmf.useSuggested": "{port} kullan", "settings.cmf.serving": "{model} :{port} üzerinde sunuluyor", "settings.cmf.intro": "Modelleri cortiq motoruyla yerelde çalıştırın — çevrimdışıyken ya da yönlendirici çöktüğünde bile çalışır.", "settings.cmf.runtime": "cortiq çalışma zamanı", "settings.cmf.runtimeHelp": ".cmf modellerini yükleyip çalıştıran `cortiq` komut satırı aracı. Yerel sunucuyu başlatmadan önce bir kez kurun.", "settings.cmf.install": "cortiq'i kur", "settings.cmf.reinstall": "Yeniden kur / güncelle", "settings.cmf.installing": "kuruluyor… (derleniyor, birkaç dakika)", "settings.cmf.installedOk": "cortiq kuruldu", "settings.cmf.notInstalled": "kurulu değil", "settings.cmf.addModel": "Model ekle", "settings.cmf.addModelHelp": "Modeller “Model içe aktar” sekmesinde indirilip dönüştürülür (HuggingFace → .cmf). Sonra aşağıdaki yerel sunucuyu o .cmf dosyasına yönlendirin.", "settings.cmf.importNote": "Henüz model yok mu? Bir tane içe aktarın:", "settings.cmf.importLink": "İçe aktarmayı aç", "settings.cmf.modelHelp": "Sunulacak .cmf dosyasının yolu (ör. models/qwen.cmf), içe aktarma sekmesinde üretilir. Farklı görevler için birden çok model mi? Hepsini içe aktarıp bu yolu değiştirin.", "settings.cmf.portHelp": "Yerel model sunucusunun dinlediği TCP portu (varsayılan 8081). Yalnızca başka bir servisle çakışırsa değiştirin.", "settings.cmf.threadsHelp": "Üretim için kaç CPU çekirdeği kullanılacağı. Daha fazlası = daha hızlı (tek çekirdeğe göre ~3×); 0 seçimi çalışma zamanına bırakır.", "settings.cmf.gpuHelp": "Matris hesaplarını GPU'ya aktarır (Metal/wgpu). Apple Silicon'da çoğunlukla uzun istemleri hızlandırır — çözme bellek bant genişliğine bağlıdır.", "settings.cmf.localOnlyHelp": "Her isteği yerel modele yönlendirir; yönlendiriciyi ve tüm bulut sağlayıcılarını yok sayar.", "settings.cmf.manageHelp": "Ağ geçidi açılışta aşağıdaki .cmf için `cortiq serve` başlatır ve istekleri oraya yönlendirir. cortiq'in kurulu olması gerekir (adım 1). Yeniden başlatınca geçerli olur.", "settings.cmf.autoInstallHelp": "Açılışta cortiq yoksa crates.io üzerinden otomatik kurar.", "settings.cmf.autoUpdateHelp": "Açılışta daha yeni bir sürüm varsa cortiq'i en son sürüme yükseltir.", "settings.router.enabledHelp": "Her isteği cortiq yönlendiricisi sınıflandırsın (görev türü + karmaşıklık) ve model seçsin. Kapalı = yalnızca yerel yönlendirme tablosunu kullan.", "settings.router.verifyTlsHelp": "Yönlendiricinin TLS sertifikasını doğrula. Yalnızca kendinden imzalı ya da IP'ye bağlı sertifikada kapatın.", "settings.telemetry.metricsHelp": "Prometheus metriklerini GET /metrics adresinde yayınla.", "settings.cortiq.echoHelp": "Her yanıt gövdesine `cortiq` alanı ekle (görev, model, maliyet). Yanıt başlıkları her zaman gönderilir.", "settings.stats.enabledHelp": "Panoyu ve grafikleri beslemek için son istekleri kaydet.", "settings.cache.enabledHelp": "Anlamsal önbellek: yeni bir istem geçmiştekine çok benziyorsa kaydedilmiş yanıtı döndürür ve model çağrısını atlar. Havuzda bir gömme (embedding) modeli gerekir.", "settings.log.bodiesHelp": "İstek/yanıt mesaj gövdelerinin tamamını günlüğe yaz. Gizlilik için varsayılan olarak kapalı.", "settings.router.saveKey": "Anahtarı kaydet", "settings.router.keySaved": "Yönlendirici anahtarı kaydedildi", "settings.router.keyEmpty": "Önce anahtarı yapıştırın", "settings.router.secretHelp": "api.allaigate.com e-postanızdaki anahtarı yapıştırıp Anahtarı kaydet'e basın. Bu bir “API anahtarları” değeri DEĞİLDİR — onlar ağ geçidinizi çağıran istemciler içindir.", "settings.router.keyStoredMask": "•••••••••••• — anahtar kayıtlı (değiştirmek için yenisini yapıştırın)", "settings.route.strategyHelp": "Sınıflandırma için yönlendiriciye gönderilen metin: last_user = yalnızca son kullanıcı mesajı; last_user_plus_system = son kullanıcı mesajı + sistem istemi; concat_all = tüm konuşma.", "settings.route.maxCharsHelp": "Bu metnin yönlendiriciye gönderilen en fazla karakter sayısı (fazlası kırpılır). Daha fazlası = daha isabetli sınıflandırma, ama daha yavaş ve pahalı yönlendirici çağrıları.", "settings.route.cacheTtlHelp": "Aynı istek için yönlendirme kararının, yönlendiriciye yeniden sorulmadan önce ne kadar önbellekte tutulacağı (ör. 60s, 5m).", "settings.route.profileHelp": "İstek belirtmediğinde kullanılacak varsayılan yönlendirme profili: cost-saver (en ucuz), balanced ya da quality-first (en iyi model). Yönlendiricinin hangi modeli seçeceğini etkiler.", // import "import.subtitle": "HuggingFace'te arayın, yerel bir .cmf dosyasına dönüştürün ve sunun.", "import.searchPlaceholder": "HuggingFace modellerinde ara (ör. qwen3, llama)…", "import.searching": "Aranıyor…", "import.noResults": "Model bulunamadı.", "import.configure": "Dönüştürmeyi yapılandır", "import.outName": "Çıktı adı", "import.outNameHint": ".cmf dosya adı (harf, rakam, - ve _).", "import.quant": "Niceleme", "import.convert": "Dönüştür ve yükle", "import.converting": "Dönüştürülüyor", "import.started": "Dönüştürme başladı", "import.failed": "Dönüştürme başarısız — günlüğe bakın.", "import.register": "Yerel model olarak kaydet", "import.registered": "“{id}” olarak kaydedildi. Sunmak için cortiq-server'ı çalıştırın.", "import.jobs": "İndirmeler ve dönüştürmeler", "import.cancel": "İptal", "import.cancelling": "İptal ediliyor — yarım kalan dosya temizleniyor…", "import.delete": "Sil", "import.deleteConfirm": "Bu model ve dönüştürülmüş .cmf dosyası diskten silinsin mi?", "import.deleted": "Dosyalarıyla birlikte silindi", "import.state.running": "çalışıyor", "import.state.done": "tamam", "import.state.error": "hata", "import.state.cancelled": "iptal edildi", "import.featuredTitle": "Öne çıkan hazır .cmf modelleri", "import.featuredSub": "HuggingFace'teki infosave hesabından hazır .cmf modelleri — liste canlı okunur, yeni modeller kendiliğinden görünür.", "import.readyCmfBadge": "Hazır .cmf", "import.directDownload": "İndir", "import.q.q8_2f": "8 bit çift alan (𝒲×θ) — önerilen: en iyi kalite/boyut dengesi.", "import.q.q8_row": "Satır başına 8 bit — basit ve sağlam.", "import.q.q4": "4 bit blok — en küçük, kalite daha düşük.", "import.q.q4_tiled": "4 bit döşeli (Q4_TILED) — Metal GPU'da 1,66× daha hızlı.", "import.q.vbit": "Değişken 3–8 bit — uzman başına bit bütçesi.", "import.q.q1t": "1,58 bit üçlü (Q1T) — seyrek aykırı değerlerle BitNet b1.58.", "import.q.q1s": "1 bit seyrek (Q1S) — holografik aykırı değerlerle 1 bit taban.", "import.q.q1p": "1 bit PTQ (Q1P) — hata yayılımlı 1 bit.", "import.q.q1": "1 bit (Q1) — saf ikili biçim.", "import.q.f16": "16 bit — niceleme yok.", "import.q.f32": "32 bit — tam hassasiyet (büyük dosya).", "import.adv.title": "Gelişmiş ayarlar", "import.adv.auto": "otomatik", "import.adv.linearCore": "Doğrusal çekirdek", "import.adv.linearHint": "Doğrusal dikkat katmanlarının nasıl taşındığı/katlandığı.", "import.adv.nphase": "vmf_phase faz/başlık", "import.adv.vbitShape": "VBIT bütçe biçimi", "import.adv.meanBits": "VBIT ortalama bit", "import.adv.shard": "Parça üst sınırı (GB)", "import.adv.noShard": "parçalama yok", "import.adv.skipMtp": "MTP başlığını atla", "import.adv.o1": "O(1) dikkat", "import.adv.o1Hint": "Sabit bellekli akış dikkati: KV önbelleği prefill sonrası serbest bırakılır, böylece uzun bağlamlar belleği büyütmez. Ağırlıklar bayt bayt aynı kalır — yalnızca yükleme anına dair bir ipucu kaydedilir; istediğiniz zaman geri dönebilirsiniz (--o1 off ile sunun). Qwen3-0.6B üzerinde doğrulandı: tüm katmanlar ≈ ×1,18 şaşkınlık (perplexity).", "import.adv.o1Off": "kapalı — tam dikkat (varsayılan)", "import.adv.o1All": "all — her softmax katmanını dönüştür", "import.adv.o1Deep": "deep N — yalnızca en derin N katman", "import.adv.o1Custom": "özel — açık katman listesi", "import.adv.o1DeepN": "N derin katman", "import.adv.o1Layers": "Katmanlar (virgülle ayrılmış)", "import.adv.o1mHint": "landmark bütçesi (varsayılan 32)", "import.adv.o1windowHint": "tam pencere genişliği (varsayılan 128)", "import.adv.o1sinkHint": "kalıcı tam sink anahtarları (varsayılan 4)", // onboarding "onboarding.title": "İlk kurulum", "onboarding.welcome": "Cortiq Gateway'e hoş geldiniz", "onboarding.welcomeSub": "Dilinizi seçin — üst çubuktan istediğiniz zaman değiştirebilirsiniz.", "onboarding.next": "İleri", "onboarding.back": "Geri", "onboarding.skip": "Şimdilik atla", "onboarding.skipSetup": "Atla", "onboarding.finish": "Kurulumu tamamla", "onboarding.featuredTitle": "Hazır modeller (tek tık)", "onboarding.featuredSub": "Bunlar HuggingFace'te infosave tarafından yayınlanan, önceden dönüştürülmüş .cmf modelleridir — sadece indirin, dönüştürme gerekmez. Hemen başlamak için bir ya da birkaçını seçin.", "onboarding.download": "İndir", "onboarding.hfTitle": "Herhangi bir HuggingFace modeli — otomatik dönüştürme", "onboarding.hfSub": "İstediğiniz modeli arayın, bir niceleme seçin; biz onu otomatik olarak .cmf biçimine dönüştürelim. Elle yapılandırma düzenlemesi yok.", "onboarding.noJobs": "Henüz indirme yok.", "onboarding.doneTitle": "Her şey hazır", "onboarding.doneSub": "İndirdiğiniz modeller otomatik olarak kaydedilir. Daha fazlasını İçe aktar ya da Modeller sekmesinden ekleyebilirsiniz.", "onboarding.doneHint": "“Kurulumu tamamla”, biten her indirmeyi yerel model olarak bağlar, .cmf sunucusunu başlatır ve yönlendirmeyi ona çevirir. Tümünü sonradan Modeller sekmesinden değiştirebilirsiniz.", "onboarding.willRegister": "Yerel model olarak bağlanacak", "onboarding.nothingToRegister": "Henüz tamamlanmış indirme yok — bağlanacak bir şey bulunmuyor. Bir adım geri dönüp model seçin.", "onboarding.registeredN": "{n} model bağlandı: {ids}", "onboarding.runtimeMissing": "cortiq çalışma zamanı kurulu değil — bunları sunabilmek için Ayarlar → Yerel modeller bölümünden kurun.", "onboarding.downloaded": "indirildi", "onboarding.update": "Güncelle", "onboarding.deleteFile": ".cmf dosyasını diskten sil", "onboarding.confirmDelete": "“{id}” silinsin mi? .cmf dosyası diskten kaldırılacak.", "onboarding.unregistered": "Ayrıca kaydı kaldırıldı: {ids}", // playground: media generation + streaming metrics "pg.tab.chat": "Sohbet", "pg.tab.image": "Görsel", "pg.tab.video": "Video", "pg.generate": "Oluştur", "pg.generating": "Oluşturuluyor…", "pg.genFailed": "Oluşturma başarısız — günlüğe bakın.", "pg.result": "Sonuç", "pg.genMetrics": "Oluşturma metrikleri", "pg.imagePromptPlaceholder": "gün batımında karda oturan kızıl tilki, fotogerçekçi, ayrıntılı tüyler", "pg.videoPromptPlaceholder": "aşçı şapkalı bir corgi krep çeviriyor, cızırtı sesleri ve neşeli bir havlama", "pg.imageEmpty": "Oluşturulan görsel burada görünecek.", "pg.videoEmpty": "Oluşturulan klip (sesiyle) burada görünecek.", "pg.width": "Genişlik", "pg.height": "Yükseklik", "pg.steps": "Adım", "pg.seed": "Seed", "pg.randomSeed": "Rastgele seed", "pg.cfgHint": "Guidance gücü; ≤ 1 CFG'yi kapatır ve işi yarıya indirir.", "pg.frames": "Kare", "pg.framesHint": "24 fps'te; modelin ızgarasına yuvarlanır.", "pg.quality": "JPEG kalitesi", "pg.videoSizeHint": "32'nin katları; eğitilen kısa kenar 768.", "pg.videoStepsHint": "Turbo LoRA 4 adım için eğitildi.", "pg.firstFrame": "İlk kare (isteğe bağlı)", "pg.lastFrame": "Son kare (isteğe bağlı)", "pg.keyframeHint": "Çalışmayı keyframe-to-video'ya çevirir.", "pg.resolution": "Çözünürlük", "pg.genTime": "Oluşturma süresi", "pg.timePerStep": "Adım başına", "pg.timePerFrame": "Kare başına", "pg.fileSize": "Dosya boyutu", "pg.duration": "Süre", "pg.play": "Oynat", "pg.noMediaModels": "Henüz yerel bir {kind} modeli yok. İçe aktarma sekmesinden bir tane indirin (ör. infosave koleksiyonundan):", "pg.tokSpeed": "Hız", "pg.ttft": "İlk token", // ops: logs, system, notices, gallery, chat, snippets, bench "nav.logs": "Günlükler", "logs.subtitle": "Ağ geçidinin son günlüğü — terminalde görecekleriniz.", "logs.filterPlaceholder": "filtrele…", "logs.pause": "Duraklat", "logs.resume": "Devam et", "logs.empty": "Eşleşen yok.", "notice.openAdmin": "Yönetim konsolu belirteçsiz açık ve diğer makinelerden erişilebilir. Bu makine özel değilse bir belirteç ayarlayın.", "notice.update": "Güncelleme mevcut: v{v}.", "dash.sys.title": "Sistem", "dash.sys.cores": "çekirdek", "dash.sys.disk": "Disk (modeller)", "dash.sys.free": "boş", "dash.sys.gateway": "ağ geçidi", "fit.disk": "disk alanı yetmez", "fit.diskTitle": "İndirme, model diskindeki boş alandan büyük.", "fit.ram": "RAM'e sığmayabilir", "fit.ramTitle": "Model bu makinenin RAM'ine yakın ya da ondan büyük — çalışmayabilir.", "pg.eta": "kaldı", "pg.min": "dk", "pg.queued": "Kuyrukta — {n}. sırada. Mevcut üretim biter bitmez başlar.", "pg.gallery": "Son üretimler", "pg.galDeleteConfirm": "Bu üretim ve dosyaları silinsin mi?", "pg.clearChat": "Temizle", "keys.snip.title": "Uygulamanı bağla", "keys.snip.hint": "Örneklerden birini projene yapıştır — yalnızca anahtar yer tutucusunu değiştirmen gerekir.", "keys.snip.withKey": "Aşağıdaki örnekler az önce oluşturduğun anahtarı içeriyor.", "keys.snip.openMode": "API anahtarı yapılandırılmadı — ağ geçidi her değeri kabul eder.", "keys.snip.keyPh": "API anahtarın", "settings.restart": "Ağ geçidini yeniden başlat", "settings.restartConfirm": "Ağ geçidi yeniden başlatılsın mı? Devam eden istekler kesilir; yerel model sunucuları da yeniden başlar.", "settings.restarting": "Yeniden başlatılıyor — ağ geçidi dönünce sayfa yenilenecek…", "bench.title": "Yerel model hızı", "bench.hint": "Bu makinede `cortiq bench` çalıştırır — gerçek tok/s, aynı anda tek model.", "bench.run": "Ölç", "bench.running": "ölçülüyor…", "bench.failed": "başarısız", "bench.none": "Henüz yerel .cmf sohbet modeli yok.", // task-based routing "task.chitchat": "Sohbet", "task.code": "Kod", "task.creative-writing": "Yaratıcı yazarlık", "task.extraction": "Veri çıkarma", "task.math": "Matematik", "task.qa": "Soru-cevap", "task.summarization": "Özetleme", "task.translation": "Çeviri", "routing.tasks.title": "Göreve göre yönlendirme", "routing.tasks.hint": "Kuralın modelleri kendi görevi için önce gelir; karmaşıklık zinciri yedek olarak kalır. Boş = yalnızca karmaşıklığa göre.", "routing.tasks.inherit": "karmaşıklığa göre (kural yok)", "routing.tasks.share": "isteklerin %{p}'i (7 g)", "routing.tasks.fromRouter": "etiketler yönlendiriciden canlı", "routing.tasks.builtin": "yönlendiriciye ulaşılamıyor — yerleşik etiket seti", "routing.tasks.addCustom": "Görev ekle", "routing.tasks.addPlaceholder": "özel etiket…", // benchmark view "nav.benchmark": "Kıyaslama", "bm.title": "Kıyaslama", "bm.subtitle": "Canlı hat üzerinden kalite ve hız probları: yanıtlar anahtar kelimeyle doğrulanır, döngü tespit edilir, model başına tok/s ve ilk token süresi ölçülür.", "bm.models": "Test edilecek modeller", "bm.quickMode": "Hızlı test", "bm.quickHint": "Kısa yanıtlı hızlı alt küme — yerel model başına yaklaşık bir dakika.", "bm.suiteInfo": "Yerleşik küme: {q} hızlı / {f} tam test, artı kendi testleriniz.", "bm.run": "Çalıştır", "bm.pickModel": "En az bir model seçin.", "bm.testOf": "{n} testten {i}.", "bm.results": "Sonuçlar", "bm.quick": "hızlı", "bm.test": "Test", "bm.cellHint": "Modelin tam yanıtı için hücreye tıklayın.", "bm.history": "Önceki çalıştırmalar (bu tarayıcıda saklanır)", "bm.custom": "Özel testler", "bm.customHint": "İstem + yanıtın içermesi gereken virgülle ayrılmış anahtar kelimeler (| eşanlamlılar için). Bu tarayıcıda saklanır.", "bm.promptPh": "istem…", "bm.checkPh": "anahtar kelimeler, virgülle", "bm.addTest": "Test ekle", "bm.emptyAnswer": "boş yanıt", "bm.loopDetected": "döngü tespit edildi", // benchmark: routing mode, cost, live "bm.mode.routing": "Akıllı yönlendirme", "bm.mode.models": "Tek tek modeller", "bm.mode.routingDesc": "Ürünün temel özelliği testte: her prob cortiq-auto üzerinden gider — yönlendiricinin hangi görevi algıladığını, hangi modeli seçtiğini, bunun beklentiyle örtüşüp örtüşmediğini ve maliyetini görürsünüz.", "bm.mode.modelsDesc": "Aynı küme seçilen modellere sabitlenir — yönlendiriciyi atlayarak kalite, hız ve maliyeti doğrudan karşılaştırın.", "bm.answersOk": "yanıtlar doğru", "bm.classAcc": "görev sınıflandırması", "bm.modelDist": "İstekler şuraya gitti", "bm.expectedLbl": "beklenen:", "bm.answer": "Yanıt", "bm.liveRunning": "sürüyor…", "bm.spent": "harcanan", "bm.verdict": "🏁 Bitti: yanıtlar {p}, harcanan {s}", "bm.clearHistory": "Tümünü temizle", // harness auto-setup (API keys view) "keys.h.claude": "Claude Code — terminale yapıştırın (ağ geçidi Anthropic protokolünü doğal olarak konuşur):", "keys.h.codex": "Codex — sağlayıcıyı ~/.codex/config.toml dosyasına ekler ve başlatır:", "keys.h.opencode": "OpenCode — ~/.config/opencode/opencode.json dosyasını yazar (üzerine yazar!) ve başlatır:", "keys.h.continue": "Continue (VS Code / JetBrains) — modeli ~/.continue/config.yaml dosyasına ekler:", "keys.h.cline1": "Cline (VS Code) — eklenti ayarlarında şunları seçin:", "keys.h.cline2": "Ayarlar → API Provider → OpenAI Compatible, ardından yukarıdaki değerleri yapıştırın.", "keys.h.note": "cortiq-auto = akıllı yönlendirme: yönlendirici her istek için modeli kendisi seçer. Belirli bir model için tam adını yazın. Windows'ta betikleri Git Bash / WSL içinde çalıştırın veya aynı değişkenleri sistem ortamından ayarlayın.", "keys.h.protoOff": "Anthropic protokolü (/v1/messages) kapalı — Claude Code bağlanamaz.", "keys.h.enableProto": "Etkinleştir", "keys.h.st.installed": "Ağ geçidi makinesinde kurulu", "keys.h.st.configured": "Bu ağ geçidi için zaten yapılandırılmış", "keys.h.st.notFound": "Ağ geçidi makinesinde bulunamadı", "bm.degraded": "yönlendirici yedeğe düştü", "bm.routerDegraded": "Yönlendirici zamanında yanıt vermedi — istek yedek zincire gitti; sınıflandırma sayılmaz.", "bm.cutByCap": "bütçe düşünmeye gitti — yanıt gelemedi", "shell.uiStale": "Ağ geçidi güncellendi — bu sayfa eski arayüzü çalıştırıyor.", "shell.reload": "Yeniden yükle", "keys.col.requests": "İstekler", "keys.col.tokens": "Token giriş/çıkış", "keys.col.costAll": "$ toplam", "routing.tasks.tier": "Karmaşıklık", "routing.tasks.tierAuto": "Otomatik (yönlendirici)", "routing.tasks.tierHint": "Bu görevi hangi karmaşıklıkta hangi model karşılar; \"her\" tüm katmanlarda önde gider. Sıra = yedekleme sırası. High kararı \"her\" girdilerinin üzerine yine tırmanır.", "routing.tasks.tierAny": "her karmaşıklık", "routing.tasks.addModel": "model", };