diff --git a/locales/languages.json b/locales/languages.json index 81732cec..e9a97680 100644 --- a/locales/languages.json +++ b/locales/languages.json @@ -26,5 +26,9 @@ "de": { "label": "Deutsch", "llmInstruction": "Bitte antworten Sie auf Deutsch." + }, + "tr": { + "label": "Türkçe", + "llmInstruction": "Lütfen Türkçe cevap verin." } } diff --git a/locales/tr.json b/locales/tr.json new file mode 100644 index 00000000..e458ac87 --- /dev/null +++ b/locales/tr.json @@ -0,0 +1,671 @@ +{ + "common": { + "confirm": "Onayla", + "cancel": "İptal", + "loading": "Yükleniyor...", + "error": "Hata", + "success": "Başarılı", + "completed": "Tamamlandı", + "processing": "Oluşturuluyor", + "pending": "Bekliyor", + "ready": "Hazır", + "running": "Çalışıyor", + "failed": "Başarısız", + "unknown": "Bilinmiyor", + "unknownError": "Bilinmeyen hata", + "none": "Yok", + "close": "Kapat", + "back": "Geri", + "next": "İleri", + "retry": "Tekrar Dene", + "noData": "Veri yok", + "hours": "saat", + "minutes": "dakika", + "rounds": "tur", + "items": "öğe", + "files": "dosya" + }, + "meta": { + "title": "MiroFish - Her Şeyi Tahmin Et", + "description": "MiroFish - Sosyal Medya Fikir Simülasyon Sistemi" + }, + "nav": { + "visitGithub": "Github sayfamızı ziyaret edin" + }, + "home": { + "tagline": "Kapsamlı & Evrensel Sürü Zekası Motoru", + "version": "/ v0.1-Preview", + "heroTitle1": "Raporları Yükle,", + "heroTitle2": "Geleceği Tahmin Et", + "heroDesc": "Tek bir belgeden, {brand} gerçeklik tohumlarını çıkarır ve {agentScale} boyutuna kadar paralel bir dünyayı otomatik oluşturur. Karmaşık grup dinamiklerinde {optimalSolution}'ı bulmak için tanrısal bir bakış açısıyla değişkenleri enjekte edin.", + "heroDescBrand": "MiroFish", + "heroDescAgentScale": "milyon ölçekli Agent'lar", + "heroDescOptimalSolution": "\"yerel optimum\"", + "slogan": "Agent'ların geleceği prova etmesine izin verin, kararlar üstün gelsin", + "systemStatus": "Sistem Durumu", + "systemReady": "Hazır", + "systemReadyDesc": "Tahmin motoru beklemede. Bir simülasyon dizisini başlatmak için yapılandırılmamış verileri yükleyin.", + "metricLowCost": "Düşük Maliyet", + "metricLowCostDesc": "Ort. $5/sim", + "metricHighAvail": "Ölçeklenebilir", + "metricHighAvailDesc": "Milyonlarca Agent", + "workflowSequence": "İş Akışı", + "step01Title": "Graph Oluşturma", + "step01Desc": "Tohum çıkarma & bellek enjeksiyonu & GraphRAG inşası", + "step02Title": "Ortam Kurulumu", + "step02Desc": "Varlık çıkarma & persona oluşturma & Agent config enjeksiyonu", + "step03Title": "Simülasyon", + "step03Desc": "Çift platform paralel simülasyon & otomatik gereksinim ayrıştırma & zamansal bellek (temporal memory)", + "step04Title": "Rapor", + "step04Desc": "ReportAgent, simülasyon sonrası ortamla zengin araçlar aracılığıyla etkileşime girer", + "step05Title": "Etkileşim", + "step05Desc": "Simüle edilmiş herhangi bir bireyle sohbet et & ReportAgent ile konuş", + "realitySeed": "01 / Gerçeklik Tohumu", + "supportedFormats": "Formatlar: PDF, MD, TXT", + "dragToUpload": "Yüklemek için dosyaları sürükleyin", + "orBrowse": "veya dosyalara göz atmak için tıklayın", + "inputParams": "Giriş Parametreleri", + "simulationPrompt": ">_ 02 / Simülasyon Prompt'u", + "promptPlaceholder": "// Simülasyon veya tahmin ihtiyacınızı doğal dilde açıklayın", + "engineBadge": "Motor: MiroFish-V1.0", + "startEngine": "Motoru Başlat", + "initializing": "Başlatılıyor..." + }, + "main": { + "layoutGraph": "Graph", + "layoutSplit": "Bölünmüş", + "layoutWorkbench": "Çalışma Alanı", + "stepNames": [ + "Graph Build", + "Ortam Kurulumu", + "Simülasyon", + "Rapor Oluşturma", + "Derin Etkileşim" + ] + }, + "step1": { + "ontologyGeneration": "Ontoloji Oluşturma", + "ontologyCompleted": "Tamamlandı", + "ontologyGenerating": "Oluşturuluyor", + "ontologyPending": "Bekliyor", + "ontologyDesc": "LLM, belge içeriğini ve simülasyon gereksinimlerini analiz eder, gerçeklik tohumlarını çıkarır ve uygun bir ontoloji yapısını otomatik oluşturur", + "analyzingDocs": "Belgeler analiz ediliyor...", + "graphRagBuild": "GraphRAG İnşası", + "graphRagDesc": "Oluşturulan ontolojiye dayanarak, belgeler otomatik olarak parçalanır ve bir bilgi grafiği oluşturmak için Zep'e gönderilir; varlıklar ve ilişkiler çıkarılarak zamansal bellek (temporal memory) ve topluluk özetleri oluşturulur", + "entityNodes": "Varlık Düğümleri (Entity Nodes)", + "relationEdges": "İlişki Kenarları (Relation Edges)", + "schemaTypes": "Şema Türleri", + "buildComplete": "İnşa Tamamlandı", + "buildCompleteDesc": "Graph inşası tamamlandı. Simülasyon ortamı kurulumu için sonraki adıma geçebilirsiniz.", + "inProgress": "Devam Ediyor", + "creating": "Oluşturuluyor...", + "enterEnvSetup": "Ortam Kurulumuna Geç", + "createSimulationFailed": "Simülasyon oluşturulamadı: {error}", + "createSimulationException": "Simülasyon oluşturma hatası: {error}" + }, + "step2": { + "simInstanceInit": "Simülasyon Örneği (Instance) Başlatma", + "simInstanceDesc": "Yeni bir simülasyon örneği oluştur ve dünya parametre şablonlarını çek", + "asyncTaskDone": "Asenkron görev tamamlandı", + "generateAgentPersona": "Agent Personaları Oluştur", + "generateAgentPersonaDesc": "Knowledge graph'tan varlıkları ve ilişkileri otomatik olarak çıkarmak için bağlamı birleştir, simüle edilmiş bireyleri başlat ve gerçeklik tohumlarına dayalı benzersiz davranışlar ve anılar ata", + "currentAgentCount": "Mevcut Agent'lar", + "expectedAgentTotal": "Beklenen Toplam Agent", + "relatedTopicsCount": "Gerçeklik Tohumu İlgili Konular", + "generatedAgentPersonas": "Oluşturulan Agent Personaları", + "unknownProfession": "Bilinmeyen meslek", + "noBio": "Biyografi yok", + "dualPlatformConfig": "Çift Platform Config Oluştur", + "dualPlatformConfigDesc": "LLM, ihtiyaçlara ve gerçeklik tohumlarına göre dünya zaman akışını, öneri algoritmalarını, her bir bireyin aktif kalma saatlerini, gönderi frekansını, olay tetikleyicilerini ve daha fazlasını akıllıca ayarlar", + "simulationDuration": "Simülasyon Süresi", + "roundDuration": "Tur Süresi", + "totalRounds": "Toplam Tur", + "activePerHour": "Saatlik Aktif Oranı", + "peakHours": "Yoğun Saatler", + "workHours": "Çalışma Saatleri", + "morningHours": "Sabah Saatleri", + "offPeakHours": "Sakin Saatler", + "agentConfig": "Agent Config", + "activeTimePeriod": "Aktif Saatler", + "postsPerHour": "Gönderi/saat", + "commentsPerHour": "Yorum/saat", + "responseDelay": "Yanıt Gecikmesi", + "activityLevel": "Aktivite Seviyesi", + "sentimentBias": "Duygu (Sentiment) Eğilimi", + "influenceWeight": "Etki (Influence)", + "recommendAlgoConfig": "Öneri Algoritması Config", + "platform1Name": "Platform 1: Plaza / Feed", + "platform2Name": "Platform 2: Konu / Topluluk", + "recencyWeight": "Yenilik (Recency) Ağırlığı", + "popularityWeight": "Popülerlik Ağırlığı", + "relevanceWeight": "Alaka Ağırlığı", + "viralThreshold": "Viral Eşiği", + "echoChamberStrength": "Yankı Odası Gücü", + "llmConfigReasoning": "LLM Config Gerekçesi", + "initialActivation": "Başlangıç Aktivasyon Orkestrasyonu", + "initialActivationDesc": "Simülasyon dünyasının başlangıç durumunu yönlendirmek için anlatı yönüne dayalı olarak ilk aktivasyon olaylarını ve sıcak konuları otomatik olarak oluşturun", + "orchestrating": "Orkestra Ediliyor", + "narrativeDirection": "Anlatı Yönü", + "initialHotTopics": "Başlangıç Sıcak Konuları", + "initialActivationSeq": "Başlangıç Aktivasyon Dizisi ({count})", + "setupComplete": "Kurulum Tamamlandı", + "setupCompleteDesc": "Simülasyon ortamı hazır. Simülasyonu şimdi başlatabilirsiniz.", + "roundsConfig": "Simülasyon Turları Yapılandırması", + "roundsConfigDesc": "MiroFish, gerçek dünyadaki {hours} saati simüle etmeyi otomatik olarak planlıyor, her tur geçen sürenin {minutesPerRound} dakikasını temsil ediyor", + "customToggle": "Özel", + "roundsUnit": "tur", + "estimatedDuration": "100 Agent için: tahmini ~{minutes} dakika", + "estimatedDurationFull": "100 Agent için: tahmini {minutes} dakika", + "recommendedRounds": "{rounds} (önerilen)", + "customTip": "İlk çalıştırmalar için, hızlı bir önizleme yapmak ve hata riskini düşürmek amacıyla turları azaltmak için 'Özel Mod'a (Custom Mode) geçmenizi şiddetle öneririz.", + "backToGraphBuild": "Graph İnşasına Dön", + "startDualWorldSim": "Çift Dünya Paralel Simülasyonunu Başlat", + "profileModalAge": "Görünür Yaş", + "profileModalGender": "Görünür Cinsiyet", + "profileModalCountry": "Ülke/Bölge", + "profileModalMbti": "Görünür MBTI", + "profileModalBio": "Persona Biyografisi", + "profileModalTopics": "Gerçeklik Tohumu İlgili Konular", + "profileModalPersona": "Detaylı Persona Özgeçmişi", + "personaDimExperience": "Tam Olay Deneyimi", + "personaDimExperienceDesc": "Bu olaydaki eksiksiz davranışsal yörünge", + "personaDimBehavior": "Davranış Profili", + "personaDimBehaviorDesc": "Deneyim özeti ve davranışsal tercihler", + "personaDimMemory": "Benzersiz Bellek İzi", + "personaDimMemoryDesc": "Gerçeklik tohumlarından oluşan anılar", + "personaDimSocial": "Sosyal Ağ", + "personaDimSocialDesc": "Bireysel bağlantılar ve etkileşim grafiği (Graph)", + "genderMale": "Erkek", + "genderFemale": "Kadın", + "genderOther": "Diğer", + "yearsOld": "yaşında", + "initializing": "Başlatılıyor", + "generating": "Oluşturuluyor" + }, + "step3": { + "startGenerateReport": "Rapor Oluştur", + "generatingReport": "Başlatılıyor...", + "waitingForActions": "Agent eylemleri bekleniyor...", + "errorMissingSimId": "Hata: simulationId eksik", + "startingDualSim": "Çift platform paralel simülasyon başlatılıyor...", + "graphMemoryUpdateEnabled": "Dinamik graph bellek (memory) güncellemesi aktif", + "setMaxRounds": "Maksimum simülasyon turları şuna ayarlandı: {rounds}", + "oldSimCleared": "Eski simülasyon günlükleri (log) temizlendi, simülasyon yeniden başlatılıyor", + "engineStarted": "Simülasyon motoru başarıyla başlatıldı", + "startFailed": "Başlatma başarısız oldu: {error}", + "startException": "Başlatma hatası: {error}", + "stoppingSim": "Simülasyon durduruluyor...", + "simStopped": "Simülasyon durduruldu", + "stopFailed": "Durdurma başarısız oldu: {error}", + "stopException": "Durdurma hatası: {error}", + "allPlatformsCompleted": "Tüm platform simülasyonları sona erdi", + "simCompleted": "Simülasyon tamamlandı", + "graphRealtimeRefresh": "Graph gerçek zamanlı yenileme aktif (30s)", + "graphRefreshStopped": "Graph gerçek zamanlı yenileme durduruldu", + "preparingGoBack": "Adım 2'ye dönmeye hazırlanılıyor, simülasyon kapatılıyor...", + "closingSimEnv": "Simülasyon ortamı kapatılıyor...", + "simEnvClosed": "Simülasyon ortamı kapatıldı", + "closeFailed": "Simülasyon ortamı kapatılamadı, zorla durdurmaya çalışılıyor...", + "stoppingProcess": "Simülasyon süreci durduruluyor...", + "checkStatusFailed": "Simülasyon durumu kontrol edilemedi: {error}", + "forceStopSuccess": "Simülasyon zorla durduruldu", + "forceStopFailed": "Zorla durdurma başarısız oldu: {error}", + "startGenerateReportBtn": "Rapor Oluştur", + "generatingReportBtn": "Başlatılıyor..." + }, + "step4": { + "generatingSection": "{title} oluşturuluyor...", + "goToInteraction": "Derin Etkileşime Gir", + "waitingForReportAgent": "ReportAgent bekleniyor...", + "collapse": "Daralt ▲", + "expandAll": "Tümünü göster {count} ▼", + "expandAllEntities": "Tümünü göster {count} ▼", + "scenarioLabel": "Senaryo: ", + "tabKeyFacts": "Önemli Gerçekler ({count})", + "tabCoreEntities": "Çekirdek Varlıklar ({count})", + "tabRelationChains": "İlişki Zincirleri ({count})", + "tabSubQueries": "Alt Sorgular ({count})", + "panelKeyFacts": "Zamansal bellekten (temporal memory) en son önemli gerçekler", + "totalCount": "Toplam {count}", + "totalEntityCount": "Toplam {count}", + "panelCoreEntities": "Çekirdek Varlıklar", + "factCount": "{count} gerçek", + "panelRelationChains": "İlişki Zincirleri", + "panelSubQueries": "Drift sorgu analizi alt soruları", + "emptyKeyFacts": "Önemli gerçek mevcut değil", + "emptyCoreEntities": "Çekirdek varlık mevcut değil", + "emptyRelationChains": "İlişki zinciri mevcut değil", + "tabActiveFacts": "Aktif Gerçekler ({count})", + "tabHistoricalFacts": "Geçmiş Gerçekler ({count})", + "tabEntities": "Varlıklar ({count})", + "panelActiveFacts": "Aktif Gerçekler", + "emptyActiveFacts": "Aktif gerçek mevcut değil", + "panelHistoricalFacts": "Geçmiş Gerçekler", + "emptyHistoricalFacts": "Geçmiş gerçek mevcut değil", + "panelEntities": "Varlıklar", + "emptyEntities": "Varlık mevcut değil", + "searchLabel": "Ara: ", + "tabFacts": "Gerçekler ({count})", + "tabEdges": "Kenarlar (Edges) ({count})", + "tabNodes": "Düğümler (Nodes) ({count})", + "panelSearchResults": "Arama Sonuçları", + "emptySearchResults": "Sonuç bulunamadı", + "panelRelatedEdges": "İlgili Kenarlar (Related Edges)", + "panelRelatedNodes": "İlgili Düğümler (Related Nodes)", + "world1": "Dünya 1", + "world2": "Dünya 2" + }, + "step5": { + "interactiveTools": "Etkileşimli Araçlar", + "agentsAvailable": "{count} Agent mevcut", + "chatWithReportAgent": "ReportAgent ile Sohbet Et", + "chatWithAgent": "Dünyadaki herhangi bir bireyle sohbet et", + "selectChatTarget": "Sohbet hedefini seç", + "sendSurvey": "Dünyaya anket gönder", + "reportAgentChat": "ReportAgent - Sohbet", + "reportAgentDesc": "4 profesyonel araca ve MiroFish'in eksiksiz belleğine erişimi olan rapor oluşturma Agent'ının konuşabilen bir sürümü", + "toolInsightForge": "InsightForge Derin İlişkilendirme", + "toolInsightForgeDesc": "Çapraz-zamansal derin ilişkilendirme analizi için Global/Yerel Belleği birleştirerek, gerçek dünya tohum verilerini simülasyon durumuyla hizalar", + "toolPanoramaSearch": "PanoramaSearch Tam Takip", + "toolPanoramaSearchDesc": "Olay yayılma yollarını yeniden yapılandıran ve bilgi akışının tam topolojisini yakalayan, Graph tabanlı BFS (Genişlik Öncelikli Arama) algoritması", + "toolQuickSearch": "QuickSearch Hızlı Erişim", + "toolQuickSearchDesc": "Düğüm niteliklerinin ve ayrık gerçeklerin hızlı bir şekilde çıkarılması için optimize edilmiş indekslemeye sahip GraphRAG tabanlı anlık sorgu arayüzü", + "toolInterviewSubAgent": "InterviewSubAgent Sanal Röportaj", + "toolInterviewSubAgentDesc": "Yapılandırılmamış görüş verileri ile psikolojik durumları toplamak için simüle edilmiş bireylerle eşzamanlı çok turlu diyaloglar yürütür", + "profileBio": "Biyografi", + "chatEmptyReportAgent": "Rapor içeriğini derinlemesine keşfetmek için ReportAgent ile sohbet edin", + "chatEmptyAgent": "Perspektiflerini anlamak için simüle edilmiş bireylerle sohbet edin", + "chatInputPlaceholder": "Sorunuzu yazın...", + "selectSurveyTarget": "Anket hedeflerini seç", + "selectedCount": "Seçildi {selected} / {total}", + "surveyQuestions": "Anket Soruları", + "surveyInputPlaceholder": "Seçilen tüm hedeflere sormak istediğiniz soruyu girin...", + "submitSurvey": "Anketi Gönder", + "surveyResults": "Anket Sonuçları", + "surveyResultsCount": "{count} yanıt", + "selectAll": "Tümünü Seç", + "clearSelection": "Temizle", + "errorOccurred": "Üzgünüz, bir hata oluştu: {error}", + "noResponse": "Yanıt yok", + "requestFailed": "İstek başarısız oldu", + "selectAgentFirst": "Lütfen önce simüle edilmiş bir birey seçin" + }, + "graph": { + "panelTitle": "Graph İlişki Görselleştirme", + "refreshGraph": "Grafiği Yenile (Refresh Graph)", + "graphMemoryRealtime": "GraphRAG kısa/uzun zamanlı bellek (memory) gerçek zamanlı güncelleniyor", + "realtimeUpdating": "Gerçek zamanlı güncelleniyor...", + "pendingContentHint": "Bazı içerikler halen işleniyor. Grafiği daha sonra manuel olarak yenilemeyi düşünebilirsiniz.", + "nodeDetails": "Düğüm (Node) Detayları", + "relationship": "İlişki", + "graphDataLoading": "Graph verileri yükleniyor...", + "waitingOntology": "Ontoloji oluşturulması bekleniyor...", + "toggleMaximize": "Büyüt/Küçült", + "closeHint": "İpucunu kapat" + }, + "history": { + "title": "Simülasyon Geçmişi", + "graphBuild": "Graph İnşası", + "envSetup": "Ortam Kurulumu", + "analysisReport": "Analiz Raporu", + "moreFiles": "+{count} dosya", + "noFiles": "Dosya yok", + "loadingText": "Yükleniyor...", + "simRequirement": "Simülasyon Gereksinimi", + "relatedFiles": "İlgili Dosyalar", + "noRelatedFiles": "İlgili dosya yok", + "replayTitle": "Simülasyon Tekrarı (Replay)", + "step1Button": "Graph İnşası", + "step2Button": "Ortam Kurulumu", + "step4Button": "Analiz Raporu", + "replayHint": "Adım 3 'Simülasyonu Çalıştır' ve Adım 5 'Derin Etkileşim' çalışma zamanında (runtime) başlatılmalıdır ve geçmişten (history) doğrudan çalıştırılamaz", + "notStarted": "Başlamadı", + "roundsProgress": "{current}/{total} tur", + "untitledSimulation": "İsimsiz simülasyon", + "unknownFile": "Bilinmeyen dosya" + }, + "api": { + "projectNotFound": "Proje bulunamadı: {id}", + "projectDeleteFailed": "Proje bulunamadı veya silinemedi: {id}", + "projectDeleted": "Proje silindi: {id}", + "projectReset": "Proje sıfırlandı: {id}", + "requireSimulationRequirement": "Lütfen bir simülasyon gereksinimi sağlayın (simulation_requirement)", + "requireFileUpload": "Lütfen en az bir belge dosyası yükleyin", + "noDocProcessed": "Hiçbir belge başarıyla işlenmedi. Lütfen dosya formatlarını kontrol edin.", + "requireProjectId": "Lütfen project_id sağlayın", + "configError": "Yapılandırma hatası: {details}", + "zepApiKeyMissing": "ZEP_API_KEY yapılandırılmamış", + "ontologyNotGenerated": "Ontoloji henüz oluşturulmadı. Lütfen önce /ontology/generate çağrısı yapın.", + "graphBuilding": "Graph inşası devam ediyor. Lütfen yeniden göndermeyin. Zorla yeniden oluşturmak için force: true ekleyin.", + "textNotFound": "Çıkarılan metin içeriği bulunamadı", + "ontologyNotFound": "Ontoloji tanımı bulunamadı", + "graphBuildStarted": "Graph inşası görevi başlatıldı. İlerlemeyi /task/{taskId} üzerinden sorgulayın.", + "graphBuildComplete": "Graph inşası tamamlandı", + "buildFailed": "İnşa başarısız oldu: {error}", + "taskNotFound": "Görev bulunamadı: {id}", + "graphDeleted": "Graph silindi: {id}", + "entityNotFound": "Varlık bulunamadı: {id}", + "graphNotBuilt": "Graph henüz inşa edilmedi. Lütfen önce /api/graph/build çağrısı yapın.", + "requireSimulationId": "Lütfen simulation_id sağlayın", + "simulationNotFound": "Simülasyon bulunamadı: {id}", + "projectMissingRequirement": "Projeden simülasyon gereksinimi (simulation_requirement) eksik", + "prepareStarted": "Hazırlık görevi başlatıldı. İlerlemeyi /api/simulation/prepare/status üzerinden sorgulayın.", + "alreadyPrepared": "Hazırlık zaten tamamlandı. Yeniden oluşturmaya gerek yok.", + "notStartedPrepare": "Hazırlık başlamadı. Lütfen /api/simulation/prepare çağrısı yapın.", + "taskCompletedPrepared": "Görev tamamlandı (hazırlık zaten mevcut)", + "requireTaskOrSimId": "Lütfen task_id veya simulation_id sağlayın", + "configNotFound": "Simülasyon config'i bulunamadı. Lütfen önce /prepare çağrısı yapın.", + "configFileNotFound": "Config dosyası bulunamadı. Lütfen önce /prepare çağrısı yapın.", + "unknownScript": "Bilinmeyen betik: {name}. Mevcutlar: {allowed}", + "scriptFileNotFound": "Betik dosyası bulunamadı: {name}", + "requireGraphId": "Lütfen graph_id sağlayın", + "noMatchingEntities": "Eşleşen varlık bulunamadı", + "maxRoundsPositive": "max_rounds pozitif bir tam sayı olmalıdır", + "maxRoundsInvalid": "max_rounds geçerli bir tam sayı olmalıdır", + "invalidPlatform": "Geçersiz platform türü: {platform}. Seçenekler: twitter/reddit/parallel", + "simRunningForceHint": "Simülasyon çalışıyor. Önce /stop çağrısıyla durdurun veya yeniden başlatmak için force=true kullanın.", + "simNotReady": "Simülasyon hazır değil. Mevcut durum: {status}. Lütfen önce /prepare çağrısı yapın.", + "graphIdRequiredForMemory": "Graph bellek (memory) güncellemesi geçerli bir graph_id gerektirir. Graph'ın tamamlandığından emin olun.", + "dbNotExist": "Veritabanı mevcut değil. Simülasyon henüz çalıştırılmamış olabilir.", + "requireMessage": "Lütfen bir mesaj sağlayın", + "missingGraphId": "Eksik Graph ID", + "missingGraphIdEnsure": "Eksik Graph ID. Lütfen Graph'ın inşa edildiğinden emin olun.", + "missingSimRequirement": "Eksik simülasyon gereksinimi açıklaması", + "reportAlreadyExists": "Rapor zaten var", + "reportGenerateStarted": "Rapor oluşturma görevi başlatıldı. İlerlemeyi /api/report/generate/status üzerinden sorgulayın.", + "reportGenerated": "Rapor oluşturuldu", + "reportNotFound": "Rapor bulunamadı: {id}", + "noReportForSim": "Bu simülasyon için rapor bulunamadı: {id}", + "reportDeleted": "Rapor silindi: {id}", + "reportGenerateFailed": "Rapor oluşturma başarısız oldu", + "sectionNotFound": "Bölüm (Section) bulunamadı: section_{index}.md", + "reportProgressNotAvail": "Rapor bulunamadı veya ilerleme kullanılamıyor: {id}", + "requireAgentId": "Lütfen agent_id sağlayın", + "requirePrompt": "Lütfen bir prompt (röportaj sorusu) sağlayın", + "invalidInterviewPlatform": "Platform 'twitter' veya 'reddit' olmalıdır", + "envNotRunning": "Simülasyon ortamı çalışmıyor veya kapalı. Simülasyonun tamamlandığından ve beklemede (command-wait) olduğundan emin olun.", + "interviewTimeout": "Röportaj yanıtı zaman aşımına uğradı: {error}", + "requireInterviews": "Lütfen görüşmeler (röportaj listesi) sağlayın", + "interviewListMissingAgentId": "Röportaj listesinin {index}. öğesinde agent_id eksik", + "interviewListMissingPrompt": "Röportaj listesinin {index}. öğesinde prompt eksik", + "interviewListInvalidPlatform": "Röportaj listesinin {index}. öğesindeki platform 'twitter' veya 'reddit' olmalıdır", + "batchInterviewTimeout": "Toplu röportaj yanıtı zaman aşımına uğradı: {error}", + "globalInterviewTimeout": "Küresel röportaj yanıtı zaman aşımına uğradı: {error}", + "envRunning": "Ortam çalışıyor ve Interview komutları için hazır", + "envNotRunningShort": "Ortam çalışmıyor veya kapalı", + "requireGraphIdAndQuery": "Lütfen graph_id ve query sağlayın", + "initReportAgent": "ReportAgent başlatılıyor..." + }, + "progress": { + "initGraphService": "Graph inşa hizmeti başlatılıyor...", + "textChunking": "Metin parçalanıyor...", + "creatingZepGraph": "Zep graph oluşturuluyor...", + "settingOntology": "Ontoloji tanımı ayarlanıyor...", + "addingChunks": "{count} metin parçası ekleniyor...", + "waitingZepProcess": "Zep'in veriyi işlemesi bekleniyor...", + "fetchingGraphData": "Graph verileri alınıyor...", + "graphBuildComplete": "Graph inşası tamamlandı", + "buildFailed": "İnşa başarısız: {error}", + "startBuildingGraph": "Graph inşası başlatılıyor...", + "graphCreated": "Graph oluşturuldu: {graphId}", + "ontologySet": "Ontoloji ayarlandı", + "textSplit": "Metin {count} parçaya bölündü", + "fetchingGraphInfo": "Graph bilgisi alınıyor...", + "sendingBatch": "Toplu işlem {current}/{total} gönderiliyor ({chunks} parça)...", + "batchFailed": "Toplu işlem {batch} başarısız: {error}", + "noEpisodesWait": "Beklenecek bölüm (episode) yok", + "waitingEpisodes": "{count} metin parçasının işlenmesi bekleniyor...", + "episodesTimeout": "Bazı parçalar zaman aşımına uğradı, {completed}/{total} tamamlandı", + "zepProcessing": "Zep işliyor... {completed}/{total} tamam, {pending} beklemede ({elapsed}s)", + "processingComplete": "İşlem tamamlandı: {completed}/{total}", + "taskComplete": "Görev tamamlandı", + "taskFailed": "Görev başarısız", + "startPreparingEnv": "Simülasyon ortamı hazırlanıyor...", + "connectingZepGraph": "Zep graph'ına bağlanılıyor...", + "readingNodeData": "Düğüm (Node) verisi okunuyor...", + "readingComplete": "Tamamlandı, {count} varlık bulundu", + "startGenerating": "Oluşturma başlatılıyor...", + "analyzingRequirements": "Simülasyon gereksinimleri analiz ediliyor...", + "generatingOutline": "Rapor taslağı oluşturuluyor...", + "parsingOutline": "Taslak yapısı işleniyor...", + "outlinePlanComplete": "Taslak planlama tamamlandı", + "deepSearchAndWrite": "Derin arama & yazma ({current}/{max})", + "initReport": "Rapor başlatılıyor...", + "startPlanningOutline": "Rapor taslağı planlanıyor...", + "outlineDone": "Taslak tamamlandı, {count} bölüm", + "generatingSection": "Bölüm oluşturuluyor: {title} ({current}/{total})", + "sectionDone": "Bölüm {title} tamamlandı", + "assemblingReport": "Tüm rapor derleniyor...", + "reportComplete": "Rapor oluşturma tamamlandı", + "reportFailed": "Rapor oluşturma başarısız: {error}", + "savingProfiles": "Profil dosyaları kaydediliyor...", + "profilesComplete": "Tamamlandı, {count} profil oluşturuldu", + "callingLLMConfig": "Yapılandırma (config) oluşturmak için LLM çağrılıyor...", + "savingConfigFiles": "Config dosyaları kaydediliyor...", + "configComplete": "Config oluşturma tamamlandı", + "generatingTimeConfig": "Zaman yapılandırması oluşturuluyor...", + "generatingEventConfig": "Olay (Event) yapılandırması ve sıcak konular oluşturuluyor...", + "generatingAgentConfig": "Agent config oluşturuluyor ({start}-{end}/{total})...", + "generatingPlatformConfig": "Platform config oluşturuluyor...", + "zepSearchQuery": "{name} ile ilgili tüm bilgiler, faaliyetler, olaylar, ilişkiler ve arka plan", + "timeConfigLabel": "Zaman Config", + "eventConfigLabel": "Olay (Event) Config", + "agentConfigResult": "Agent Config: {count} oluşturuldu", + "postAssignResult": "Gönderi Atama: {count} gönderi atandı", + "profileGenerated": "[Oluşturuldu] {name} ({type})", + "readingGraphEntities": "Graph Varlıkları (Entities) Okunuyor", + "generatingProfiles": "Agent Profilleri Oluşturuluyor", + "generatingSimConfig": "Simülasyon Config Oluşturuluyor", + "preparingScripts": "Komut Dosyaları (Scripts) Hazırlanıyor" + }, + "log": { + "preparingGoBack": "Adım 2'ye dönmeye hazırlanıyor, simülasyon kapatılıyor...", + "closingSimEnv": "Simülasyon ortamı kapatılıyor...", + "simEnvClosed": "✓ Simülasyon ortamı kapatıldı", + "closeSimEnvFailed": "Simülasyon ortamı kapatılamadı, zorla durdurmaya çalışılıyor...", + "simForceStopSuccess": "✓ Simülasyon zorla durduruldu", + "forceStopFailed": "Zorla durdurma başarısız oldu: {error}", + "stoppingSimProcess": "Simülasyon süreci durduruluyor...", + "simStopped": "✓ Simülasyon durduruldu", + "stopSimFailed": "Simülasyon durdurulamadı: {error}", + "checkStatusFailed": "Simülasyon durumu kontrol edilemedi: {error}", + "enterStep4": "4. Adıma Giriliyor: Rapor Oluşturma", + "loadingSimData": "Simülasyon verileri yükleniyor: {id}", + "timeConfig": "Zaman yapılandırması: turun başına {minutes} dakika", + "timeConfigFetchFailed": "Zaman yapılandırması alınamadı, varsayılan kullanılıyor: {minutes} dk/tur", + "projectLoadSuccess": "Proje yüklendi: {id}", + "loadSimDataFailed": "Simülasyon verileri yüklenemedi: {error}", + "loadException": "Yükleme hatası: {error}", + "graphDataLoadSuccess": "Graph verileri başarıyla yüklendi", + "graphLoadFailed": "Graph yüklemesi başarısız: {error}", + "graphRealtimeRefreshStart": "Graph gerçek zamanlı yenileme aktif (30s)", + "graphRealtimeRefreshStop": "Graph gerçek zamanlı yenileme durduruldu", + "simRunViewInit": "SimulationRunView başlatıldı", + "customRounds": "Özel simülasyon turları: {rounds}", + "enterStep3": "3. Adıma Giriliyor: Simülasyonu Çalıştır", + "customRoundsConfig": "Özel simülasyon turları: {rounds} tur", + "useAutoRounds": "Otomatik simülasyon turları kullanılıyor", + "detectedSimEnvRunning": "Çalışan simülasyon ortamı tespit edildi, kapatılıyor...", + "closeSimEnvFailedWithError": "Simülasyon ortamı kapatılamadı: {error}", + "closeSimEnvException": "Simülasyon ortamı kapatma istisnası: {error}", + "detectedSimRunning": "Simülasyonun çalıştığı tespit edildi, durduruluyor...", + "forceStopSimFailed": "Zorla durdurma simülasyonu başarısız oldu: {error}", + "forceStopSimException": "Zorla durdurma simülasyonu istisnası: {error}", + "simViewInit": "SimulationView başlatıldı", + "errorMissingSimId": "Hata: simulationId eksik", + "simInstanceCreated": "Simülasyon örneği (instance) oluşturuldu: {id}", + "preparingSimEnv": "Simülasyon ortamı hazırlanıyor...", + "detectedExistingPrep": "Mevcut hazırlık tespit edildi, doğrudan kullanılıyor", + "prepareTaskStarted": "Hazırlık görevi başlatıldı", + "prepareTaskId": " └─ Görev ID: {taskId}", + "zepEntitiesFound": "Zep graph'ında {count} varlık bulundu", + "entityTypes": " └─ Varlık türleri: {types}", + "startPollingProgress": "Hazırlık ilerlemesi yoklanıyor...", + "prepareFailed": "Hazırlık başarısız oldu: {error}", + "prepareException": "Hazırlık istisnası: {error}", + "prepareComplete": "✓ Hazırlık tamamlandı", + "prepareFailedWithError": "✗ Hazırlık başarısız oldu: {error}", + "startGeneratingConfig": "Çift platform simülasyon yapılandırması (config) oluşturuluyor...", + "generatingAgentProfileConfig": "Agent persona config oluşturuluyor...", + "generatingLLMConfig": "Simülasyon config parametreleri için LLM çağrılıyor...", + "configComplete": "✓ Simülasyon yapılandırması oluşturuldu", + "configSummaryAgents": " ├─ Agent sayısı: {count}", + "configSummaryHours": " ├─ Simülasyon süresi: {hours} saat", + "configSummaryPosts": " ├─ Başlangıç gönderileri: {count}", + "configSummaryTopics": " ├─ Sıcak konular: {count}", + "configSummaryPlatforms": " └─ Platformlar: Twitter {twitter}, Reddit {reddit}", + "timeConfigDetail": "Zaman akışı: tur başına {minutes} dk, toplam {rounds} tur", + "narrativeDirection": "Anlatı yönü: {direction}", + "envSetupComplete": "✓ Ortam kurulumu tamamlandı, simülasyona hazır", + "startSimCustomRounds": "Simülasyon başlatılıyor, özel turlar: {rounds}", + "startSimAutoRounds": "Simülasyon başlatılıyor, otomatik turlar: {rounds}", + "startGeneratingAgentProfiles": "Agent personaları oluşturuluyor...", + "agentProfile": "→ Agent persona {current}/{total}: {name} ({profession})", + "allProfilesComplete": "✓ Tüm {count} Agent personası oluşturuldu", + "loadingExistingConfig": "Mevcut config verileri yükleniyor...", + "loadedAgentProfiles": "{count} Agent personası yüklendi", + "configLoadSuccess": "✓ Simülasyon config yüklendi", + "configSummaryPostsAlt": " └─ Başlangıç gönderileri: {count}", + "configGenerating": "Config oluşturuluyor, bekleniyor...", + "loadConfigFailed": "Config yüklenemedi: {error}", + "step2Init": "2. Adım ortam kurulumu başlatıldı", + "step3Init": "3. Adım simülasyon çalıştırılması başlatıldı", + "startingDualSim": "Çift platform paralel simülasyon başlatılıyor...", + "setMaxRounds": "Maksimum simülasyon turları ayarlandı: {rounds}", + "graphMemoryUpdateEnabled": "Dinamik graph bellek güncellemesi aktif", + "oldSimCleared": "✓ Eski simülasyon logları temizlendi, simülasyon yeniden başlatılıyor", + "engineStarted": "✓ Simülasyon motoru başarıyla başlatıldı", + "startFailed": "✗ Başlatma başarısız: {error}", + "startException": "✗ Başlatma istisnası: {error}", + "stoppingSim": "Simülasyon durduruluyor...", + "simStoppedSuccess": "✓ Simülasyon durduruldu", + "stopFailed": "Durdurma başarısız: {error}", + "stopException": "Durdurma istisnası: {error}", + "allPlatformsCompleted": "✓ Tüm platform simülasyonları sona erdi", + "simCompleted": "✓ Simülasyon tamamlandı", + "reportRequestSent": "Rapor oluşturma isteği gönderildi, lütfen bekleyin...", + "startingReportGen": "Rapor oluşturma başlatılıyor...", + "reportGenTaskStarted": "✓ Rapor oluşturma görevi başladı: {reportId}", + "reportGenFailed": "✗ Rapor oluşturma başlatılamadı: {error}", + "reportGenException": "✗ Rapor oluşturma istisnası: {error}", + "step5Init": "5. Adım derin etkileşim başlatıldı", + "selectChatTarget": "Seçilen sohbet hedefi: {name}", + "sendFailed": "Gönderme başarısız: {error}", + "sendToReportAgent": "ReportAgent'a gönderildi: {message}...", + "reportAgentReplied": "ReportAgent cevap verdi", + "sendToAgent": "{name}'e gönderildi: {message}...", + "agentReplied": "{name} cevap verdi", + "sendSurvey": "{count} hedefe anket gönderiliyor...", + "receivedReplies": "{count} yanıt alındı", + "surveySendFailed": "Anket gönderimi başarısız: {error}", + "loadReportData": "Rapor verileri yükleniyor: {id}", + "loadReportFailed": "Rapor yüklenemedi: {error}", + "reportDataLoaded": "Rapor verileri yüklendi", + "loadReportLogFailed": "Rapor logları yüklenemedi: {error}", + "loadedProfiles": "{count} simüle edilmiş birey yüklendi", + "loadProfilesFailed": "Simüle edilmiş bireyler yüklenemedi: {error}", + "interactionViewInit": "InteractionView başlatıldı", + "reportViewInit": "ReportView başlatıldı", + "getReportInfoFailed": "Rapor bilgisi alınamadı: {error}", + "enterStep": "Adıma Giriliyor {step}: {name}", + "returnToStep": "Adıma Dönülüyor {step}: {name}", + "customSimRounds": "Özel simülasyon turu: {rounds} tur" + }, + "report": { + "taskStarted": "Rapor oluşturma görevi başlatıldı", + "planningStart": "Rapor taslağı planlaması başlıyor", + "fetchSimContext": "Simülasyon bağlamı alınıyor", + "planningComplete": "Taslak planlaması tamamlandı", + "sectionStart": "Bölüm oluşturma başlıyor: {title}", + "reactThought": "ReACT iterasyon {iteration} düşünme (thinking)", + "toolCall": "Araç (Tool) çağrılıyor: {toolName}", + "toolResult": "Araç {toolName} sonuç döndürdü", + "llmResponse": "LLM yanıtı (araç çağırma: {hasToolCalls}, nihai yanıt: {hasFinalAnswer})", + "sectionContentDone": "Bölüm {title} içeriği tamamlandı", + "sectionComplete": "Bölüm {title} tamamlandı", + "reportComplete": "Rapor oluşturma işlemi tamamlandı", + "errorOccurred": "Hata oluştu: {error}", + "agentInitDone": "ReportAgent başlatıldı: graph_id={graphId}, simulation_id={simulationId}", + "executingTool": "Araç çalıştırılıyor: {toolName}, params: {params}", + "toolExecFailed": "Araç çalıştırma başarısız: {toolName}, hata: {error}", + "startPlanningOutline": "Rapor planlama (outline) başlatılıyor...", + "outlinePlanDone": "Taslak planlaması tamamlandı: {count} bölüm", + "outlinePlanFailed": "Taslak planlaması başarısız: {error}", + "reactGenerateSection": "ReACT bölüm (section) yaratıyor: {title}", + "sectionIterNone": "Bölüm {title} iterasyon {iteration}: LLM None döndürdü", + "sectionConflict": "Bölüm {title} tur {iteration}: LLM hem araç çağrısı hem de Final Answer verdi (çatışma #{conflictCount})", + "sectionConflictDowngrade": "Bölüm {title}: {conflictCount} ardışık çatışma, kesilip ilk aracın yürütülmesine indirgeniyor", + "sectionGenDone": "Bölüm {title} oluşturma tamamlandı (araç çağrıları: {count})", + "multiToolOnlyFirst": "LLM {total} araç çağrısı denedi, sadece ilki çalıştırılacak: {toolName}", + "sectionNoPrefix": "Bölüm {title} 'Final Answer:' prefiksine sahip değil, LLM çıktısı doğrudan içerik kabul edilecek (araçlar: {count})", + "sectionMaxIter": "Bölüm {title} maksimum iterasyona ulaştı, oluşturma zorla tamamlanıyor", + "sectionForceFailed": "Bölüm {title} zorlu-bitirme esnasında LLM None döndürdü, varsayılan hata mesajı kullanılıyor", + "sectionGenFailedContent": "(Bu bölüm başarıyla oluşturulamadı: LLM boş yanıt döndürdü, lütfen daha sonra tekrar deneyin)", + "outlineSavedToFile": "Taslak dosyaya kaydedildi: {reportId}/outline.json", + "sectionSaved": "Bölüm kaydedildi: {reportId}/section_{sectionNum}.md", + "reportGenDone": "Rapor tamamlandı: {reportId}", + "reportGenFailed": "Rapor oluşturma başarısız oldu: {error}", + "agentChat": "ReportAgent sohbet: {message}...", + "fetchReportFailed": "Rapor içeriği alınamadı: {error}", + "outlineSaved": "Taslak kaydedildi: {reportId}", + "sectionFileSaved": "Bölüm dosyası kaydedildi: {reportId}/{fileSuffix}", + "fullReportAssembled": "Bütünsel rapor derlendi: {reportId}", + "reportSaved": "Rapor kaydedildi: {reportId}", + "reportFolderDeleted": "Rapor klasörü silindi: {reportId}", + "redirectToQuickSearch": "search_graph aracı quick_search'e yönlendirildi", + "redirectToInsightForge": "get_simulation_context aracı insight_forge'a yönlendirildi" + }, + "console": { + "zepToolsInitialized": "ZepToolsService başlatıldı", + "zepRetryAttempt": "Zep {operation} denemesi {attempt} başarısız oldu: {error}, {delay}s içinde yeniden deneniyor...", + "zepAllRetriesFailed": "Zep {operation} işlemi {retries} denemenin ardından başarısız oldu: {error}", + "graphSearch": "Graph arama (search): graph_id={graphId}, query={query}...", + "graphSearchOp": "Graph arama (graph={graphId})", + "searchComplete": "Arama tamamlandı: {count} ilgili olay/gerçek bulundu", + "zepSearchApiFallback": "Zep Arama API'si başarısız oldu, yerel aramaya (local search) dönülüyor: {error}", + "usingLocalSearch": "Yerel arama kullanılıyor: query={query}...", + "localSearchComplete": "Yerel arama tamamlandı: {count} ilgili sonuç bulundu", + "localSearchFailed": "Yerel arama başarısız: {error}", + "fetchingAllNodes": "Graph {graphId} için tüm düğümler (nodes) getiriliyor...", + "fetchedNodes": "{count} düğüm getirildi", + "fetchingAllEdges": "Graph {graphId} için tüm kenarlar (edges) getiriliyor...", + "fetchedEdges": "{count} kenar getirildi", + "fetchingNodeDetail": "Düğüm detayları getiriliyor: {uuid}...", + "fetchNodeDetailOp": "Düğüm detayı al ({uuid}...)", + "fetchNodeDetailFailed": "Düğüm detayı alınamadı: {error}", + "fetchingNodeEdges": "{uuid} düğümünün kenarları getiriliyor...", + "foundNodeEdges": "Düğümle ilgili {count} kenar bulundu", + "fetchNodeEdgesFailed": "Düğüm kenarları alınamadı: {error}", + "fetchingEntitiesByType": "{type} türündeki varlıklar getiriliyor...", + "foundEntitiesByType": "{type} türünde {count} varlık bulundu", + "fetchingEntitySummary": "{name} varlığının ilişki özeti getiriliyor...", + "fetchingGraphStats": "Graph {graphId} için istatistikler getiriliyor...", + "fetchingSimContext": "Simülasyon bağlamı (context) getiriliyor: {requirement}...", + "insightForgeStart": "InsightForge derin içgörü araması: {query}...", + "generatedSubQueries": "{count} alt sorgu oluşturuldu", + "insightForgeComplete": "InsightForge tamamlandı: {facts} gerçek, {entities} varlık, {relationships} ilişki", + "generateSubQueriesFailed": "Alt sorgular (sub-queries) oluşturulamadı: {error}, varsayılanlar kullanılacak", + "panoramaSearchStart": "PanoramaSearch geniş kapsamlı arama: {query}...", + "panoramaSearchComplete": "PanoramaSearch tamamlandı: {active} aktif, {historical} geçmiş (historical)", + "quickSearchStart": "QuickSearch hızlı basit arama: {query}...", + "quickSearchComplete": "QuickSearch tamamlandı: {count} sonuç", + "interviewAgentsStart": "InterviewAgents derinlemesine röportaj (gerçek API): {requirement}...", + "profilesNotFound": "Simülasyon {simId} için profiller bulunamadı", + "loadedProfiles": "{count} Agent profili yüklendi", + "selectedAgentsForInterview": "{count} Agent röportaj için seçildi: {indices}", + "generatedInterviewQuestions": "{count} röportaj sorusu oluşturuldu", + "callingBatchInterviewApi": "Toplu röportaj API'si çağrılıyor (çift platform): {count} Agent", + "interviewApiReturned": "Röportaj API dönüşü: {count} sonuç, success={success}", + "interviewApiReturnedFailure": "Röportaj API hatası: {error}", + "interviewApiCallFailed": "Röportaj API bağlantısı başarısız (ortam çalışmıyor olabilir mi?): {error}", + "interviewApiCallException": "Röportaj API çağrısında istisna: {error}", + "interviewAgentsComplete": "InterviewAgents tamamlandı: {count} Agent ile görüşüldü (çift platform)", + "loadedRedditProfiles": "reddit_profiles.json dosyasından {count} profil yüklendi", + "readRedditProfilesFailed": "reddit_profiles.json okunamadı: {error}", + "loadedTwitterProfiles": "twitter_profiles.csv dosyasından {count} profil yüklendi", + "readTwitterProfilesFailed": "twitter_profiles.csv okunamadı: {error}", + "llmSelectAgentFailed": "LLM Agent seçimi başarısız oldu, varsayılan seçim kullanılacak: {error}", + "generateInterviewQuestionsFailed": "Röportaj soruları oluşturulamadı: {error}", + "generateInterviewSummaryFailed": "Röportaj özeti oluşturulamadı: {error}" + } +} \ No newline at end of file