// OZMIRA dilleri: Türkçe (tr), İngilizce (en), Almanca (de), İspanyolca (es). Dizinin sırası: [tr, en, de, es]. // Metinler yalnızca textContent ile yazılır; burada HTML yoktur. export const DILLER = ['tr', 'en', 'de', 'es']; export const DIL_AD = { tr: 'Türkçe', en: 'English', de: 'Deutsch', es: 'Español' }; const S = { // dock 'dock.hepsi': ['Hepsi', 'All', 'Alle', 'Todos'], 'dock.merkez': ['Merkez', 'Center', 'Zentrum', 'Centro'], 'dock.demo': ['Demo', 'Demo', 'Demo', 'Demo'], 'dock.baglan': ['Bağlan', 'Connect', 'Verbinden', 'Conectar'], 'dock.kur': ['Kur', 'Set up', 'Einrichten', 'Configurar'], 'dock.duzenle': ['Düzenle', 'Edit', 'Bearbeiten', 'Editar'], 'dock.ucretsiz': ['Ücretsiz', 'Free', 'Kostenlos', 'Gratis'], 'dock.pro': ['Pro', 'Pro', 'Pro', 'Pro'], 'dock.dilAria': ['Dil seç', 'Choose language', 'Sprache wählen', 'Elegir idioma'], // hud + yan panel 'hud.ajan': ['{n} ajan', '{n} agents', '{n} Agenten', '{n} agentes'], 'hud.ajan1': ['{n} ajan', '{n} agent', '{n} Agent', '{n} agente'], 'hud.calisiyor': ['{n} çalışıyor', '{n} running', '{n} aktiv', '{n} en ejecución'], 'hud.gizli': ["+{n} ajan Ücretsiz sınırının dışında (Pro'da görünür)", '+{n} agents beyond the Free limit (visible in Pro)', '+{n} Agenten außerhalb des kostenlosen Limits (in Pro sichtbar)', '+{n} agentes fuera del límite gratuito (visibles en Pro)'], 'side.offline': ['Sunucuya ulaşılamıyor', 'Server unreachable', 'Server nicht erreichbar', 'Servidor no disponible'], 'side.ornek': ['Örnek sahne', 'Sample scene', 'Beispielszene', 'Escena de ejemplo'], 'side.ornekAlt': ['Kendi sistemlerini eklemek için Kur', 'Click Set up to add your own systems', 'Zum Hinzufügen eigener Systeme auf Einrichten klicken', 'Pulsa Configurar para añadir tus propios sistemas'], 'side.canli': ['Yerel · canlı', 'Local · live', 'Lokal · live', 'Local · en vivo'], 'side.token': ['Toplam token {n}', 'Total tokens {n}', 'Tokens gesamt {n}', 'Tokens totales {n}'], 'side.son': ['Son olay {x} önce', 'Last event {x} ago', 'Letztes Ereignis vor {x}', 'Último evento hace {x}'], 'side.sn': ['{n} sn', '{n} s', '{n} s', '{n} s'], 'side.dk': ['{n} dk', '{n} min', '{n} Min.', '{n} min'], 'side.sa': ['{n} sa', '{n} h', '{n} Std.', '{n} h'], 'side.olayYok': ['Henüz olay yok', 'No events yet', 'Noch keine Ereignisse', 'Aún no hay eventos'], // ajan kartı 'card.aciklamaYok': ['Açıklama yok. Ajan dosyasının başına description satırı eklersen burada görünür.', 'No description. Add a description line at the top of the agent file and it will appear here.', 'Keine Beschreibung. Füge am Anfang der Agentendatei eine description-Zeile hinzu, dann erscheint sie hier.', 'Sin descripción. Si añades una línea description al inicio del archivo del agente, aparecerá aquí.'], 'card.calisiyor': ['Çalışıyor', 'Running', 'Aktiv', 'En ejecución'], 'card.bosta': ['Boşta', 'Idle', 'Inaktiv', 'Inactivo'], 'card.calisma': ['Çalışma', 'Runs', 'Läufe', 'Ejecuciones'], 'card.token': ['Token', 'Tokens', 'Tokens', 'Tokens'], 'card.durum': ['Durum', 'Status', 'Status', 'Estado'], 'card.kapat': ['Kartı kapat', 'Close card', 'Karte schließen', 'Cerrar tarjeta'], // stiller 'stil.galaksi': ['Galaksi', 'Galaxy', 'Galaxie', 'Galaxia'], 'stil.lif': ['Lif (hologram)', 'Fiber (hologram)', 'Faser (Hologramm)', 'Fibra (holograma)'], 'stil.sarmal': ['Çift sarmal', 'Double helix', 'Doppelhelix', 'Doble hélice'], 'stil.karadelik': ['Kara delik', 'Black hole', 'Schwarzes Loch', 'Agujero negro'], 'stil.kure': ['Küre', 'Sphere', 'Kugel', 'Esfera'], // hata sayfası 'fail.kisa': ['3B sahne başlatılamadı.', 'The 3D scene could not start.', 'Die 3D-Szene konnte nicht gestartet werden.', 'No se pudo iniciar la escena 3D.'], 'fail.baslik': ['3B sahne başlatılamadı. WebGL açık bir tarayıcı gerekir.', 'The 3D scene could not start. A browser with WebGL enabled is required.', 'Die 3D-Szene konnte nicht gestartet werden. Ein Browser mit aktiviertem WebGL ist erforderlich.', 'No se pudo iniciar la escena 3D. Se necesita un navegador con WebGL activado.'], 'fail.hata': ['Hata: {m}', 'Error: {m}', 'Fehler: {m}', 'Error: {m}'], 'err.istek': ['İstek başarısız ({n}).', 'Request failed ({n}).', 'Anfrage fehlgeschlagen ({n}).', 'La solicitud falló ({n}).'], // ortak düğmeler 'c.kopyala': ['Kopyala', 'Copy', 'Kopieren', 'Copiar'], 'c.kopyalandi': ['Kopyalandı', 'Copied', 'Kopiert', 'Copiado'], 'c.secildi': ['Seçildi, Ctrl+C', 'Selected, Ctrl+C', 'Markiert, Strg+C', 'Seleccionado, Ctrl+C'], 'c.kapat': ['Kapat', 'Close', 'Schließen', 'Cerrar'], 'c.vazgec': ['Vazgeç', 'Cancel', 'Abbrechen', 'Cancelar'], 'c.gonder': ['Gönder', 'Send', 'Senden', 'Enviar'], 'c.kaydet': ['Kaydet', 'Save', 'Speichern', 'Guardar'], 'c.devam': ['Devam', 'Continue', 'Weiter', 'Continuar'], 'c.geri': ['Geri', 'Back', 'Zurück', 'Atrás'], 'c.ekle': ['Ekle', 'Add', 'Hinzufügen', 'Añadir'], 'c.kaldir': ['Kaldır', 'Remove', 'Entfernen', 'Quitar'], // Bağlan 'b.baslik': ['Sistemlerini bağla', 'Connect your systems', 'Verbinde deine Systeme', 'Conecta tus sistemas'], 'b.lead': ['OZMIRA bir ajan çalışmaya başladığında ve bittiğinde haber almak ister. Yalnızca ajan adı, sistem, token sayısı ve istersen kısa bir iş etiketi gönderilir; içerik, prompt ya da kod gönderilmez.', 'OZMIRA wants to know when an agent starts and finishes working. Only the agent name, system, token count and, if you like, a short task label are sent; no content, prompts or code.', 'OZMIRA möchte wissen, wann ein Agent mit der Arbeit beginnt und wann er fertig ist. Gesendet werden nur Agentenname, System, Token-Anzahl und optional eine kurze Aufgabenbezeichnung; keine Inhalte, Prompts oder Code.', 'OZMIRA quiere saber cuándo un agente empieza y termina de trabajar. Solo se envía el nombre del agente, el sistema, el número de tokens y, si quieres, una etiqueta corta de la tarea; no se envía contenido, prompts ni código.'], 'b.h1': ['1 · Komut satırı (ozmira klasöründe)', '1 · Command line (in the ozmira folder)', '1 · Befehlszeile (im ozmira-Ordner)', '1 · Línea de comandos (en la carpeta ozmira)'], 'b.hint1': ['Sondaki sayı harcanan token\'dır, isteğe bağlıdır. Sonuna "iş etiketi" yazabilirsin. Sistem kimliği: {ids}.', 'The trailing number is the tokens spent; it is optional. You can add a "task label" at the end. System IDs: {ids}.', 'Die Zahl am Ende sind die verbrauchten Tokens, sie ist optional. Am Ende kannst du eine „Aufgabenbezeichnung“ anhängen. System-IDs: {ids}.', 'El número final son los tokens gastados; es opcional. Al final puedes añadir una «etiqueta de tarea». ID de sistema: {ids}.'], 'b.h2': ['2 · HTTP (kendi betiklerinden)', '2 · HTTP (from your own scripts)', '2 · HTTP (aus deinen eigenen Skripten)', '2 · HTTP (desde tus propios scripts)'], 'b.hint2': ['Anahtar yalnızca bu bilgisayarda durur (~/.ozmira/.token). Kimseyle paylaşma.', 'The key stays on this computer only (~/.ozmira/.token). Do not share it with anyone.', 'Der Schlüssel bleibt nur auf diesem Computer (~/.ozmira/.token). Teile ihn mit niemandem.', 'La clave solo se guarda en este equipo (~/.ozmira/.token). No la compartas con nadie.'], // sihirbaz 'w.hosgeldin': ["OZMIRA'ya hoş geldin", 'Welcome to OZMIRA', 'Willkommen bei OZMIRA', 'Te damos la bienvenida a OZMIRA'], 'w.merkezDuzenle': ['Merkezi düzenle', 'Edit the center', 'Zentrum bearbeiten', 'Editar el centro'], 'w.lead0': ['Burada kendi yapay zekâ sistemlerini bir araya getirirsin. Tanımların, olayların ve anahtarın yalnızca bu bilgisayarda (~/.ozmira) durur. Hesap yok, bulut yok; varsayılan olarak kimseyle paylaşılan bir şey yok.', 'Here you bring your own AI systems together. Your definitions, events and key stay only on this computer (~/.ozmira). No account, no cloud; by default nothing is shared with anyone.', 'Hier führst du deine eigenen KI-Systeme zusammen. Deine Definitionen, Ereignisse und dein Schlüssel bleiben nur auf diesem Computer (~/.ozmira). Kein Konto, keine Cloud; standardmäßig wird nichts mit anderen geteilt.', 'Aquí reúnes tus propios sistemas de IA. Tus definiciones, eventos y clave se guardan solo en este equipo (~/.ozmira). Sin cuenta ni nube; por defecto no se comparte nada con nadie.'], 'w.merkezAd': ['Merkezin adı', 'Name of the center', 'Name des Zentrums', 'Nombre del centro'], 'w.renk': ['Renk', 'Color', 'Farbe', 'Color'], 'w.merkezRenk': ['Merkez rengi', 'Center color', 'Farbe des Zentrums', 'Color del centro'], 'w.bulundu': ['~/.claude/agents içinde {n} ajan dosyası bulundu.', 'Found {n} agent files in ~/.claude/agents.', '{n} Agentendateien in ~/.claude/agents gefunden.', 'Se encontraron {n} archivos de agente en ~/.claude/agents.'], 'w.stilAria': ['Görsel stil', 'Visual style', 'Visueller Stil', 'Estilo visual'], 'w.stil': ['Stil', 'Style', 'Stil', 'Estilo'], 'w.sistemAdAria': ['Sistem adı', 'System name', 'Systemname', 'Nombre del sistema'], 'w.sistemRenkAria': ['Sistem rengi', 'System color', 'Systemfarbe', 'Color del sistema'], 'w.ad': ['Ad', 'Name', 'Name', 'Nombre'], 'w.sistemN': ['Sistem {n}', 'System {n}', 'System {n}', 'Sistema {n}'], 'w.klasorler': ['Ajan klasörleri (her satıra bir yol, .md dosyalarından okunur)', 'Agent folders (one path per line, read from .md files)', 'Agentenordner (ein Pfad pro Zeile, gelesen aus .md-Dateien)', 'Carpetas de agentes (una ruta por línea, se leen de archivos .md)'], 'w.klasorPh': ['~/projem/ajanlar', '~/my-project/agents', '~/mein-projekt/agenten', '~/mi-proyecto/agentes'], 'w.elle': ['Elle ajan adları (satır ya da virgülle ayır)', 'Agent names by hand (separate with lines or commas)', 'Agentennamen von Hand (durch Zeilen oder Kommas trennen)', 'Nombres de agentes a mano (separa con saltos de línea o comas)'], 'w.ellePh': ['Araştırmacı, Yazar', 'Researcher, Writer', 'Rechercheur, Autor', 'Investigador, Redactor'], 'w.sistemlerin': ['Sistemlerin', 'Your systems', 'Deine Systeme', 'Tus sistemas'], 'w.lead1': ['Her sistem sahnede kendi renginde ve biçiminde görünür. Ajanlarını klasörden okutabilir ya da adlarını elle yazabilirsin; sonradan da değiştirebilirsin.', 'Each system appears in the scene in its own color and shape. You can read your agents from a folder or type their names by hand; you can change this later.', 'Jedes System erscheint in der Szene in eigener Farbe und Form. Du kannst deine Agenten aus einem Ordner einlesen oder ihre Namen von Hand eintippen; später lässt sich beides ändern.', 'Cada sistema aparece en la escena con su propio color y forma. Puedes leer tus agentes desde una carpeta o escribir sus nombres a mano; podrás cambiarlo después.'], 'w.freeHint': ["Ücretsiz sürüm: en fazla {s} yapay zekâ sistemi, toplam {a} ajan ve Galaksi ile Küre stilleri. Pro'da sistem ve ajan sınırı yok, 5 stilin hepsi açılır (alttaki Ücretsiz düğmesi, Hesap).", 'Free version: up to {s} AI systems, {a} agents in total, and the Galaxy and Sphere styles. In Pro there is no system or agent limit and all 5 styles unlock (Free button below, Account).', 'Kostenlose Version: höchstens {s} KI-Systeme, insgesamt {a} Agenten sowie die Stile Galaxie und Kugel. In Pro gibt es kein System- oder Agentenlimit und alle 5 Stile sind freigeschaltet (Schaltfläche Kostenlos unten, Konto).', 'Versión gratuita: hasta {s} sistemas de IA, {a} agentes en total y los estilos Galaxia y Esfera. En Pro no hay límite de sistemas ni de agentes y se desbloquean los 5 estilos (botón Gratis abajo, Cuenta).'], 'w.baska': ['Başka', 'Other', 'Andere', 'Otro'], 'w.ilkSec': ['Başlamak için yukarıdan bir sistem seç.', 'Pick a system above to get started.', 'Wähle oben ein System, um zu beginnen.', 'Elige un sistema arriba para empezar.'], 'w.hazir': ['Hazır mı?', 'Ready?', 'Bereit?', '¿Listo?'], 'w.lead2': ['Kaydedince sahne bu sistemlerle yeniden kurulur. Bunu istediğin zaman Düzenle ile değiştirebilirsin.', 'When you save, the scene is rebuilt with these systems. You can change this at any time with Edit.', 'Beim Speichern wird die Szene mit diesen Systemen neu aufgebaut. Du kannst das jederzeit mit Bearbeiten ändern.', 'Al guardar, la escena se reconstruye con estos sistemas. Puedes cambiarlo en cualquier momento con Editar.'], 'w.sistemSayi': ['{n} sistem', '{n} systems', '{n} Systeme', '{n} sistemas'], 'w.sistemSayi1': ['{n} sistem', '{n} system', '{n} System', '{n} sistema'], 'w.adsiz': ['(adsız)', '(unnamed)', '(ohne Namen)', '(sin nombre)'], 'w.sonraki': ["Sonraki adım: Bağlan düğmesiyle ajanlarının çalışmaya başlayıp bittiğini OZMIRA'ya bildirirsin.", 'Next step: use the Connect button to tell OZMIRA when your agents start and finish.', 'Nächster Schritt: Mit der Schaltfläche Verbinden meldest du OZMIRA, wann deine Agenten starten und fertig sind.', 'Siguiente paso: con el botón Conectar le avisas a OZMIRA cuándo tus agentes empiezan y terminan.'], 'w.vMerkez': ['Merkeze bir ad ver.', 'Give the center a name.', 'Gib dem Zentrum einen Namen.', 'Ponle un nombre al centro.'], 'w.vEn1': ['En az bir sistem ekle.', 'Add at least one system.', 'Füge mindestens ein System hinzu.', 'Añade al menos un sistema.'], 'w.vAd': ['Her sistemin bir adı olmalı.', 'Every system needs a name.', 'Jedes System braucht einen Namen.', 'Cada sistema necesita un nombre.'], 'w.onceOrnek': ['Önce örneğe bak', 'Look at the sample first', 'Erst das Beispiel ansehen', 'Ver primero el ejemplo'], // örnek sahne 'o.sistem': ['Sistem {x}', 'System {x}', 'System {x}', 'Sistema {x}'], 'o.ajanlarA': ['Araştırmacı|Yazar|Çevirmen|Özetçi|Denetçi|Planlayıcı', 'Researcher|Writer|Translator|Summarizer|Reviewer|Planner', 'Rechercheur|Autor|Übersetzer|Zusammenfasser|Prüfer|Planer', 'Investigador|Redactor|Traductor|Resumidor|Revisor|Planificador'], 'o.ajanlarB': ['Kodlayıcı|Gözden geçiren|Test uzmanı|Belgeleyici', 'Coder|Code reviewer|Tester|Documenter', 'Programmierer|Code-Reviewer|Tester|Dokumentierer', 'Programador|Revisor de código|Probador|Documentador'], 'o.ajanlarC': ['Analist|Tasarımcı|Görsel', 'Analyst|Designer|Illustrator', 'Analyst|Designer|Illustrator', 'Analista|Diseñador|Ilustrador'], 'o.aciklama': ['Örnek ajan. Kendi sistemini eklediğinde burada gerçek ajanların görünür.', 'Sample agent. When you add your own system, your real agents appear here.', 'Beispielagent. Sobald du dein eigenes System hinzufügst, erscheinen hier deine echten Agenten.', 'Agente de ejemplo. Cuando añadas tu propio sistema, aquí aparecerán tus agentes reales.'], // Hesap 'a.pro': ['Pro', 'Pro', 'Pro', 'Pro'], 'a.ucretsizSurum': ['Ücretsiz sürüm', 'Free version', 'Kostenlose Version', 'Versión gratuita'], 'a.leadPro': ['Sistem ve ajan sınırı yok, 5 stilin hepsi açık. Sahne akıcı kalsın diye teknik tavan: {s} sistem, sistem başına {a} ajan. Lisansın bu bilgisayarda çevrimdışı doğrulanır.', 'No system or agent limit, all 5 styles unlocked. To keep the scene smooth there is a technical ceiling: {s} systems, {a} agents per system. Your license is verified offline on this computer.', 'Kein System- oder Agentenlimit, alle 5 Stile freigeschaltet. Damit die Szene flüssig bleibt, gibt es eine technische Obergrenze: {s} Systeme, {a} Agenten pro System. Deine Lizenz wird offline auf diesem Computer geprüft.', 'Sin límite de sistemas ni de agentes, los 5 estilos desbloqueados. Para que la escena fluya, hay un tope técnico: {s} sistemas, {a} agentes por sistema. Tu licencia se verifica sin conexión en este equipo.'], 'a.leadFree': ['Ücretsiz: en fazla {s} yapay zekâ sistemi, toplam {a} ajan, Galaksi ve Küre stilleri. Diğer her şey (3B sahne, olay bildirme, token sayacı, yerel çalışma) aynıdır. Pro: sistem ve ajan sınırı yok, 5 stil.', 'Free: up to {s} AI systems, {a} agents in total, Galaxy and Sphere styles. Everything else (3D scene, event reporting, token counter, local operation) is the same. Pro: no system or agent limit, 5 styles.', 'Kostenlos: höchstens {s} KI-Systeme, insgesamt {a} Agenten, Stile Galaxie und Kugel. Alles andere (3D-Szene, Ereignismeldung, Token-Zähler, lokaler Betrieb) ist gleich. Pro: kein System- oder Agentenlimit, 5 Stile.', 'Gratis: hasta {s} sistemas de IA, {a} agentes en total, estilos Galaxia y Esfera. Todo lo demás (escena 3D, aviso de eventos, contador de tokens, funcionamiento local) es igual. Pro: sin límite de sistemas ni de agentes, 5 estilos.'], 'a.compra': ['Pro anahtarı almak için: ', 'To get a Pro key: ', 'Einen Pro-Schlüssel erhältst du hier: ', 'Para conseguir una clave Pro: '], 'a.compraYok': ['Bu kopyada satın alma bağlantısı yok. Anahtarı sana gönderen kişiden aldıysan aşağıya yapıştır.', 'This copy has no purchase link. If you received a key from the person who sent you this, paste it below.', 'In dieser Kopie gibt es keinen Kauflink. Wenn du einen Schlüssel von der Person erhalten hast, die dir dies geschickt hat, füge ihn unten ein.', 'Esta copia no tiene enlace de compra. Si recibiste una clave de la persona que te envió esto, pégala abajo.'], 'a.lisansBaslik': ['Lisans anahtarı', 'License key', 'Lizenzschlüssel', 'Clave de licencia'], 'a.etkinlestir': ['Etkinleştir', 'Activate', 'Aktivieren', 'Activar'], 'a.yapistir': ['Anahtarı yapıştır.', 'Paste the key.', 'Füge den Schlüssel ein.', 'Pega la clave.'], 'a.proAcildi': ['Pro etkinleştirildi.', 'Pro activated.', 'Pro wurde aktiviert.', 'Pro activado.'], 'a.kaldirBtn': ['Anahtarı bu bilgisayardan kaldır', 'Remove the key from this computer', 'Schlüssel von diesem Computer entfernen', 'Quitar la clave de este equipo'], 'a.kaldirildi': ['Anahtar kaldırıldı.', 'Key removed.', 'Schlüssel entfernt.', 'Clave eliminada.'], 'a.paylasim': ['Paylaşım', 'Sharing', 'Teilen', 'Compartir'], 'a.izin': ['Ürünü geliştirmen için anonim kullanım özetini paylaşmaya izin ver', 'Allow sharing an anonymous usage summary to help improve the product', 'Das Teilen einer anonymen Nutzungszusammenfassung erlauben, um das Produkt zu verbessern', 'Permitir compartir un resumen de uso anónimo para ayudar a mejorar el producto'], 'a.izinHint': ['Varsayılan kapalıdır. Açarsan yalnızca şunlar gider: sürüm, plan, rastgele kurulum kimliği ve sayaçlar (kaç olay alındı, kaç kez profil kaydedildi). Sistem adların, ajan adların, iş etiketlerin, klasör yolların, token miktarın ve IP adresin gönderilmez. ', 'Off by default. If you turn it on, only this is sent: version, plan, a random installation ID and counters (how many events were received, how many times the profile was saved). Your system names, agent names, task labels, folder paths, token amounts and IP address are not sent. ', 'Standardmäßig aus. Wenn du es einschaltest, wird nur Folgendes gesendet: Version, Plan, eine zufällige Installations-ID und Zähler (wie viele Ereignisse empfangen, wie oft das Profil gespeichert wurde). Deine Systemnamen, Agentennamen, Aufgabenbezeichnungen, Ordnerpfade, Token-Mengen und deine IP-Adresse werden nicht gesendet. ', 'Desactivado por defecto. Si lo activas, solo se envía esto: versión, plan, un ID de instalación aleatorio y contadores (cuántos eventos se recibieron, cuántas veces se guardó el perfil). No se envían los nombres de tus sistemas ni de tus agentes, las etiquetas de tarea, las rutas de carpetas, las cantidades de tokens ni tu dirección IP. '], 'a.izinYok': ['Bu kopyada bir toplayıcı adresi tanımlı olmadığı için açık olsa bile hiçbir şey gönderilmez.', 'Because this copy has no collector address configured, nothing is sent even when sharing is on.', 'Da in dieser Kopie keine Sammeladresse hinterlegt ist, wird auch bei eingeschaltetem Teilen nichts gesendet.', 'Como esta copia no tiene configurada una dirección de recolección, no se envía nada aunque esté activado.'], 'a.izinKaydet': ['Paylaşım tercihini kaydet', 'Save sharing preference', 'Freigabe-Einstellung speichern', 'Guardar preferencia de compartir'], 'a.tercihKayit': ['Tercih kaydedildi.', 'Preference saved.', 'Einstellung gespeichert.', 'Preferencia guardada.'], 'a.veri': ['Veri klasörün: {p} · Sürüm {v}', 'Your data folder: {p} · Version {v}', 'Dein Datenordner: {p} · Version {v}', 'Tu carpeta de datos: {p} · Versión {v}'], 'a.geriBildirim': ['Geri bildirim yaz', 'Write feedback', 'Feedback schreiben', 'Escribir comentarios'], 'a.lisansAria': ['Lisans anahtarı', 'License key', 'Lizenzschlüssel', 'Clave de licencia'], // Geri bildirim 'g.baslik': ['Geri bildirim', 'Feedback', 'Feedback', 'Comentarios'], 'g.lead': ['Yazdıkların bu bilgisayardaki veri klasörüne kaydedilir. Hesap penceresinden paylaşıma izin verdiysen ve bu kopyada bir toplayıcı adresi varsa, yalnızca bu metin ve sürüm/plan bilgisi anonim olarak gönderilir. Kişisel bilgi, anahtar ya da sistem adı yazma.', 'What you write is saved in the data folder on this computer. If you allowed sharing in the Account window and this copy has a collector address, only this text and version/plan information are sent anonymously. Do not write personal information, keys or system names.', 'Was du schreibst, wird im Datenordner auf diesem Computer gespeichert. Wenn du im Konto-Fenster das Teilen erlaubt hast und diese Kopie eine Sammeladresse hat, werden nur dieser Text sowie Versions- und Planinformationen anonym gesendet. Schreibe keine persönlichen Daten, Schlüssel oder Systemnamen.', 'Lo que escribas se guarda en la carpeta de datos de este equipo. Si permitiste compartir en la ventana Cuenta y esta copia tiene una dirección de recolección, solo se envían de forma anónima este texto y la información de versión/plan. No escribas datos personales, claves ni nombres de sistemas.'], 'g.ph': ['Ne işine yaradı, ne eksik, ne bozuk?', 'What was useful, what is missing, what is broken?', 'Was war nützlich, was fehlt, was ist kaputt?', '¿Qué te fue útil, qué falta, qué no funciona?'], 'g.tur': ['Tür', 'Type', 'Art', 'Tipo'], 'g.mesaj': ['Mesajın', 'Your message', 'Deine Nachricht', 'Tu mensaje'], 'g.oneri': ['Öneri', 'Suggestion', 'Vorschlag', 'Sugerencia'], 'g.hata': ['Hata', 'Bug', 'Fehler', 'Error'], 'g.begeni': ['Beğendiğim bir şey', 'Something I like', 'Etwas, das mir gefällt', 'Algo que me gusta'], 'g.gonderildi': ['Kaydedildi ve gönderildi. Teşekkürler.', 'Saved and sent. Thank you.', 'Gespeichert und gesendet. Danke.', 'Guardado y enviado. Gracias.'], 'g.kaydedildi': ['Bu bilgisayara kaydedildi. Paylaşım kapalı ya da toplayıcı yok, bu yüzden gönderilmedi.', 'Saved on this computer. Not sent, because sharing is off or there is no collector.', 'Auf diesem Computer gespeichert. Nicht gesendet, da das Teilen ausgeschaltet ist oder kein Sammler vorhanden ist.', 'Guardado en este equipo. No se envió porque compartir está desactivado o no hay recolector.'], // Dil penceresi 'l.baslik': ['Dil', 'Language', 'Sprache', 'Idioma'], 'l.lead': ['Arayüz dilini seç.', 'Choose the interface language.', 'Wähle die Sprache der Oberfläche.', 'Elige el idioma de la interfaz.'], // sunucu hata iletileri (sunucu Türkçe yazar; burada karşılıkları) 'e.sistemSay': ['En az 1, en fazla {a} sistem olmalı.', 'Between 1 and {a} systems are required.', 'Es sind 1 bis {a} Systeme erforderlich.', 'Se requieren entre 1 y {a} sistemas.'], 'e.ucretsizSistem': ["Ücretsiz sürümde en fazla {a} yapay zekâ sistemi eklenir. Pro'da sınır yok.", 'The free version allows at most {a} AI systems. Pro has no limit.', 'In der kostenlosen Version sind höchstens {a} KI-Systeme möglich. In Pro gibt es kein Limit.', 'La versión gratuita admite como máximo {a} sistemas de IA. En Pro no hay límite.'], 'e.stil': ['Geçersiz stil: {a}', 'Invalid style: {a}', 'Ungültiger Stil: {a}', 'Estilo no válido: {a}'], 'e.ucretsizStil': ["Ücretsiz sürümde yalnızca Galaksi ve Küre stilleri var. Diğer stiller Pro'da.", 'The free version only has the Galaxy and Sphere styles. The other styles are in Pro.', 'In der kostenlosen Version gibt es nur die Stile Galaxie und Kugel. Die übrigen Stile sind in Pro.', 'La versión gratuita solo incluye los estilos Galaxia y Esfera. Los demás están en Pro.'], 'e.renk': ['Renk #rrggbb biçiminde olmalı.', 'Color must be in #rrggbb format.', 'Die Farbe muss im Format #rrggbb sein.', 'El color debe tener el formato #rrggbb.'], 'e.ucretsizAjan': ["Ücretsiz sürümde en fazla {a} ajan gösterilir (bu profilde {b} var). Pro'da ajan sınırı yok.", 'The free version shows at most {a} agents (this profile has {b}). Pro has no agent limit.', 'In der kostenlosen Version werden höchstens {a} Agenten angezeigt (dieses Profil hat {b}). In Pro gibt es kein Agentenlimit.', 'La versión gratuita muestra como máximo {a} agentes (este perfil tiene {b}). En Pro no hay límite de agentes.'], 'e.lisansYok': ['Bu sürümde lisans doğrulama anahtarı yok. Satın aldığın sürümü kullan.', 'This build has no license verification key. Use the version you purchased.', 'Diese Version enthält keinen Lizenz-Prüfschlüssel. Verwende die Version, die du gekauft hast.', 'Esta versión no incluye la clave de verificación de licencias. Usa la versión que compraste.'], 'e.lisansGecersiz': ['Lisans anahtarı geçersiz.', 'The license key is invalid.', 'Der Lizenzschlüssel ist ungültig.', 'La clave de licencia no es válida.'], 'e.lisansSure': ['Lisansın süresi dolmuş.', 'The license has expired.', 'Die Lizenz ist abgelaufen.', 'La licencia ha caducado.'], 'e.gbTur': ['Geri bildirim türü geçersiz.', 'The feedback type is invalid.', 'Die Feedback-Art ist ungültig.', 'El tipo de comentario no es válido.'], 'e.gbBos': ['Bir şeyler yaz.', 'Write something.', 'Schreibe etwas.', 'Escribe algo.'], 'e.profilYok': ['Önce profil oluşturun.', 'Create a profile first.', 'Erstelle zuerst ein Profil.', 'Crea primero un perfil.'], 'e.json': ['Geçersiz JSON.', 'Invalid JSON.', 'Ungültiges JSON.', 'JSON no válido.'], 'e.buyuk': ['Gövde çok büyük.', 'Request body too large.', 'Anfragetext zu groß.', 'El cuerpo de la solicitud es demasiado grande.'], 'e.host': ['Geçersiz Host.', 'Invalid Host.', 'Ungültiger Host.', 'Host no válido.'], 'e.kaynak': ['Geçersiz kaynak.', 'Invalid origin.', 'Ungültiger Ursprung.', 'Origen no válido.'], 'e.yetkisiz': ['Yetkisiz.', 'Unauthorized.', 'Nicht autorisiert.', 'No autorizado.'], // v0.3: yönetim paneli ve rehber 'dock.panel': ["Panel", "Panel", "Panel", "Panel"], 'dock.rehber': ["Rehber", "Guide", "Anleitung", "Guía"], 'p.baslik': ["Yönetim paneli", "Control panel", "Verwaltung", "Panel de control"], 'p.lead': ["Sistemlerin, ajanların ve olayların tek yerde. Veri yalnızca bu bilgisayarda.", "Your systems, agents and events in one place. Data stays on this computer.", "Deine Systeme, Agenten und Ereignisse an einem Ort. Die Daten bleiben auf diesem Computer.", "Tus sistemas, agentes y eventos en un solo lugar. Los datos se quedan en este equipo."], 'p.ornek': ["Örnek veri gösteriliyor. Kendi sistemlerini görmek için Kur.", "Showing sample data. Click Set up to see your own systems.", "Beispieldaten. Klicke auf Einrichten, um deine eigenen Systeme zu sehen.", "Se muestran datos de ejemplo. Pulsa Configurar para ver tus sistemas."], 'p.t.ozet': ["Özet", "Overview", "Übersicht", "Resumen"], 'p.t.ajanlar': ["Ajanlar", "Agents", "Agenten", "Agentes"], 'p.t.olaylar': ["Olaylar", "Events", "Ereignisse", "Eventos"], 'p.k.sistem': ["Sistem", "Systems", "Systeme", "Sistemas"], 'p.k.ajan': ["Ajan", "Agents", "Agenten", "Agentes"], 'p.k.calisan': ["Çalışan", "Running", "Aktiv", "En ejecución"], 'p.k.bugun': ["Bugün biten iş", "Runs today", "Läufe heute", "Ejecuciones hoy"], 'p.k.token': ["Toplam token", "Total tokens", "Tokens gesamt", "Tokens totales"], 'p.hafta': ["Son 7 gün", "Last 7 days", "Letzte 7 Tage", "Últimos 7 días"], 'p.haftaAlt': ["{i} biten iş · {t} token", "{i} runs · {t} tokens", "{i} Läufe · {t} Tokens", "{i} ejecuciones · {t} tokens"], 'p.haftaBos': ["Bu hafta biten iş yok. Olay göndermeyi Rehber ve Bağlan penceresi anlatır.", "No finished runs this week. The Guide and the Connect window explain how to send events.", "Diese Woche keine abgeschlossenen Läufe. Anleitung und Verbinden erklären, wie du Ereignisse sendest.", "No hay ejecuciones terminadas esta semana. La Guía y la ventana Conectar explican cómo enviar eventos."], 'p.sistemler': ["Sistemler", "Systems", "Systeme", "Sistemas"], 'p.c.ajan': ["Ajan", "Agent", "Agent", "Agente"], 'p.c.sistem': ["Sistem", "System", "System", "Sistema"], 'p.c.son': ["Son etkinlik", "Last activity", "Letzte Aktivität", "Última actividad"], 'p.c.eylem': ["Eylem", "Action", "Aktion", "Acción"], 'p.c.zaman': ["Zaman", "Time", "Zeit", "Hora"], 'p.c.olay': ["Olay", "Event", "Ereignis", "Evento"], 'p.hic': ["hiç", "never", "nie", "nunca"], 'p.once': ["{x} önce", "{x} ago", "vor {x}", "hace {x}"], 'side.gun': ["{n} gün", "{n} d", "{n} T.", "{n} d"], 'p.odak': ["Odaklan", "Focus", "Fokus", "Enfocar"], 'p.baslat': ["Başlat", "Start", "Starten", "Iniciar"], 'p.bitir': ["Bitir", "Finish", "Beenden", "Finalizar"], 'p.ara': ["Ajan ara", "Search agents", "Agenten suchen", "Buscar agentes"], 'p.tumSistem': ["Tüm sistemler", "All systems", "Alle Systeme", "Todos los sistemas"], 'p.sistemSuz': ["Sisteme göre süz", "Filter by system", "Nach System filtern", "Filtrar por sistema"], 'p.sadeceCalisan': ["Yalnızca çalışanlar", "Running only", "Nur aktive", "Solo en ejecución"], 'p.sonucYok': ["Eşleşen ajan yok.", "No matching agents.", "Keine passenden Agenten.", "No hay agentes que coincidan."], 'p.olayYok': ["Henüz olay yok. Bir ajan başladığında ya da bittiğinde burada görünür.", "No events yet. They appear here when an agent starts or finishes.", "Noch keine Ereignisse. Sie erscheinen hier, wenn ein Agent startet oder fertig ist.", "Aún no hay eventos. Aparecen aquí cuando un agente empieza o termina."], 'p.o.basla': ["başladı", "started", "gestartet", "iniciado"], 'p.o.bitti': ["bitti", "finished", "fertig", "terminado"], 'p.olaySay': ["Son {n} olay (toplam {m})", "Latest {n} events ({m} total)", "Letzte {n} Ereignisse ({m} gesamt)", "Últimos {n} eventos ({m} en total)"], 'p.csv': ["CSV indir", "Download CSV", "CSV herunterladen", "Descargar CSV"], 'p.plan': ["Ücretsiz plan: {s} sistemden {su}, {a} ajandan {au} kullanılıyor.", "Free plan: {su} of {s} systems, {au} of {a} agents in use.", "Kostenloser Plan: {su} von {s} Systemen, {au} von {a} Agenten genutzt.", "Plan gratuito: {su} de {s} sistemas, {au} de {a} agentes en uso."], 'p.planPro': ["Pro: ücretli sınır yok.", "Pro: no paid limit.", "Pro: kein kostenpflichtiges Limit.", "Pro: sin límite de pago."], 'p.gonderildi': ["Olay kaydedildi: {a} {o}", "Event recorded: {a} {o}", "Ereignis gespeichert: {a} {o}", "Evento registrado: {a} {o}"], 'p.elle': ["Başlat ve Bitir olayı elle kaydeder; ajanı çalıştırmaz.", "Start and Finish record the event by hand; they do not run the agent.", "Starten und Beenden speichern das Ereignis von Hand; sie führen den Agenten nicht aus.", "Iniciar y Finalizar registran el evento a mano; no ejecutan el agente."], 'p.sirala': ["Sırala: {x}", "Sort by {x}", "Sortieren nach {x}", "Ordenar por {x}"], 'r.baslik': ["Rehber", "Guide", "Anleitung", "Guía"], 'r.lead': ["Sistemi adım adım kur. Her ders bir iki dakika sürer.", "Set up the system step by step. Each lesson takes a minute or two.", "Richte das System Schritt für Schritt ein. Jede Lektion dauert ein bis zwei Minuten.", "Configura el sistema paso a paso. Cada lección dura uno o dos minutos."], 'r.temel': ["Temel", "Basics", "Grundlagen", "Básico"], 'r.ileri': ["İleri konular", "Going further", "Weiterführend", "Avanzado"], 'r.dene': ["Şimdi dene", "Try it now", "Jetzt ausprobieren", "Probar ahora"], 'r.tamam': ["Tamamlandı", "Done", "Erledigt", "Hecho"], 'r.isaretle': ["Tamamlandı işaretle", "Mark as done", "Als erledigt markieren", "Marcar como hecho"], 'r.ilerleme': ["{n} / {m} ders tamam", "{n} of {m} lessons done", "{n} von {m} Lektionen erledigt", "{n} de {m} lecciones hechas"], 'r.sonraki': ["Sonraki", "Next", "Weiter", "Siguiente"], 'r.dersler': ["Dersler", "Lessons", "Lektionen", "Lecciones"], 'r.1.b': ["Mantık: merkez, sistem, ajan", "The idea: center, systems, agents", "Die Idee: Zentrum, Systeme, Agenten", "La idea: centro, sistemas, agentes"], 'r.1.g': ["OZMIRA üç şeyden oluşur: merkez, sistem ve ajan.|Sistem, kullandığın bir yapay zekâdır: Claude, ChatGPT, Gemini ya da başka bir araç.|Ajan, o sistemin içinde tek bir işi yapan adlandırılmış roldür: örneğin kod inceleyen ya da araştırma yapan. Sohbetten farkı, görevinin ve kurallarının önceden yazılmış olmasıdır.|OZMIRA ajanları çalıştırmaz. Onları tek sahnede gösterir ve ne zaman çalıştıklarını, kaç token harcadıklarını takip eder. Tek bir ajanın olsa da işe yarar.", "OZMIRA has three parts: the center, systems and agents.|A system is an AI you use: Claude, ChatGPT, Gemini or any other tool.|An agent is a named role that does one job inside that system, such as reviewing code or doing research. Unlike a chat, its task and rules are written down in advance.|OZMIRA does not run your agents. It shows them in one scene and tracks when they run and how many tokens they use. It is useful even with a single agent.", "OZMIRA besteht aus drei Teilen: Zentrum, Systeme und Agenten.|Ein System ist eine KI, die du nutzt: Claude, ChatGPT, Gemini oder ein anderes Werkzeug.|Ein Agent ist eine benannte Rolle, die in diesem System genau eine Aufgabe erledigt, zum Beispiel Code prüfen oder recherchieren. Anders als im Chat sind Aufgabe und Regeln vorab festgelegt.|OZMIRA führt deine Agenten nicht aus. Es zeigt sie in einer Szene und verfolgt, wann sie laufen und wie viele Tokens sie verbrauchen. Das lohnt sich schon mit einem einzigen Agenten.", "OZMIRA tiene tres partes: el centro, los sistemas y los agentes.|Un sistema es una IA que usas: Claude, ChatGPT, Gemini u otra herramienta.|Un agente es un rol con nombre que hace una sola tarea dentro de ese sistema, como revisar código o investigar. A diferencia de un chat, su tarea y sus reglas están escritas de antemano.|OZMIRA no ejecuta tus agentes. Los muestra en una sola escena y registra cuándo se ejecutan y cuántos tokens usan. Sirve incluso con un solo agente."], 'r.2.b': ["İlk sistemini kur", "Set up your first system", "Dein erstes System einrichten", "Configura tu primer sistema"], 'r.2.g': ["Alttaki Kur düğmesine bas (kurulumdan sonra adı Düzenle olur).|Önce merkezine bir ad ver. Sonra kullandığın yapay zekâyı seç: Claude, ChatGPT, Gemini, Grok ya da Başka.|Her sisteme bir ad, bir görünüm ve bir renk ver, sonra Kaydet. Sahnede hemen görünür.|Ücretsiz sürümde {s} sistem ve toplam {a} ajan ekleyebilirsin.", "Click Set up in the bar at the bottom (after setup it is called Edit).|Name your center first. Then pick the AI you use: Claude, ChatGPT, Gemini, Grok or Other.|Give each system a name, a look and a color, then Save. It appears in the scene right away.|The free version allows {s} systems and {a} agents in total.", "Klicke unten in der Leiste auf Einrichten (nach der Einrichtung heißt es Bearbeiten).|Gib zuerst deinem Zentrum einen Namen. Wähle dann die KI, die du nutzt: Claude, ChatGPT, Gemini, Grok oder Andere.|Gib jedem System einen Namen, ein Aussehen und eine Farbe und klicke auf Speichern. Es erscheint sofort in der Szene.|Die kostenlose Version erlaubt {s} Systeme und insgesamt {a} Agenten.", "Pulsa Configurar en la barra inferior (después de configurar se llama Editar).|Primero ponle nombre a tu centro. Luego elige la IA que usas: Claude, ChatGPT, Gemini, Grok u Otro.|Dale a cada sistema un nombre, un aspecto y un color, y pulsa Guardar. Aparece en la escena al instante.|La versión gratuita permite {s} sistemas y {a} agentes en total."], 'r.3.b': ["Ajanlarını ekle", "Add your agents", "Agenten hinzufügen", "Añade tus agentes"], 'r.3.g': ["Ajan eklemenin iki yolu var, ikisi de Kur ya da Düzenle penceresinde.|Klasör: ajanların dosya olarak duruyorsa klasörün yolunu yaz. İçindeki her .md dosyası bir ajan olur. Claude Code için bu genelde .claude/agents klasörüdür.|Elle: ajan adlarını alt alta yaz. Dosyan yoksa en kolay yol budur.|Ajan dosyasının başındaki description satırı, ajan kartında açıklama olarak görünür.", "There are two ways to add agents, both in the Set up or Edit window.|Folder: if your agents live as files, enter the folder path. Every .md file in it becomes an agent. For Claude Code this is usually the .claude/agents folder.|By hand: type the agent names one per line. This is the easiest way if you have no files.|The description line at the top of an agent file shows up as the description on the agent card.", "Es gibt zwei Wege, Agenten hinzuzufügen, beide im Fenster Einrichten oder Bearbeiten.|Ordner: Wenn deine Agenten als Dateien vorliegen, gib den Ordnerpfad an. Jede .md-Datei darin wird zu einem Agenten. Bei Claude Code ist das meist der Ordner .claude/agents.|Von Hand: Schreibe die Agentennamen untereinander. Das ist der einfachste Weg, wenn du keine Dateien hast.|Die description-Zeile am Anfang einer Agentendatei erscheint als Beschreibung auf der Agentenkarte.", "Hay dos formas de añadir agentes, ambas en la ventana Configurar o Editar.|Carpeta: si tus agentes están guardados como archivos, escribe la ruta de la carpeta. Cada archivo .md se convierte en un agente. En Claude Code suele ser la carpeta .claude/agents.|A mano: escribe los nombres de los agentes, uno por línea. Es lo más fácil si no tienes archivos.|La línea description al inicio del archivo del agente aparece como descripción en su tarjeta."], 'r.4.b': ["Canlı takip: olaylar", "Live tracking: events", "Live-Verfolgung: Ereignisse", "Seguimiento en vivo: eventos"], 'r.4.g': ["OZMIRA bir ajanın çalıştığını, sen ona haber verince bilir. Buna olay denir.|Ajan başlarken bir başla olayı, bitince bir bitti olayı gönderilir. Bitti olayına harcanan token sayısını da ekleyebilirsin.|$ {py} ozmira.py olay \"\" basla|$ {py} ozmira.py olay \"\" bitti 1200|Kendi sistemine göre doldurulmuş komutlar Bağlan penceresinde, kopyalamaya hazır durur.", "OZMIRA knows an agent is running when you tell it. This is called an event.|Send a start event when the agent begins and a finish event when it is done. You can add the number of tokens used to the finish event.|$ {py} ozmira.py olay \"\" basla|$ {py} ozmira.py olay \"\" bitti 1200|The Connect window has these commands filled in for your own system, ready to copy. The command words basla (start) and bitti (finished) are the same in every language.", "OZMIRA weiß, dass ein Agent läuft, wenn du es ihm mitteilst. Das nennt man ein Ereignis.|Sende ein Start-Ereignis, wenn der Agent beginnt, und ein Ende-Ereignis, wenn er fertig ist. Beim Ende-Ereignis kannst du die verbrauchten Tokens angeben.|$ {py} ozmira.py olay \"\" basla|$ {py} ozmira.py olay \"\" bitti 1200|Im Fenster Verbinden stehen diese Befehle fertig für dein System zum Kopieren. Die Befehlswörter basla (Start) und bitti (fertig) sind in jeder Sprache gleich.", "OZMIRA sabe que un agente está en marcha cuando se lo dices. Eso se llama evento.|Envía un evento de inicio cuando el agente empieza y uno de fin cuando termina. En el evento de fin puedes añadir los tokens usados.|$ {py} ozmira.py olay \"\" basla|$ {py} ozmira.py olay \"\" bitti 1200|La ventana Conectar tiene estos comandos ya preparados para tu sistema, listos para copiar. Las palabras basla (inicio) y bitti (fin) son iguales en todos los idiomas."], 'r.5.b': ["Paneli oku", "Read the panel", "Das Panel lesen", "Lee el panel"], 'r.5.g': ["Panel düğmesi yönetim panelini açar.|Özet: kaç sistemin ve ajanın var, şu an kaç ajan çalışıyor, bugün kaç iş bitti, toplam kaç token harcandı.|Ajanlar: bir ajanı ara, sistemine göre süz, sütun başlığına basıp sırala. Başlat ve Bitir düğmeleri olayı elle kaydeder.|Olaylar: son olayların zaman sırasıyla listesi. CSV indir düğmesi ajan tablosunu dosyaya yazar.", "The Panel button opens the control panel.|Overview: how many systems and agents you have, how many are running now, how many runs finished today and how many tokens were used in total.|Agents: search for an agent, filter by system, click a column header to sort. Start and Finish record an event by hand.|Events: your latest events in time order. Download CSV saves the agent table to a file.", "Die Schaltfläche Panel öffnet die Verwaltung.|Übersicht: wie viele Systeme und Agenten du hast, wie viele gerade laufen, wie viele Läufe heute fertig wurden und wie viele Tokens insgesamt verbraucht wurden.|Agenten: Suche einen Agenten, filtere nach System, klicke auf eine Spaltenüberschrift zum Sortieren. Starten und Beenden speichern ein Ereignis von Hand.|Ereignisse: deine letzten Ereignisse in zeitlicher Reihenfolge. CSV herunterladen speichert die Agententabelle als Datei.", "El botón Panel abre el panel de control.|Resumen: cuántos sistemas y agentes tienes, cuántos están en marcha ahora, cuántas ejecuciones terminaron hoy y cuántos tokens se usaron en total.|Agentes: busca un agente, filtra por sistema y pulsa el título de una columna para ordenar. Iniciar y Finalizar registran un evento a mano.|Eventos: tus últimos eventos por orden de tiempo. Descargar CSV guarda la tabla de agentes en un archivo."], 'r.6.b': ["Olayları otomatik gönder", "Send events automatically", "Ereignisse automatisch senden", "Envía eventos automáticamente"], 'r.6.g': ["Komutu her seferinde elle yazmak zorunda değilsin.|Ajanını bir script ya da toplu iş dosyası başlatıyorsa, başla komutunu ilk satıra, bitti komutunu son satıra koy.|Kullandığın araç çalışma öncesinde ve sonrasında komut çalıştırabiliyorsa (çoğu araçta buna hook denir), aynı iki komutu oraya yaz. Nasıl ayarlanacağı aracın kendi belgelerinde yazar.|Program yazıyorsan Bağlan penceresindeki HTTP isteğini kullan: yalnızca bu bilgisayardan çalışır ve sana özel anahtarı ister.", "You do not have to type the command every time.|If a script or batch file starts your agent, put the start command on its first line and the finish command on its last line.|If your tool can run a command before and after a run (many tools call this a hook), put the same two commands there. The tool's own documentation explains how to set it up.|If you write code, use the HTTP request from the Connect window: it only works from this computer and needs your personal key.", "Du musst den Befehl nicht jedes Mal von Hand eingeben.|Wenn ein Skript oder eine Batchdatei deinen Agenten startet, setze den Start-Befehl in die erste und den Ende-Befehl in die letzte Zeile.|Wenn dein Werkzeug vor und nach einem Lauf einen Befehl ausführen kann (oft Hook genannt), trage dort dieselben zwei Befehle ein. Wie das geht, steht in der Dokumentation des Werkzeugs.|Wenn du programmierst, nutze die HTTP-Anfrage aus dem Fenster Verbinden: Sie funktioniert nur von diesem Computer aus und braucht deinen persönlichen Schlüssel.", "No tienes que escribir el comando cada vez.|Si un script o archivo por lotes inicia tu agente, pon el comando de inicio en la primera línea y el de fin en la última.|Si tu herramienta puede ejecutar un comando antes y después de cada ejecución (muchas lo llaman hook), pon ahí los mismos dos comandos. La documentación de la herramienta explica cómo configurarlo.|Si programas, usa la petición HTTP de la ventana Conectar: solo funciona desde este equipo y necesita tu clave personal."], 'r.7.b': ["İyi bir ajan tasarla", "Design a good agent", "Einen guten Agenten entwerfen", "Diseña un buen agente"], 'r.7.g': ["İyi bir ajan tek bir iş yapar. İki iş yapıyorsa ikiye böl.|Adı işini söylesin: kod-inceleyici, kaynak-arastirmaci gibi.|Açıklamasına üç şey yaz: ne yapar, ne zaman çağrılır, ne teslim eder.|Yetkiyi dar tut: önce yalnızca okuyabilen bir ajanla başla, yazma iznini gerekince ver.|Küçük başla: iki üç ajanla bir hafta çalış, panelde hangisinin hiç çalışmadığına bak, kullanmadığını kaldır.", "A good agent does one job. If it does two, split it in two.|Let the name say the job: code-reviewer, source-researcher.|Put three things in its description: what it does, when to call it, and what it hands back.|Keep permissions narrow: start with an agent that can only read, and add write access when it is needed.|Start small: work with two or three agents for a week, check the panel for ones that never run, and remove what you do not use.", "Ein guter Agent erledigt eine Aufgabe. Erledigt er zwei, teile ihn in zwei.|Der Name soll die Aufgabe nennen: code-pruefer, quellen-rechercheur.|Schreibe drei Dinge in die Beschreibung: was er tut, wann er aufgerufen wird und was er zurückgibt.|Halte die Rechte eng: Beginne mit einem Agenten, der nur lesen darf, und gib Schreibrechte erst, wenn sie nötig sind.|Fang klein an: Arbeite eine Woche mit zwei oder drei Agenten, sieh im Panel nach, welche nie laufen, und entferne, was du nicht nutzt.", "Un buen agente hace una sola tarea. Si hace dos, divídelo en dos.|Que el nombre diga la tarea: revisor-de-codigo, investigador-de-fuentes.|Escribe tres cosas en su descripción: qué hace, cuándo llamarlo y qué entrega.|Mantén los permisos al mínimo: empieza con un agente que solo pueda leer y dale permiso de escritura cuando haga falta.|Empieza con poco: trabaja una semana con dos o tres agentes, mira en el panel cuáles nunca se ejecutan y quita los que no uses."], 'r.8.b': ["Uygulama penceresi ve kısayol", "App window and shortcut", "App-Fenster und Verknüpfung", "Ventana de app y acceso directo"], 'r.8.g': ["OZMIRA'yı tarayıcı sekmesi yerine kendi penceresinde açabilirsin.|$ {py} ozmira.py --uygulama|Pencereyi kapatınca sunucu da durur. Chrome, Edge ya da Brave gerekir; yoksa varsayılan tarayıcıda açılır.|Masaüstüne kısayol koymak için:|$ {py} ozmira.py kisayol", "You can open OZMIRA in its own window instead of a browser tab.|$ {py} ozmira.py --uygulama|Closing the window also stops the server. It needs Chrome, Edge or Brave; otherwise it opens in your default browser.|To put a shortcut on your desktop:|$ {py} ozmira.py kisayol", "Du kannst OZMIRA in einem eigenen Fenster statt in einem Browser-Tab öffnen.|$ {py} ozmira.py --uygulama|Wenn du das Fenster schließt, stoppt auch der Server. Dafür wird Chrome, Edge oder Brave benötigt; sonst öffnet es sich im Standardbrowser.|So legst du eine Verknüpfung auf den Desktop:|$ {py} ozmira.py kisayol", "Puedes abrir OZMIRA en su propia ventana en lugar de una pestaña del navegador.|$ {py} ozmira.py --uygulama|Al cerrar la ventana también se detiene el servidor. Necesita Chrome, Edge o Brave; si no, se abre en tu navegador predeterminado.|Para poner un acceso directo en el escritorio:|$ {py} ozmira.py kisayol"], 'r.9.b': ["Verilerin nerede", "Where your data lives", "Wo deine Daten liegen", "Dónde están tus datos"], 'r.9.g': ["Her şey bu bilgisayarda, {p} klasöründe durur: sistem tanımın, olay kaydın ve ayarların.|Yedek almak için bu klasörü kopyala. Başka bilgisayara taşımak için aynı klasörü oraya koy.|Hesap ve bulut yoktur. Paylaşım ayarı sen açmadıkça kapalıdır.|Bağlan penceresindeki anahtar sana özeldir; ekran görüntüsü paylaşırken görünmesin.", "Everything stays on this computer in the {p} folder: your system definition, event log and settings.|To back up, copy this folder. To move to another computer, put the same folder there.|There is no account and no cloud. Sharing stays off unless you turn it on.|The key shown in the Connect window is personal; keep it out of screenshots you share.", "Alles bleibt auf diesem Computer im Ordner {p}: deine Systemdefinition, das Ereignisprotokoll und die Einstellungen.|Für eine Sicherung kopierst du diesen Ordner. Für einen Umzug legst du denselben Ordner auf den anderen Computer.|Es gibt kein Konto und keine Cloud. Das Teilen bleibt aus, bis du es einschaltest.|Der Schlüssel im Fenster Verbinden ist persönlich; zeige ihn nicht in Screenshots, die du teilst.", "Todo se queda en este equipo, en la carpeta {p}: la definición de tus sistemas, el registro de eventos y los ajustes.|Para hacer una copia, copia esta carpeta. Para pasar a otro equipo, pon la misma carpeta allí.|No hay cuenta ni nube. Compartir está desactivado hasta que lo actives.|La clave de la ventana Conectar es personal; que no salga en las capturas que compartas."], 'r.10.b': ["Ücretsiz ve Pro", "Free and Pro", "Kostenlos und Pro", "Gratis y Pro"], 'r.10.g': ["Ücretsiz sürüm 2 sistem ve toplam 7 ajan gösterir. Fazlası silinmez, yalnızca görünmez.|Pro'da ücretli sınır yoktur ve beş görünümün hepsi açılır. Teknik tavan 24 sistem ve sistem başına 200 ajandır.|Lisans anahtarını alttaki plan düğmesinden girersin. Doğrulama çevrimdışı yapılır.", "The free version shows 2 systems and 7 agents in total. Extra ones are not deleted, only hidden.|Pro has no paid limit and unlocks all five looks. The technical ceiling is 24 systems and 200 agents per system.|Enter a license key from the plan button in the bar. It is verified offline.", "Die kostenlose Version zeigt 2 Systeme und insgesamt 7 Agenten. Weitere werden nicht gelöscht, nur ausgeblendet.|Pro hat kein kostenpflichtiges Limit und schaltet alle fünf Darstellungen frei. Die technische Obergrenze liegt bei 24 Systemen und 200 Agenten pro System.|Den Lizenzschlüssel gibst du über die Plan-Schaltfläche in der Leiste ein. Er wird offline geprüft.", "La versión gratuita muestra 2 sistemas y 7 agentes en total. Los demás no se borran, solo se ocultan.|Pro no tiene límite de pago y desbloquea los cinco aspectos. El tope técnico es de 24 sistemas y 200 agentes por sistema.|Introduce la clave de licencia desde el botón del plan en la barra. Se verifica sin conexión."], 'p.t.akis': ["Akış", "Flow", "Fluss", "Flujo"], 'p.a.girdi': ["Girdi", "Input", "Eingabe", "Entrada"], 'p.a.cikti': ["Çıktı", "Output", "Ausgabe", "Salida"], 'p.a.toplam': ["Toplam", "Total", "Gesamt", "Total"], 'p.a.oran': ["Çıktı / girdi", "Output / input", "Ausgabe / Eingabe", "Salida / entrada"], 'p.a.maliyet': ["Tahmini maliyet", "Estimated cost", "Geschätzte Kosten", "Coste estimado"], 'p.a.kaynak': ["Sistem / ajan", "System / agent", "System / Agent", "Sistema / agente"], 'p.a.hepsi': ["Hepsi", "All", "Alle", "Todos"], 'p.a.veri': ["Veri", "Data", "Daten", "Datos"], 'p.a.aria': ["Token akışı: girdi {g}, çıktı {c}", "Token flow: input {g}, output {c}", "Token-Fluss: Eingabe {g}, Ausgabe {c}", "Flujo de tokens: entrada {g}, salida {c}"], 'p.a.bos': ["Henüz girdi ve çıktı ayrımı bildirilmedi. Bitti olayına girdi=... cikti=... ekle; örnek komut Bağlan penceresinde.", "No input and output split has been reported yet. Add girdi=... cikti=... to the finish event; the Connect window has an example.", "Es wurde noch keine Aufteilung in Eingabe und Ausgabe gemeldet. Ergänze girdi=... cikti=... beim Ende-Ereignis; ein Beispiel steht im Fenster Verbinden.", "Aún no se ha registrado el reparto entre entrada y salida. Añade girdi=... cikti=... al evento de fin; hay un ejemplo en la ventana Conectar."], 'p.a.ayrimsiz': ["{n} token ayrım bildirilmeden kaydedildi; akışta görünmez, toplamda sayılır.", "{n} tokens were recorded without a split; they are missing from the flow but counted in the total.", "{n} Tokens wurden ohne Aufteilung gespeichert; sie fehlen im Fluss, zählen aber zur Summe.", "{n} tokens se registraron sin reparto; no aparecen en el flujo, pero cuentan en el total."], 'p.f.baslik': ["Fiyatlar (1 milyon token başına, $)", "Prices (per 1 million tokens, $)", "Preise (pro 1 Million Tokens, $)", "Precios (por 1 millón de tokens, $)"], 'p.f.girdi': ["Girdi fiyatı", "Input price", "Eingabepreis", "Precio de entrada"], 'p.f.cikti': ["Çıktı fiyatı", "Output price", "Ausgabepreis", "Precio de salida"], 'p.f.not': ["Fiyatları sen girersin ve yalnızca bu tarayıcıda saklanır. Maliyet bir tahmindir: abonelikle kullanıyorsan gerçek faturan farklıdır.", "You enter the prices and they are kept only in this browser. The cost is an estimate: on a subscription your real bill is different.", "Die Preise gibst du selbst ein; sie bleiben nur in diesem Browser. Die Kosten sind eine Schätzung: Mit einem Abo sieht deine echte Rechnung anders aus.", "Tú introduces los precios y solo se guardan en este navegador. El coste es una estimación: con una suscripción tu factura real es distinta."], }; // Sunucunun Türkçe hata iletisini seçili dile çevirir; tanımadığı iletiyi olduğu gibi bırakır. const HATALAR = [ [/^En az 1, en fazla (\d+) sistem olmalı\.$/, 'e.sistemSay', ['a']], [/^Ücretsiz sürümde en fazla (\d+) yapay zekâ sistemi eklenir/, 'e.ucretsizSistem', ['a']], [/^Her sistemin bir adı olmalı\.$/, 'w.vAd', []], [/^Geçersiz stil: (.*)$/, 'e.stil', ['a']], [/^Ücretsiz sürümde yalnızca Galaksi ve Küre stilleri var/, 'e.ucretsizStil', []], [/^Renk #rrggbb biçiminde olmalı\.$/, 'e.renk', []], [/^Ücretsiz sürümde en fazla (\d+) ajan gösterilir \(bu profilde (\d+) var\)/, 'e.ucretsizAjan', ['a', 'b']], [/^Bu sürümde lisans doğrulama anahtarı yok/, 'e.lisansYok', []], [/^Lisans anahtarı geçersiz\.$/, 'e.lisansGecersiz', []], [/^Lisansın süresi dolmuş\.$/, 'e.lisansSure', []], [/^Geri bildirim türü geçersiz\.$/, 'e.gbTur', []], [/^Bir şeyler yaz\.$/, 'e.gbBos', []], [/^Önce profil oluşturun\.$/, 'e.profilYok', []], [/^Yetkisiz\.$/, 'e.yetkisiz', []], [/^Geçersiz JSON\.$/, 'e.json', []], [/^Gövde çok büyük\.$/, 'e.buyuk', []], [/^Geçersiz Host\.$/, 'e.host', []], [/^Geçersiz kaynak\.$/, 'e.kaynak', []], ]; function tespit() { try { const s = localStorage.getItem('ozmira-dil'); if (DILLER.includes(s)) return s; } catch (_) { /* depolama kapalı */ } const n = (typeof navigator !== 'undefined' && ((navigator.languages && navigator.languages[0]) || navigator.language)) || 'en'; const k = String(n).slice(0, 2).toLowerCase(); return DILLER.includes(k) ? k : 'en'; } export let dil = tespit(); export function dilSec(k) { if (!DILLER.includes(k)) return; try { localStorage.setItem('ozmira-dil', k); } catch (_) { /* yoksay */ } dil = k; } export function t(key, vars, kod = dil) { const e = S[key]; if (!e) return key; let m = e[DILLER.indexOf(kod)] || e[1] || e[0]; if (vars) m = m.replace(/\{(\w+)\}/g, (_, k) => (vars[k] != null ? String(vars[k]) : '{' + k + '}')); return m; } // Sayıya göre tekil/çoğul: "key1" varsa ve n === 1 ise onu kullanır. export function tp(key, n, vars) { return t(S[key + '1'] && n === 1 ? key + '1' : key, { n, ...(vars || {}) }); } export function hataCevir(msg) { if (typeof msg !== 'string') return msg; for (const [re, key, adlar] of HATALAR) { const m = re.exec(msg); if (!m) continue; const v = {}; adlar.forEach((ad, i) => { v[ad] = m[i + 1]; }); return t(key, v); } return msg; } // index.html'deki data-i18n (metin), data-i18n-aria (aria-label) alanlarını doldurur. export function uygula(kok = document) { document.documentElement.lang = dil; kok.querySelectorAll('[data-i18n]').forEach((e) => { e.textContent = t(e.getAttribute('data-i18n')); }); kok.querySelectorAll('[data-i18n-aria]').forEach((e) => { e.setAttribute('aria-label', t(e.getAttribute('data-i18n-aria'))); }); } export const _anahtarlar = () => Object.keys(S); export const _veri = S;