mirror of
https://github.com/tinyhumansai/openhuman.git
synced 2026-07-27 21:08:00 +00:00
1020 lines
64 KiB
TypeScript
1020 lines
64 KiB
TypeScript
import type { TranslationMap } from '../types';
|
||
|
||
// Indonesian (Bahasa Indonesia) chunk 5/5. Translated from chunks/en-5.ts.
|
||
const id5: TranslationMap = {
|
||
'settings.billing.subscription.save': '{pct}',
|
||
'settings.billing.subscription.upgrade': 'Tingkatkan',
|
||
'settings.billing.subscription.waiting': 'Menunggu',
|
||
'settings.billing.subscription.waitingPayment': 'Menunggu pembayaran',
|
||
'settings.composio.apiKeyDesc': 'API key Composio saat ini tersimpan di perangkat ini.',
|
||
'settings.composio.apiKeyLabel': 'API key Composio',
|
||
'settings.composio.apiKeyStored': 'API key tersimpan',
|
||
'settings.composio.apiKeyStoredPlaceholder': '••••••••••••••••',
|
||
'settings.composio.clearedToBackend': 'Beralih ke mode Backend',
|
||
'settings.composio.confirmItem1': 'Akun di app.composio.dev dengan API key',
|
||
'settings.composio.confirmItem2':
|
||
'Menghubungkan ulang setiap integrasi melalui akun Composio pribadi Anda',
|
||
'settings.composio.confirmItem3':
|
||
'Catatan: trigger Composio (webhook real-time) belum berjalan di mode Direct — hanya pemanggilan tool sinkron',
|
||
'settings.composio.confirmNeedItems': 'Anda akan butuh:',
|
||
'settings.composio.confirmSwitch': 'Saya mengerti, beralih ke Direct',
|
||
'settings.composio.confirmTitle': '⚠️ Beralih ke mode Direct',
|
||
'settings.composio.confirmWarning':
|
||
'Integrasi Anda yang sudah ada (Gmail, Slack, GitHub, dll. yang terhubung melalui OpenHuman) tidak akan terlihat — mereka berada di tenant Composio yang dikelola OpenHuman.',
|
||
'settings.composio.intro':
|
||
'Composio mengintegrasikan 250+ aplikasi eksternal sebagai tool yang dapat dipanggil agen Anda. Pilih cara pemanggilan tool tersebut dirutekan.',
|
||
'settings.composio.modeDirect': 'Langsung (bawa API key Anda sendiri)',
|
||
'settings.composio.modeDirectDesc':
|
||
'Panggilan langsung ke backend.composio.dev. Berdaulat / ramah offline. Eksekusi tool berjalan sinkron; webhook trigger real-time belum dirutekan dalam mode direct (isu lanjutan).',
|
||
'settings.composio.modeManaged': 'Terkelola (OpenHuman menanganinya untuk Anda)',
|
||
'settings.composio.modeManagedDesc':
|
||
'OpenHuman mem-proxy pemanggilan tool melalui backend kami (disarankan). Autentikasi dibrokerkan; Anda tidak perlu menempel API key Composio. Webhook dirutekan sepenuhnya.',
|
||
'settings.composio.routingMode': 'Mode routing',
|
||
'settings.composio.saveErrorNoKey':
|
||
'Gagal menyimpan. Mode Direct memerlukan API key yang tidak kosong.',
|
||
'settings.composio.saving': 'Menyimpan...',
|
||
'settings.composio.switching': 'Mengalihkan…',
|
||
'settings.cron.jobs.desc': 'Deskripsi',
|
||
'settings.cron.jobs.empty': 'Tidak ada cron job core ditemukan.',
|
||
'settings.cron.jobs.lastStatus': 'Status terakhir',
|
||
'settings.cron.jobs.loading': 'Memuat cron job...',
|
||
'settings.cron.jobs.loadingRuns': 'Memuat run',
|
||
'settings.cron.jobs.nextRun': 'Jalan berikutnya',
|
||
'settings.cron.jobs.pause': 'Jeda',
|
||
'settings.cron.jobs.paused': 'Dijeda',
|
||
'settings.cron.jobs.recentRuns': 'Jalan terbaru',
|
||
'settings.cron.jobs.removing': 'Menghapus',
|
||
'settings.cron.jobs.resume': 'Lanjutkan',
|
||
'settings.cron.jobs.runningNow': 'Sedang berjalan',
|
||
'settings.cron.jobs.saving': 'Menyimpan...',
|
||
'settings.cron.jobs.schedule': 'Jadwal',
|
||
'settings.cron.jobs.title': 'Cron Job Core',
|
||
'settings.cron.jobs.viewRuns': 'Lihat run',
|
||
'settings.localModel.deviceCapability.active': 'Aktif',
|
||
'settings.localModel.deviceCapability.appliedTier': 'Tingkat yang diterapkan',
|
||
'settings.localModel.deviceCapability.applying': 'Menerapkan',
|
||
'settings.localModel.deviceCapability.cores': '{count}',
|
||
'settings.localModel.deviceCapability.couldNotLoadPresets': 'Tidak dapat memuat preset',
|
||
'settings.localModel.deviceCapability.cpu': 'CPU',
|
||
'settings.localModel.deviceCapability.customModelIds': 'ID model kustom',
|
||
'settings.localModel.deviceCapability.detected': 'Terdeteksi',
|
||
'settings.localModel.deviceCapability.disabled': 'Dinonaktifkan',
|
||
'settings.localModel.deviceCapability.disabledDesc': 'Deskripsi dinonaktifkan',
|
||
'settings.localModel.deviceCapability.downloadingModels': '(mengunduh model)',
|
||
'settings.localModel.deviceCapability.downloadingSetupDesc':
|
||
'Mengunduh penginstal OllamaSetup (~2 GB) dan membongkarnya. Ini mungkin memerlukan beberapa waktu pada pemasangan pertama.',
|
||
'settings.localModel.deviceCapability.failedToApplyPreset': 'Gagal menerapkan preset',
|
||
'settings.localModel.deviceCapability.gpu': 'GPU',
|
||
'settings.localModel.deviceCapability.installFailed': 'Instalasi Ollama gagal',
|
||
'settings.localModel.deviceCapability.installFailedDesc':
|
||
'Penginstal keluar sebelum Ollama dapat digunakan. Klik coba ulang, atau instal manual dari ollama.com.',
|
||
'settings.localModel.deviceCapability.installFirst': 'Jalankan Ollama terlebih dahulu.',
|
||
'settings.localModel.deviceCapability.installFirstDesc':
|
||
'Tier lokal bergantung pada endpoint Ollama yang dikelola eksternal. Jalankan sendiri, tarik model yang Anda inginkan, dan tetap gunakan "Disabled (cloud fallback)" hingga runtime dapat dijangkau.',
|
||
'settings.localModel.deviceCapability.installOllamaFirst':
|
||
'Jalankan Ollama terlebih dahulu untuk menggunakan tier ini',
|
||
'settings.localModel.deviceCapability.installingOllama': 'Menginstal Ollama',
|
||
'settings.localModel.deviceCapability.loadingDeviceInfo': 'Memuat info perangkat',
|
||
'settings.localModel.deviceCapability.localAiDisabled':
|
||
'AI lokal dinonaktifkan — menggunakan fallback cloud.',
|
||
'settings.localModel.deviceCapability.modelTier': 'Tingkat Model',
|
||
'settings.localModel.deviceCapability.needsOllama': 'Memerlukan Ollama',
|
||
'settings.localModel.deviceCapability.notDetected': 'Tidak terdeteksi',
|
||
'settings.localModel.deviceCapability.ram': 'RAM',
|
||
'settings.localModel.deviceCapability.recommended': 'Direkomendasikan',
|
||
'settings.localModel.deviceCapability.retryInstall': 'Mencoba ulang...',
|
||
'settings.localModel.deviceCapability.retrying': 'Mencoba ulang...',
|
||
'settings.localModel.deviceCapability.starting': 'Memulai...',
|
||
'settings.localModel.download.audioPathPlaceholder': 'Path absolut ke file audio',
|
||
'settings.localModel.download.capabilityAssets': 'Aset Kemampuan',
|
||
'settings.localModel.download.downloading': 'Mengunduh...',
|
||
'settings.localModel.download.embeddingPlaceholder': 'Satu string input per baris...',
|
||
'settings.localModel.download.noThinkMode': 'Mode tanpa berpikir',
|
||
'settings.localModel.download.promptPlaceholder':
|
||
'Ketik prompt apa saja dan jalankan terhadap model lokal...',
|
||
'settings.localModel.download.quantizationPref': 'Preferensi kuantisasi',
|
||
'settings.localModel.download.runEmbeddingTest': 'Menjalankan...',
|
||
'settings.localModel.download.runPromptTest': 'Jalankan Uji Prompt',
|
||
'settings.localModel.download.runSummaryTest': 'Jalankan Uji Ringkasan',
|
||
'settings.localModel.download.runTranscriptionTest': 'Menjalankan...',
|
||
'settings.localModel.download.runTtsTest': 'Menjalankan...',
|
||
'settings.localModel.download.runVisionTest': 'Menjalankan...',
|
||
'settings.localModel.download.running': 'Menjalankan...',
|
||
'settings.localModel.download.runningPrompt': 'Menjalankan prompt',
|
||
'settings.localModel.download.summarizePlaceholder':
|
||
'Tempel teks untuk diringkas dengan model lokal...',
|
||
'settings.localModel.download.testCustomPrompt': 'Tes Prompt Kustom',
|
||
'settings.localModel.download.testEmbeddings': 'Tes Embedding',
|
||
'settings.localModel.download.testSummarization': 'Tes Ringkasan',
|
||
'settings.localModel.download.testVisionPrompt': 'Tes Prompt Visi',
|
||
'settings.localModel.download.testVoiceInput': 'Tes Input Suara (STT)',
|
||
'settings.localModel.download.testVoiceOutput': 'Tes Output Suara (TTS)',
|
||
'settings.localModel.download.ttsOutputPlaceholder': 'Path WAV output opsional',
|
||
'settings.localModel.download.ttsPlaceholder': 'Masukkan teks untuk disintesis...',
|
||
'settings.localModel.download.visionImagePlaceholder':
|
||
'Satu referensi gambar per baris (data URI, URL, atau penanda path lokal)',
|
||
'settings.localModel.download.visionPromptPlaceholder': 'Masukkan prompt untuk model visi...',
|
||
'settings.localModel.status.allChecksPassed': 'Semua pemeriksaan berhasil',
|
||
'settings.localModel.status.artifact': 'Artefak',
|
||
'settings.localModel.status.backend': 'Bagian Belakang',
|
||
'settings.localModel.status.binary': 'Biner',
|
||
'settings.localModel.status.bootstrapResume': 'Bootstrap / Lanjutkan',
|
||
'settings.localModel.status.checking': 'Memeriksa...',
|
||
'settings.localModel.status.checkingOllama': 'Memeriksa Ollama',
|
||
'settings.localModel.status.customLocation': 'Lokasi kustom',
|
||
'settings.localModel.status.customLocationDesc': 'Deskripsi lokasi kustom',
|
||
'settings.localModel.status.diagnosticsHint':
|
||
'Klik "Run Diagnostics" untuk memverifikasi Ollama berjalan dan model telah terinstal.',
|
||
'settings.localModel.status.downloadingUnknown': 'Mengunduh (ukuran tidak diketahui)',
|
||
'settings.localModel.status.eta': 'ETA',
|
||
'settings.localModel.status.expectedModels': 'Model yang diharapkan',
|
||
'settings.localModel.status.forceRebootstrap': 'Paksa Re-bootstrap',
|
||
'settings.localModel.status.generationTps': 'TPS Generasi',
|
||
'settings.localModel.status.hideErrorDetails': 'Sembunyikan detail error',
|
||
'settings.localModel.status.installManually': 'Instal manual',
|
||
'settings.localModel.status.installManuallyFrom': 'Instal manual dari',
|
||
'settings.localModel.status.installOllama': 'Memulai...',
|
||
'settings.localModel.status.installedModels': 'Model terinstal',
|
||
'settings.localModel.status.installing': 'Menginstal...',
|
||
'settings.localModel.status.installingOllama': 'Menginstal runtime Ollama...',
|
||
'settings.localModel.status.issues': 'Masalah',
|
||
'settings.localModel.status.issuesFound': '{count} masalah ditemukan',
|
||
'settings.localModel.status.lastLatency': 'Latensi Terakhir',
|
||
'settings.localModel.status.model': 'Model',
|
||
'settings.localModel.status.notFound': 'Tidak ditemukan',
|
||
'settings.localModel.status.notRunning': 'Tidak berjalan',
|
||
'settings.localModel.status.ollamaBinaryPath': 'Path biner Ollama',
|
||
'settings.localModel.status.ollamaDiagnostics': 'Diagnostik Ollama',
|
||
'settings.localModel.status.ollamaNotInstalled': 'Runtime Ollama tidak tersedia',
|
||
'settings.localModel.status.ollamaNotInstalledDesc':
|
||
'OpenHuman kini memperlakukan Ollama sebagai runtime inferensi eksternal. Jalankan server Ollama Anda sendiri, tarik model yang diinginkan, lalu arahkan routing workload ke sana.',
|
||
'settings.localModel.status.progress': 'Progres',
|
||
'settings.localModel.status.provider': 'Penyedia',
|
||
'settings.localModel.status.retryBootstrap': 'Coba Ulang Bootstrap',
|
||
'settings.localModel.status.runDiagnostics': 'Memeriksa...',
|
||
'settings.localModel.status.running': 'Berjalan',
|
||
'settings.localModel.status.runningExternalProcess': 'Berjalan via proses eksternal',
|
||
'settings.localModel.status.runtimeStatus': 'Status Runtime',
|
||
'settings.localModel.status.server': 'Server',
|
||
'settings.localModel.status.setPath': 'Mengatur...',
|
||
'settings.localModel.status.setting': 'Mengatur...',
|
||
'settings.localModel.status.showErrorDetails': 'Sembunyikan detail error',
|
||
'settings.localModel.status.showInstallErrorDetails': 'Sembunyikan detail error',
|
||
'settings.localModel.status.suggestedFixes': 'Perbaikan yang disarankan',
|
||
'settings.localModel.status.thenSetPath': 'Lalu atur path',
|
||
'settings.localModel.status.triggering': 'Memicu...',
|
||
'settings.localModel.status.unavailable': 'Tidak tersedia',
|
||
'settings.localModel.status.working': 'Memproses...',
|
||
'settings.developerMenu.ai.title': 'Konfigurasi AI',
|
||
'settings.developerMenu.ai.desc':
|
||
'Penyedia cloud, model Ollama lokal, dan routing per beban kerja',
|
||
'settings.developerMenu.screenAwareness.title': 'Kesadaran Layar',
|
||
'settings.developerMenu.screenAwareness.desc':
|
||
'Izin tangkapan layar, kebijakan pemantauan, dan kontrol sesi',
|
||
'settings.developerMenu.messagingChannels.title': 'Kanal Pesan',
|
||
'settings.developerMenu.messagingChannels.desc':
|
||
'Atur mode autentikasi Telegram/Discord dan routing kanal default',
|
||
'settings.developerMenu.tools.title': 'Alat',
|
||
'settings.developerMenu.tools.desc':
|
||
'Aktifkan atau nonaktifkan kemampuan yang bisa digunakan OpenHuman atas nama Anda',
|
||
'settings.developerMenu.agentChat.title': 'Chat Agen',
|
||
'settings.developerMenu.agentChat.desc':
|
||
'Uji percakapan agen dengan override model dan temperatur',
|
||
'settings.developerMenu.devWorkflow.title': 'Dev Workflow',
|
||
'settings.developerMenu.devWorkflow.desc':
|
||
'Autonomous agent that picks your GitHub issues and raises PRs on a schedule',
|
||
'settings.developerMenu.devWorkflow.panelDesc':
|
||
'Configure an autonomous developer agent that picks GitHub issues assigned to you and raises pull requests automatically on a schedule.',
|
||
'settings.devWorkflow.githubRepository': 'GitHub Repository',
|
||
'settings.devWorkflow.loadingRepositories': 'Loading repositories...',
|
||
'settings.devWorkflow.selectRepository': 'Select a repository',
|
||
'settings.devWorkflow.privateTag': '(private)',
|
||
'settings.devWorkflow.detectingForkInfo': 'Detecting fork info...',
|
||
'settings.devWorkflow.forkDetected': 'Fork detected',
|
||
'settings.devWorkflow.upstream': 'Upstream:',
|
||
'settings.devWorkflow.forkPrNote': 'PRs will be raised against the upstream repository.',
|
||
'settings.devWorkflow.notForkNote':
|
||
'Not a fork. PRs will be raised against this repository directly.',
|
||
'settings.devWorkflow.targetBranch': 'Target Branch',
|
||
'settings.devWorkflow.targetBranchNote': 'PRs will be raised against this branch',
|
||
'settings.devWorkflow.loadingBranches': 'Loading branches...',
|
||
'settings.devWorkflow.runFrequency': 'Run Frequency',
|
||
'settings.devWorkflow.runFrequencyNote':
|
||
'How often the agent should check for issues and raise PRs.',
|
||
'settings.devWorkflow.updateConfiguration': 'Update Configuration',
|
||
'settings.devWorkflow.saveConfiguration': 'Save Configuration',
|
||
'settings.devWorkflow.remove': 'Remove',
|
||
'settings.devWorkflow.saved': 'Saved',
|
||
'settings.devWorkflow.activeConfiguration': 'Active Configuration',
|
||
'settings.devWorkflow.activeConfigRepository': 'Repository:',
|
||
'settings.devWorkflow.activeConfigUpstream': 'Upstream:',
|
||
'settings.devWorkflow.activeConfigTargetBranch': 'Target branch:',
|
||
'settings.devWorkflow.activeConfigSchedule': 'Schedule:',
|
||
'settings.devWorkflow.enabled': 'Enabled',
|
||
'settings.devWorkflow.paused': 'Paused',
|
||
'settings.skillsRunner.scheduleEnabled': 'Enabled',
|
||
'settings.skillsRunner.scheduleDisabled': 'Paused',
|
||
'settings.skillsRunner.scheduleToggleAria': 'Toggle schedule enabled',
|
||
'settings.skillsRunner.schedule.history': 'History',
|
||
'settings.skillsRunner.schedule.historyLoading': 'Loading history\u2026',
|
||
'settings.skillsRunner.schedule.historyEmpty': 'No runs yet for this schedule.',
|
||
'settings.skillsRunner.schedule.historyNoOutput': 'No output captured.',
|
||
'settings.skillsRunner.schedule.active': 'Active',
|
||
'settings.skillsRunner.schedule.lastRunLabel': 'last:',
|
||
'settings.devWorkflow.nextRun': 'Next run',
|
||
'settings.devWorkflow.lastRun': 'Last run',
|
||
'settings.devWorkflow.runNow': 'Run now',
|
||
'settings.devWorkflow.running': 'Running…',
|
||
'settings.devWorkflow.recentRuns': 'Recent runs',
|
||
'settings.devWorkflow.cronSaveError': 'Failed to save configuration',
|
||
'settings.devWorkflow.lastOutput': 'Last output',
|
||
'settings.devWorkflow.noOutput': 'No output captured',
|
||
'settings.devWorkflow.runningStatus':
|
||
'Agent is running — picking an issue and working on a fix...',
|
||
'settings.devWorkflow.errorNotConnected':
|
||
'GitHub is not connected. Please connect GitHub via Settings > Advanced > Composio first.',
|
||
'settings.devWorkflow.errorToolNotEnabled':
|
||
'GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER tool is not enabled on this backend. Please ask your admin to enable it in the Composio integration (backend#842).',
|
||
'settings.devWorkflow.errorNotAuthenticated': 'Not authenticated. Please sign in first.',
|
||
'settings.devWorkflow.errorNoRepositories': 'No repositories found for this GitHub account.',
|
||
'settings.devWorkflow.schedule.every30min': 'Every 30 minutes',
|
||
'settings.devWorkflow.schedule.everyHour': 'Every hour',
|
||
'settings.devWorkflow.schedule.every2hours': 'Every 2 hours',
|
||
'settings.devWorkflow.schedule.every6hours': 'Every 6 hours',
|
||
'settings.devWorkflow.schedule.onceDaily': 'Once daily (9 AM)',
|
||
'settings.developerMenu.cronJobs.title': 'Pekerjaan Cron',
|
||
'settings.developerMenu.cronJobs.desc': 'Lihat dan atur pekerjaan terjadwal untuk skill runtime',
|
||
'settings.developerMenu.localModelDebug.title': 'Debug Model Lokal',
|
||
'settings.developerMenu.localModelDebug.desc':
|
||
'Konfigurasi Ollama, unduhan aset, pengujian model, dan diagnostik',
|
||
'settings.developerMenu.webhooks.title': 'Webhook',
|
||
'settings.developerMenu.webhooks.desc':
|
||
'Periksa pendaftaran webhook runtime dan log permintaan yang tertangkap',
|
||
'settings.developerMenu.eventLog.title': 'Event Log',
|
||
'settings.developerMenu.eventLog.desc':
|
||
'Live colour-coded stream of all agent, tool, and system events',
|
||
'settings.developerMenu.eventLog.allTypes': 'All types',
|
||
'settings.developerMenu.eventLog.filterAgent': 'Filter...',
|
||
'settings.developerMenu.eventLog.download': 'Download',
|
||
'settings.developerMenu.eventLog.events': 'events',
|
||
'settings.developerMenu.eventLog.live': 'Live',
|
||
'settings.developerMenu.eventLog.disconnected': 'Disconnected',
|
||
'settings.developerMenu.eventLog.waiting': 'Waiting for events...',
|
||
'settings.developerMenu.eventLog.notConnected': 'Not connected to core',
|
||
'settings.developerMenu.eventLog.jumpToLatest': 'Jump to latest',
|
||
'settings.developerMenu.eventLog.badge.tool': 'TOOL',
|
||
'settings.developerMenu.eventLog.badge.agent': 'AGENT',
|
||
'settings.developerMenu.eventLog.badge.info': 'INFO',
|
||
'settings.developerMenu.eventLog.badge.mem': 'MEM',
|
||
'settings.developerMenu.eventLog.badge.chan': 'CHAN',
|
||
'settings.developerMenu.eventLog.badge.cron': 'CRON',
|
||
'settings.developerMenu.eventLog.badge.hook': 'HOOK',
|
||
'settings.developerMenu.eventLog.badge.warn': 'WARN',
|
||
'settings.developerMenu.eventLog.badge.skill': 'SKILL',
|
||
'settings.developerMenu.eventLog.badge.comp': 'COMP',
|
||
'settings.developerMenu.eventLog.badge.mcp': 'MCP',
|
||
'settings.developerMenu.intelligence.title': 'Kecerdasan',
|
||
'settings.developerMenu.intelligence.desc':
|
||
'Ruang kerja memori, mesin bawah sadar, mimpi, dan pengaturan',
|
||
'settings.developerMenu.notificationRouting.title': 'Routing Notifikasi',
|
||
'settings.developerMenu.notificationRouting.desc':
|
||
'Penilaian kepentingan AI dan eskalasi orkestrator untuk peringatan integrasi',
|
||
'settings.developerMenu.composeioTriggers.title': 'Pemicu ComposeIO',
|
||
'settings.developerMenu.composeioTriggers.desc': 'Lihat riwayat pemicu ComposeIO dan arsip',
|
||
'settings.developerMenu.composioRouting.title': 'Routing Composio (Mode Langsung)',
|
||
'settings.developerMenu.composioRouting.desc':
|
||
'Gunakan kunci API Composio Anda sendiri dan rutekan panggilan langsung ke backend.composio.dev',
|
||
'settings.developerMenu.integrationTriggers.title': 'Pemicu Integrasi',
|
||
'settings.developerMenu.integrationTriggers.desc':
|
||
'Atur pengaturan triase AI untuk pemicu integrasi Composio',
|
||
'settings.appearance.menuDesc': 'Pilih terang, gelap, atau ikuti tema sistem',
|
||
'settings.mascot.active': 'Aktif',
|
||
'settings.mascot.characterDesc': 'Deskripsi karakter',
|
||
'settings.mascot.characterHeading': 'Judul karakter',
|
||
// TODO: translate custom GIF mascot strings.
|
||
'settings.mascot.customGifError':
|
||
'Masukkan HTTPS .gif URL, loopback HTTP .gif URL, file:// .gif URL, atau jalur .gif lokal.',
|
||
'settings.mascot.customGifHeading': 'Avatar GIF khusus',
|
||
'settings.mascot.customGifLabel': 'Avatar GIF khusus URL',
|
||
'settings.mascot.colorDesc': 'Deskripsi warna',
|
||
'settings.mascot.colorHeading': 'Judul warna',
|
||
'settings.mascot.loadingLibrary': 'Memuat perpustakaan OpenHuman...',
|
||
'settings.mascot.localDefault': 'OpenHuman Lokal (default)',
|
||
'settings.mascot.menuTitle': 'Maskot',
|
||
'settings.mascot.menuDesc': 'Pilih warna maskot yang digunakan di seluruh aplikasi',
|
||
'settings.mascot.noCharacters': 'Belum ada karakter OpenHuman yang tersedia',
|
||
'settings.mascot.noColorVariants': 'Tidak ada varian warna',
|
||
'settings.mascot.voice.current': 'saat ini',
|
||
'settings.mascot.voice.customDesc':
|
||
'Temukan ID suara di api.elevenlabs.io/v1/voices atau dasbor ElevenLabs Anda. Hanya ID yang disimpan — kunci API Anda tetap di backend.',
|
||
'settings.mascot.voice.customHeading': 'ID suara kustom',
|
||
'settings.mascot.voice.customOption': 'Lainnya (tempel ID suara)…',
|
||
'settings.mascot.voice.desc':
|
||
'Pilih suara ElevenLabs yang digunakan maskot untuk balasan lisan. Filter berdasarkan jenis kelamin, pilih dari daftar pilihan, tempel ID kustom, atau biarkan aplikasi memilih suara yang sesuai dengan bahasa antarmuka.',
|
||
'settings.mascot.voice.genderFemale': 'Wanita',
|
||
'settings.mascot.voice.genderHeading': 'Jenis kelamin suara',
|
||
'settings.mascot.voice.genderMale': 'Pria',
|
||
'settings.mascot.voice.heading': 'Suara',
|
||
'settings.mascot.voice.preset': 'Pratinjau suara',
|
||
'settings.mascot.voice.presetHeading': 'Pratinjau suara',
|
||
'settings.mascot.voice.preview': 'Pratinjau suara',
|
||
'settings.mascot.voice.previewError': 'Pratinjau suara gagal',
|
||
'settings.mascot.voice.previewing': 'Memuat pratinjau…',
|
||
'settings.mascot.voice.reset': 'Atur ulang ke default',
|
||
'settings.mascot.voice.useLocaleDefault': 'Cocokkan bahasa aplikasi',
|
||
'settings.mascot.voice.useLocaleDefaultDesc':
|
||
'Pilih otomatis suara untuk bahasa antarmuka saat ini.',
|
||
'settings.memoryWindow.balanced.badge': 'Direkomendasikan',
|
||
'settings.memoryWindow.balanced.hint':
|
||
'Default yang masuk akal — kontinuitas yang baik tanpa membakar token tambahan di setiap run.',
|
||
'settings.memoryWindow.balanced.label': 'Seimbang',
|
||
'settings.memoryWindow.description':
|
||
'Seberapa banyak konteks yang diingat OpenHuman dimasukkan ke setiap run agen baru. Jendela yang lebih besar terasa lebih sadar akan percakapan sebelumnya, tetapi menggunakan lebih banyak token — dan biaya lebih mahal — di setiap run.',
|
||
'settings.memoryWindow.extended.badge': 'Lebih banyak konteks',
|
||
'settings.memoryWindow.extended.hint':
|
||
'Lebih banyak memori jangka panjang yang dimasukkan ke setiap run. Biaya token per giliran lebih tinggi.',
|
||
'settings.memoryWindow.extended.label': 'Diperluas',
|
||
'settings.memoryWindow.maximum.badge': 'Biaya tertinggi',
|
||
'settings.memoryWindow.maximum.hint':
|
||
'Jendela teraman terbesar. Kontinuitas terbaik, tagihan token per run jauh lebih tinggi.',
|
||
'settings.memoryWindow.maximum.label': 'Maksimum',
|
||
'settings.memoryWindow.minimal.badge': 'Termurah',
|
||
'settings.memoryWindow.minimal.hint':
|
||
'Jendela memori terkecil. Termurah, tercepat, kontinuitas paling sedikit antar run.',
|
||
'settings.memoryWindow.minimal.label': 'Ringkas',
|
||
'settings.memoryWindow.title': 'Jendela memori jangka panjang',
|
||
'settings.screenIntel.permissions.accessibility': 'Aksesibilitas',
|
||
'settings.screenIntel.permissions.grantHint': 'Petunjuk izin',
|
||
'settings.screenIntel.permissions.inputMonitoring': 'Pemantauan Input',
|
||
'settings.screenIntel.permissions.macosAppliesPrivacy': 'macOS menerapkan privasi',
|
||
'settings.screenIntel.permissions.openInputMonitoring': 'Meminta...',
|
||
'settings.screenIntel.permissions.refreshStatus': 'Menyegarkan...',
|
||
'settings.screenIntel.permissions.refreshing': 'Menyegarkan...',
|
||
'settings.screenIntel.permissions.requestAccessibility': 'Meminta...',
|
||
'settings.screenIntel.permissions.requestScreenRecording': 'Meminta...',
|
||
'settings.screenIntel.permissions.requesting': 'Meminta...',
|
||
'settings.screenIntel.permissions.restartRefresh': 'Memulai ulang core...',
|
||
'settings.screenIntel.permissions.restartingCore': 'Memulai ulang core...',
|
||
'settings.screenIntel.permissions.screenRecording': 'Perekaman Layar',
|
||
'settings.screenIntel.permissions.title': 'Izin',
|
||
'skills.card.moreActions': 'Tindakan lainnya',
|
||
'skills.create.allowedTools': 'Tool yang diizinkan',
|
||
'skills.create.author': 'Penulis',
|
||
'skills.create.authorPlaceholder': 'Nama Anda',
|
||
'skills.create.commaSeparated': '(dipisahkan koma)',
|
||
'skills.create.createBtn': 'Buat skill',
|
||
'skills.create.createError': 'Tidak dapat membuat skill',
|
||
'skills.create.creating': 'Membuat...',
|
||
'skills.create.description': 'Deskripsi',
|
||
'skills.create.descriptionPlaceholder': 'Apa fungsi skill ini?',
|
||
'skills.create.optional': '(optional)',
|
||
'skills.create.inputs.heading': 'Inputs',
|
||
'skills.create.inputs.help':
|
||
'Declare parameters the skill needs. The Skills Runner will render a form for these at run time.',
|
||
'skills.create.inputs.add': 'Add input',
|
||
'skills.create.inputs.row.name': 'Input name',
|
||
'skills.create.inputs.row.namePlaceholder': 'e.g. repo',
|
||
'skills.create.inputs.row.nameError':
|
||
'Letters, digits, underscores, and dashes only; must start with a letter.',
|
||
'skills.create.inputs.row.description': 'Input description',
|
||
'skills.create.inputs.row.descriptionPlaceholder': 'What goes in this field?',
|
||
'skills.create.inputs.row.type': 'Type',
|
||
'skills.create.inputs.row.required': 'Required',
|
||
'skills.create.inputs.row.remove': 'Remove input',
|
||
'skills.create.inputs.type.string': 'Text',
|
||
'skills.create.inputs.type.integer': 'Number',
|
||
'skills.create.inputs.type.boolean': 'Yes / No',
|
||
'skills.create.license': 'Lisensi',
|
||
'skills.create.name': 'Nama',
|
||
'skills.create.namePlaceholder': 'mis. Jurnal Trading',
|
||
'skills.create.scope': 'Cakupan',
|
||
'skills.create.scopeProjectHint': '/.openhuman/skills/',
|
||
'skills.create.scopeUserHint':
|
||
'Ditulis ke ~/.openhuman/skills/<slug>/SKILL.md — tersedia di semua workspace.',
|
||
'skills.create.slugLabel': 'Label slug',
|
||
'skills.create.subtitle': 'SKILL.md',
|
||
'skills.create.tags': 'Tag',
|
||
'skills.create.title': 'Skill baru',
|
||
'skills.detail.allowedTools': 'Alat yang diizinkan',
|
||
'skills.detail.author': 'Penulis',
|
||
'skills.detail.bundledResources': 'Sumber daya bundel',
|
||
'skills.detail.closeAriaLabel': 'Tutup detail skill',
|
||
'skills.detail.location': 'Lokasi',
|
||
'skills.detail.noBundledResources': 'Tidak ada sumber daya bundel.',
|
||
'skills.detail.tags': 'Tag',
|
||
'skills.detail.warnings': 'Peringatan',
|
||
'skills.install.fetchLog': 'Ambil log',
|
||
'skills.install.installBtn': 'Menginstal...',
|
||
'skills.install.installComplete': 'Instalasi selesai',
|
||
'skills.install.installing': 'Menginstal...',
|
||
'skills.install.parseWarnings': 'Peringatan parse',
|
||
'skills.install.rawError': 'Error mentah',
|
||
'skills.install.timeoutHint': '(detik, opsional)',
|
||
'skills.install.timeoutLabel': 'Label waktu habis',
|
||
'skills.install.title': 'Pasang skill dari URL',
|
||
'skills.install.urlLabel': 'URL skill',
|
||
'skills.meetingBots.bannerDesc': 'Deskripsi banner',
|
||
'skills.meetingBots.bannerTitle': 'Judul banner',
|
||
'skills.meetingBots.busyTitle': 'OpenHuman sedang sibuk',
|
||
'skills.meetingBots.comingSoon': 'Segera hadir',
|
||
'skills.meetingBots.couldNotStartTitle': 'Tidak bisa memulai OpenHuman',
|
||
'skills.meetingBots.displayName': 'Nama tampilan',
|
||
'skills.meetingBots.failedToStart': 'Gagal memulai OpenHuman.',
|
||
'skills.meetingBots.joiningMessage': 'Seharusnya muncul sebagai peserta dalam beberapa detik.',
|
||
'skills.meetingBots.joiningTitle': 'OpenHuman bergabung ke rapat',
|
||
'skills.meetingBots.meetingLink': 'Tautan rapat',
|
||
'skills.meetingBots.modalAriaLabel': 'Kirim OpenHuman ke rapat',
|
||
'skills.meetingBots.modalDesc': 'Deskripsi modal',
|
||
'skills.meetingBots.modalTitle': 'Kirim OpenHuman ke rapat',
|
||
'skills.meetingBots.newBadge': 'Lencana baru',
|
||
'skills.meetingBots.sendTo': 'Kirim ke',
|
||
'skills.meetingBots.starting': 'Memulai...',
|
||
'skills.resource.preview.closeAriaLabel': 'Tutup pratinjau',
|
||
'skills.resource.preview.failed': 'Pratinjau gagal',
|
||
'skills.resource.preview.loading': 'Memuat pratinjau...',
|
||
'skills.resource.tree.empty': 'Tidak ada sumber daya bundel.',
|
||
'skills.search.placeholder': 'Teks placeholder',
|
||
'skills.setup.autocomplete.acceptKey': 'Kunci terima',
|
||
'skills.setup.autocomplete.activeDesc': 'Deskripsi aktif',
|
||
'skills.setup.autocomplete.activeTitle': 'Auto-Complete Aktif',
|
||
'skills.setup.autocomplete.customizeSettings': 'Sesuaikan pengaturan',
|
||
'skills.setup.autocomplete.debounce': 'Tunda input',
|
||
'skills.setup.autocomplete.description': 'Deskripsi',
|
||
'skills.setup.autocomplete.enableBtn': 'Mengaktifkan...',
|
||
'skills.setup.autocomplete.enableError': 'Gagal mengaktifkan pelengkap otomatis',
|
||
'skills.setup.autocomplete.enabling': 'Mengaktifkan...',
|
||
'skills.setup.autocomplete.notSupported': 'Tidak didukung',
|
||
'skills.setup.autocomplete.stepEnable': 'Aktifkan pelengkap otomatis',
|
||
'skills.setup.autocomplete.stepSuccess': 'Siap digunakan',
|
||
'skills.setup.autocomplete.stylePreset': 'Preset gaya',
|
||
'skills.setup.autocomplete.stylePresetValue': 'Seimbang (dapat dikonfigurasi nanti)',
|
||
'skills.setup.autocomplete.title': 'Auto-Complete Teks',
|
||
'skills.setup.screenIntel.activeDesc': 'Deskripsi aktif',
|
||
'skills.setup.screenIntel.activeTitle': 'Kecerdasan Layar Diaktifkan',
|
||
'skills.setup.screenIntel.advancedSettings': 'Pengaturan lanjutan',
|
||
'skills.setup.screenIntel.allGranted': 'Semua izin diberikan',
|
||
'skills.setup.screenIntel.captureMode': 'Mode tangkap',
|
||
'skills.setup.screenIntel.captureModeValue': 'Semua jendela (dapat dikonfigurasi nanti)',
|
||
'skills.setup.screenIntel.deniedHint':
|
||
'Setelah memberikan izin di Pengaturan Sistem, klik di bawah untuk memulai ulang dan mengambil perubahan.',
|
||
'skills.setup.screenIntel.enableBtn': 'Mengaktifkan...',
|
||
'skills.setup.screenIntel.enableDesc':
|
||
's di layar Anda dan memberikan konteks berguna ke agen Anda',
|
||
'skills.setup.screenIntel.enableError': 'Gagal mengaktifkan Kecerdasan Layar',
|
||
'skills.setup.screenIntel.enabling': 'Mengaktifkan...',
|
||
'skills.setup.screenIntel.grant': 'Membuka...',
|
||
'skills.setup.screenIntel.granted': 'Diberikan',
|
||
'skills.setup.screenIntel.macosOnly': 'Hanya macOS',
|
||
'skills.setup.screenIntel.opening': 'Membuka...',
|
||
'skills.setup.screenIntel.panicHotkey': 'Hotkey panik',
|
||
'skills.setup.screenIntel.permAccessibility': 'Aksesibilitas',
|
||
'skills.setup.screenIntel.permInputMonitoring': 'Pemantauan Input',
|
||
'skills.setup.screenIntel.permScreenRecording': 'Perekaman Layar',
|
||
'skills.setup.screenIntel.permissionsDesc': 'Deskripsi izin',
|
||
'skills.setup.screenIntel.refreshStatus': 'Segarkan status',
|
||
'skills.setup.screenIntel.restartRefresh': 'Memulai ulang...',
|
||
'skills.setup.screenIntel.restarting': 'Memulai ulang...',
|
||
'skills.setup.screenIntel.stepEnable': 'Aktifkan skill',
|
||
'skills.setup.screenIntel.stepPermissions': 'Berikan izin',
|
||
'skills.setup.screenIntel.stepSuccess': 'Siap digunakan',
|
||
'skills.setup.screenIntel.title': 'Kecerdasan Layar',
|
||
'skills.setup.screenIntel.visionModel': 'Model visi',
|
||
'skills.setup.voice.activation': 'Aktivasi',
|
||
'skills.setup.voice.activeDescPrefix': 'Fn',
|
||
'skills.setup.voice.activeDescSuffix': 'Fn',
|
||
'skills.setup.voice.activeTitle': 'Kecerdasan Suara Aktif',
|
||
'skills.setup.voice.customizeSettings': 'Sesuaikan pengaturan',
|
||
'skills.setup.voice.downloadSttBtn': 'Unduh tombol STT',
|
||
'skills.setup.voice.enableDesc': 'Deskripsi aktifkan',
|
||
'skills.setup.voice.hotkey': 'Pintasan',
|
||
'skills.setup.voice.startBtn': 'Memulai...',
|
||
'skills.setup.voice.startError': 'Gagal memulai server suara',
|
||
'skills.setup.voice.starting': 'Memulai...',
|
||
'skills.setup.voice.stepEnable': 'Mulai server suara',
|
||
'skills.setup.voice.stepSetup': 'Unduhan model diperlukan',
|
||
'skills.setup.voice.stepSuccess': 'Siap digunakan',
|
||
'skills.setup.voice.sttNotReady': 'Model speech-to-text belum siap',
|
||
'skills.setup.voice.sttNotReadyDesc':
|
||
'Kecerdasan Suara memerlukan model Whisper lokal untuk transkripsi. Unduh dari pengaturan Model Lokal.',
|
||
'skills.setup.voice.sttReady': 'Model speech-to-text siap',
|
||
'skills.setup.voice.sttReturnHint': 'Petunjuk kembali STT',
|
||
'skills.setup.voice.title': 'Kecerdasan Suara',
|
||
'skills.uninstall.couldNotUninstall': 'Tidak bisa mencopot',
|
||
'skills.uninstall.description':
|
||
'Ini akan menghapus permanen direktori skill dan semua resource yang dibundel. Agen akan berhenti melihatnya pada giliran berikutnya.',
|
||
'skills.uninstall.title': 'Copot',
|
||
'skills.uninstall.uninstallBtn': 'Copot',
|
||
'skills.uninstall.uninstalling': 'Mencopot…',
|
||
'upsell.global.limitMessage': 'Upgrade paket atau isi ulang kredit untuk melanjutkan',
|
||
'upsell.global.limitTitle': 'Anda',
|
||
'upsell.global.nearLimitMessage':
|
||
'Anda telah menggunakan {pct}% dari batas pemakaian. Upgrade untuk batas lebih tinggi.',
|
||
'upsell.global.nearLimitTitle': 'Mendekati batas pemakaian',
|
||
'upsell.usageLimit.bodyBudget':
|
||
'Anda telah mencapai batas mingguan.{reset} Tingkatkan paket Anda atau isi ulang kredit untuk menghindari batas.',
|
||
'upsell.usageLimit.bodyRate':
|
||
'Anda telah mencapai batas laju inferensi 10 jam.{reset} Tingkatkan untuk batas yang lebih tinggi.',
|
||
'upsell.usageLimit.heading': 'Batas Pemakaian Tercapai',
|
||
'upsell.usageLimit.notNow': 'Tidak sekarang',
|
||
'upsell.usageLimit.perWindow': '{amount}',
|
||
'upsell.usageLimit.planIncludes': '{plan}',
|
||
'upsell.usageLimit.resetsIn': 'Akan direset {time}.',
|
||
'upsell.usageLimit.upgradePlan': 'Upgrade paket',
|
||
'upsell.usageLimit.weeklyInference': '{amount}',
|
||
'walkthrough.tooltip.letsGo': 'Ayo mulai!',
|
||
'walkthrough.tooltip.next': 'Berikutnya →',
|
||
'walkthrough.tooltip.skip': 'Lewati tur',
|
||
'walkthrough.tooltip.stepCounter': '{n} dari {total}',
|
||
'webhooks.activity.empty': 'Kosong',
|
||
'webhooks.activity.title': 'Aktivitas Terbaru',
|
||
'webhooks.composioHistory.empty': 'Kosong',
|
||
'webhooks.composioHistory.metadataId': 'ID Metadata',
|
||
'webhooks.composioHistory.metadataUuid': 'UUID Metadata',
|
||
'webhooks.composioHistory.payload': 'Muatan',
|
||
'webhooks.composioHistory.title': 'Riwayat Pemicu ComposeIO',
|
||
'webhooks.tunnels.active': 'Aktif',
|
||
'webhooks.tunnels.createFailed': 'Gagal membuat tunnel',
|
||
'webhooks.tunnels.creating': 'Membuat...',
|
||
'webhooks.tunnels.deleteFailed': 'Gagal menghapus tunnel',
|
||
'webhooks.tunnels.descriptionPlaceholder': 'Deskripsi (opsional)',
|
||
'webhooks.tunnels.echo': 'Echo',
|
||
'webhooks.tunnels.empty': 'Kosong',
|
||
'webhooks.tunnels.enableEcho': 'Aktifkan Echo',
|
||
'webhooks.tunnels.inactive': 'Tidak aktif',
|
||
'webhooks.tunnels.namePlaceholder': 'Nama tunnel (mis. telegram-bot)',
|
||
'webhooks.tunnels.newTunnel': 'Tunnel baru',
|
||
'webhooks.tunnels.removeEcho': 'Hapus Echo',
|
||
'webhooks.tunnels.title': 'Tunnel Webhook',
|
||
'webhooks.tunnels.toggleFailed': 'Gagal mengalihkan echo',
|
||
'composio.authExpired': 'Autentikasi kedaluwarsa',
|
||
'composio.reconnect': 'Hubungkan ulang',
|
||
'composio.previewBadge': 'Pratinjau',
|
||
'composio.previewTooltip':
|
||
'Integrasi agen segera hadir — Anda dapat terhubung, tetapi agen belum dapat menggunakan perangkat ini.',
|
||
'composio.directModeRequiresKey':
|
||
'Gagal menyimpan. Mode Direct memerlukan API key yang tidak kosong.',
|
||
'composio.notYetRouted': 'belum dirutekan',
|
||
'composio.triggers.loading': 'Memuat…',
|
||
'conversations.taskKanban.todo': 'Akan dikerjakan',
|
||
'settings.composio.loading': 'Memuat…',
|
||
'settings.mascot.noCharactersAvailable': 'Belum ada karakter OpenHuman yang tersedia',
|
||
'skills.uninstall.confirmTitle': 'Copot {name}?',
|
||
'conversations.taskKanban.blocked': 'Terhambat',
|
||
'conversations.taskKanban.done': 'Selesai',
|
||
'conversations.taskKanban.pending': 'Pending',
|
||
'conversations.taskKanban.working': 'Working',
|
||
'conversations.taskKanban.awaitingApproval': 'Awaiting approval',
|
||
'conversations.taskKanban.ready': 'Ready',
|
||
'conversations.taskKanban.rejected': 'Rejected',
|
||
'conversations.taskKanban.inProgress': 'Sedang berjalan',
|
||
'intelligence.memoryChunk.detail.copiedHint': 'disalin',
|
||
'settings.composio.notYetRouted': 'belum dirutekan',
|
||
'settings.localModel.download.manageExternal': 'Kelola model ini di runtime eksternal Anda.',
|
||
'settings.localModel.status.manageOllamaExternal':
|
||
'Kelola proses Ollama dan unduhan model di luar OpenHuman, lalu jalankan ulang diagnostik.',
|
||
'settings.localModel.status.ollamaDocs': 'Dokumentasi Ollama',
|
||
'settings.localModel.status.thenRetry':
|
||
'untuk instruksi pengaturan, lalu coba lagi setelah runtime Anda dapat dijangkau.',
|
||
'settings.appearance.title': 'Tampilan',
|
||
'settings.appearance.themeHeading': 'Tema',
|
||
'settings.appearance.themeAria': 'Tema',
|
||
'settings.appearance.modeLight': 'Terang',
|
||
'settings.appearance.modeLightDesc': 'Permukaan terang, teks gelap.',
|
||
'settings.appearance.modeDark': 'Gelap',
|
||
'settings.appearance.modeDarkDesc': 'Permukaan redup, lebih nyaman untuk malam hari.',
|
||
'settings.appearance.modeSystem': 'Ikuti sistem',
|
||
'settings.appearance.modeSystemDesc': 'Ikuti pengaturan tampilan OS Anda.',
|
||
'settings.appearance.helperText':
|
||
'Mode gelap mengubah seluruh aplikasi - obrolan, pengaturan, dan panel - ke palet redup. "Ikuti sistem" mengikuti tampilan OS Anda dan diperbarui otomatis.',
|
||
'settings.mascot.characterPreview': 'Pratinjau',
|
||
'settings.mascot.characterStates': 'status',
|
||
'settings.mascot.characterVisemes': 'visem',
|
||
'settings.mascot.colorAria': 'Warna OpenHuman',
|
||
'settings.mascot.colorBlack': 'Hitam',
|
||
'settings.mascot.colorBurgundy': 'Burgundi',
|
||
'settings.mascot.colorCustom': 'Custom',
|
||
'settings.mascot.colorNavy': 'Biru tua',
|
||
'settings.mascot.primaryColor': 'Primary color',
|
||
'settings.mascot.secondaryColor': 'Secondary color',
|
||
'settings.mascot.colorYellow': 'Kuning',
|
||
'settings.mascot.libraryUnavailable': 'Library OpenHuman tidak tersedia',
|
||
'settings.mascot.title': 'OpenHuman',
|
||
'settings.developerMenu.mcpServer.title': 'Server MCP',
|
||
'settings.developerMenu.mcpServer.desc':
|
||
'Konfigurasikan klien MCP eksternal untuk terhubung ke OpenHuman',
|
||
'settings.developerMenu.autonomy.title': 'Otonomi agen',
|
||
'settings.developerMenu.autonomy.desc': 'Batas laju aksi alat dan ambang keamanan',
|
||
'settings.mcpServer.title': 'Server MCP',
|
||
'settings.mcpServer.toolsSectionTitle': 'Alat yang tersedia',
|
||
'settings.mcpServer.toolsSectionDesc':
|
||
'Alat yang diekspos melalui server stdio MCP saat menjalankan openhuman-core mcp',
|
||
'settings.mcpServer.configSectionTitle': 'Konfigurasi Klien',
|
||
'settings.mcpServer.configSectionDesc':
|
||
'Pilih klien MCP Anda untuk membuat cuplikan konfigurasi yang tepat',
|
||
'settings.mcpServer.copySnippet': 'Salin ke Clipboard',
|
||
'settings.mcpServer.copied': 'Tersalin!',
|
||
'settings.mcpServer.openConfigFile': 'Buka File Konfigurasi',
|
||
'settings.mcpServer.binaryPathNotFound':
|
||
'Binary OpenHuman tidak ditemukan. Jika menjalankan dari source, build dengan: cargo build --bin openhuman-core',
|
||
'settings.mcpServer.openConfigError': 'Gagal membuka file konfigurasi',
|
||
'settings.mcpServer.clientClaudeDesktop': 'Claude Desktop',
|
||
'settings.mcpServer.clientCursor': 'Kursor',
|
||
'settings.mcpServer.clientCodex': 'Codex',
|
||
'settings.mcpServer.clientZed': 'Zed',
|
||
'settings.mcpServer.configFilePath': 'File konfigurasi',
|
||
'settings.mcpServer.clientSelectorAriaLabel': 'Pemilih klien MCP',
|
||
'settings.persona.title': 'Persona',
|
||
'settings.persona.menuTitle': 'Persona',
|
||
'settings.persona.menuDesc':
|
||
'Name, personality, avatar, and voice — your assistant as one identity',
|
||
'settings.persona.identityHeading': 'Identity',
|
||
'settings.persona.identityDesc':
|
||
'A display name and short description for your assistant. Shown in the app; does not change how the assistant reasons.',
|
||
'settings.persona.displayNameLabel': 'Display name',
|
||
'settings.persona.displayNamePlaceholder': 'e.g. Nova',
|
||
'settings.persona.descriptionLabel': 'Description',
|
||
'settings.persona.descriptionPlaceholder': 'e.g. A calm, concise assistant for my team.',
|
||
'settings.persona.soul.heading': 'Personality (SOUL.md)',
|
||
'settings.persona.soul.desc':
|
||
'The personality prompt the assistant follows in every conversation. Edits are saved to your workspace and take effect on the next reply.',
|
||
'settings.persona.soul.editorLabel': 'SOUL.md contents',
|
||
'settings.persona.soul.reset': 'Reset to default',
|
||
'settings.persona.soul.usingDefault': 'Using the bundled default',
|
||
'settings.persona.soul.loadError': 'Could not load SOUL.md',
|
||
'settings.persona.soul.saveError': 'Could not save SOUL.md',
|
||
'settings.persona.soul.resetError': 'Could not reset SOUL.md',
|
||
'settings.persona.appearanceHeading': 'Avatar & Voice',
|
||
'settings.persona.appearanceDesc':
|
||
'Mascot color, custom GIF avatar, and reply voice are configured in Mascot settings.',
|
||
'settings.persona.openMascotSettings': 'Open Mascot settings',
|
||
'settings.developerMenu.composio.title': 'Composio',
|
||
'settings.developerMenu.composio.desc':
|
||
'Mode perutean, pemicu integrasi, dan arsip riwayat pemicu.',
|
||
'settings.appearance.tabBarHeading': 'Bilah tab bawah',
|
||
'settings.appearance.tabBarAlwaysShowLabels': 'Selalu tampilkan label',
|
||
'settings.appearance.tabBarAlwaysShowLabelsDesc':
|
||
'Saat nonaktif, label hanya muncul saat diarahkan atau untuk tab yang aktif.',
|
||
'common.breadcrumb': 'Breadcrumb',
|
||
'settings.betaBuild': 'Versi beta - v{version}',
|
||
'migration.vendor.openclaw': 'OpenClaw',
|
||
'migration.vendor.hermes': 'Hermes Agent',
|
||
'onboarding.apiKeys.openaiOauthHint':
|
||
'Gunakan ChatGPT Plus/Pro (berlangganan) atau kunci OpenAI API — keduanya tidak diperlukan.',
|
||
'onboarding.apiKeys.openaiOauthOpening': 'Membuka proses masuk…',
|
||
'onboarding.apiKeys.finishSignIn': 'Selesaikan proses masuk ChatGPT',
|
||
'onboarding.apiKeys.orApiKey': 'atau kunci API',
|
||
'app.localAiDownload.expandAria': 'Perluas kemajuan pengunduhan',
|
||
'app.localAiDownload.collapseAria': 'Ciutkan kemajuan pengunduhan',
|
||
'app.localAiDownload.dismissAria': 'Tutup pemberitahuan unduhan',
|
||
'mobile.nav.ariaLabel': 'Navigasi seluler',
|
||
'progress.stepsAria': 'Langkah kemajuan',
|
||
'progress.stepAria': 'Langkah {current} dari {total}',
|
||
'workspace.vaultsTitle': 'Gudang pengetahuan',
|
||
'workspace.vaultsDesc': 'Arahkan ke folder lokal; file dipotong dan dicerminkan ke dalam memori.',
|
||
'calls.title': 'Panggilan',
|
||
'calls.comingSoonBody': 'Panggilan dengan bantuan AI akan segera hadir. Pantau terus.',
|
||
'art.rotatingTetrahedronAria': 'Pesawat ruang angkasa tetrahedron terbalik yang berputar',
|
||
'devOptions.sentryDisabled': '(tidak ada id — Penjaga dinonaktifkan dalam build ini)',
|
||
'composio.expiredAuthorization': '{name} otorisasi kedaluwarsa',
|
||
'composio.expiredDescription':
|
||
'Sambungkan kembali untuk mengaktifkan kembali alat {name}. OpenHuman akan membuat integrasi ini tidak tersedia sampai Anda menyegarkan akses OAuth.',
|
||
'channels.telegram.remoteControlTitle': 'Kendali jarak jauh (Telegram)',
|
||
'channels.telegram.remoteControlBody':
|
||
'Dari obrolan Telegram yang diizinkan, kirim /status, /sessions, /new, atau /help. Perutean model masih menggunakan /model dan /models.',
|
||
'rewards.referralSection.retry': 'Coba lagi',
|
||
'settings.ai.plannerSummary':
|
||
'Perencana: {sourceEvents} peristiwa sumber, {sent} terkirim, {deduped} dihapuskan.',
|
||
'settings.ai.routeLabel': 'rute: {route}',
|
||
'settings.ai.latestSpend': 'Pembelanjaan terbaru: {amount} pada {time} ({action})',
|
||
'settings.ai.topActions': 'Tindakan teratas',
|
||
'settings.ai.noSpendRows': 'Tidak ada baris pembelanjaan yang dimuat.',
|
||
'settings.ai.topHours': 'Jam sibuk',
|
||
'settings.ai.noHourlySpend': 'Belum ada pembelanjaan per jam.',
|
||
'settings.autocomplete.appFilter.app': 'Aplikasi',
|
||
'settings.autocomplete.appFilter.currentSuggestion': 'Saran saat ini',
|
||
'settings.autocomplete.appFilter.debounce': 'Debounce',
|
||
'settings.autocomplete.appFilter.enabled': 'Diaktifkan',
|
||
'settings.autocomplete.appFilter.lastError': 'Kesalahan terakhir',
|
||
'settings.autocomplete.appFilter.model': 'Model',
|
||
'settings.autocomplete.appFilter.phase': 'Fase',
|
||
'settings.autocomplete.appFilter.platformSupported': 'Platform didukung',
|
||
'settings.autocomplete.appFilter.running': 'Berjalan',
|
||
'settings.autocomplete.debug.acceptedPrefix': 'Diterima: {value}',
|
||
'settings.autocomplete.debug.acceptFailed': 'Gagal menerima saran',
|
||
'settings.autocomplete.debug.alreadyRunning': 'Pelengkapan otomatis sudah berjalan.',
|
||
'settings.autocomplete.debug.clearHistoryFailed': 'Gagal menghapus riwayat',
|
||
'settings.autocomplete.debug.didNotStart': 'Pelengkapan otomatis tidak dimulai.',
|
||
'settings.autocomplete.debug.disabledInSettings':
|
||
'Pelengkapan otomatis dinonaktifkan di pengaturan. Aktifkan dan simpan terlebih dahulu.',
|
||
'settings.autocomplete.debug.fetchSuggestionFailed': 'Gagal mengambil saran saat ini',
|
||
'settings.autocomplete.debug.inspectFocusedElementFailed': 'Gagal memeriksa elemen fokus',
|
||
'settings.autocomplete.debug.loadSettingsFailed': 'Gagal memuat pengaturan pelengkapan otomatis',
|
||
'settings.autocomplete.debug.noSuggestionApplied': 'Tidak ada saran yang diterapkan.',
|
||
'settings.autocomplete.debug.noSuggestionReturned': 'Tidak ada saran yang dikembalikan.',
|
||
'settings.autocomplete.debug.refreshStatusFailed':
|
||
'Gagal menyegarkan status pelengkapan otomatis',
|
||
'settings.autocomplete.debug.saveAdvancedSettingsFailed': 'Gagal menyimpan pengaturan lanjutan',
|
||
'settings.autocomplete.debug.startFailed': 'Gagal memulai pelengkapan otomatis',
|
||
'settings.autocomplete.debug.stopFailed': 'Gagal menghentikan pelengkapan otomatis',
|
||
'settings.autocomplete.debug.suggestionPrefix': 'Saran: {value}',
|
||
'settings.autocomplete.shared.none': 'Tidak ada',
|
||
'settings.autocomplete.shared.notApplicable': 'n/a',
|
||
'settings.autocomplete.shared.unknown': 'Tidak diketahui',
|
||
'settings.billing.autoRecharge.expires': 'Kedaluwarsa {date}',
|
||
'settings.billing.autoRecharge.spentThisWeek': '${spent} dari ${limit} digunakan minggu ini',
|
||
'settings.localModel.deviceCapability.disabledLowercase': 'dinonaktifkan',
|
||
'settings.localModel.deviceCapability.presetDetails':
|
||
'Obrolan: {chatModel} · Penglihatan: {visionModel} · Target RAM: {targetRamGb} GB',
|
||
'settings.localModel.download.capabilityChat': 'Obrolan',
|
||
'settings.localModel.download.capabilityEmbedding': 'Penyematan',
|
||
'settings.localModel.download.capabilityStt': 'STT',
|
||
'settings.localModel.download.capabilityTts': 'TTS',
|
||
'settings.localModel.download.capabilityVision': 'Penglihatan',
|
||
'settings.localModel.download.embeddingDimensions': 'Dimensi: {dimensions}',
|
||
'settings.localModel.download.embeddingModel': 'Model: {modelId}',
|
||
'settings.localModel.download.embeddingVectors': 'Vektor: {count}',
|
||
'settings.localModel.download.notAvailable': 't/a',
|
||
'settings.localModel.download.summaryHelper':
|
||
'Panggilan `openhuman.inference_summarize` melalui Rust core',
|
||
'settings.localModel.download.transcript': 'Transkrip:',
|
||
'settings.localModel.download.ttsOutput': 'Keluaran: {outputPath}',
|
||
'settings.localModel.download.ttsVoice': 'Suara: {voiceId}',
|
||
'settings.localModel.status.contextBelowMinimumBadge':
|
||
'{contextLength} ctx - di bawah {required} mnt',
|
||
'settings.localModel.status.contextBelowMinimumTitle':
|
||
'Ditolak: jendela konteks {contextLength} token berada di bawah minimum {required}-token yang diperlukan lapisan memori. Penarikan kembali akan dirusak oleh pemotongan diam-diam.',
|
||
'settings.localModel.status.contextOkBadge': '{contextLength} ctx ✓',
|
||
'settings.localModel.status.contextOkTitle':
|
||
'Jendela konteks {contextLength} token memenuhi minimum lapisan memori {required} token.',
|
||
'settings.localModel.status.contextUnknownBadge': 'ctx tidak diketahui',
|
||
'settings.localModel.status.contextUnknownTitle':
|
||
'Jendela konteks tidak diketahui; tidak dapat mengonfirmasi bahwa itu memenuhi minimum lapisan memori {required}-token.',
|
||
'settings.localModel.status.expectedChat': 'Obrolan: {model}',
|
||
'settings.localModel.status.expectedEmbedding': 'Penyematan: {model}',
|
||
'settings.localModel.status.expectedVision': 'Visi: {model}',
|
||
'settings.localModel.status.externalProcess': 'Proses eksternal',
|
||
'settings.localModel.status.notAvailable': 't/a',
|
||
'settings.mascot.customGifPlaceholder': 'https://example.com/avatar.gif',
|
||
'settings.mascot.loadDetailError': 'Tidak dapat memuat maskot.',
|
||
'settings.mascot.loadLibraryError': 'Tidak dapat memuat perpustakaan maskot.',
|
||
'settings.mascot.voice.customPlaceholder': 'mis. 21m00Tcm4TlvDq8ikWAM',
|
||
'settings.mascot.voice.previewText': "Hi, I'm your assistant. This is a voice preview.",
|
||
'skills.channelIcon.discord': 'Discord',
|
||
'skills.channelIcon.imessage': 'iMessage',
|
||
'skills.channelIcon.telegram': 'Telegram',
|
||
'skills.channelIcon.web': 'Web',
|
||
'skills.channelIcon.yuanbao': 'Yuanbao',
|
||
'skills.composio.poweredBy': 'Didukung oleh Composio',
|
||
'skills.composio.staleStatusTitle': 'Koneksi menunjukkan status basi',
|
||
'skills.create.allowedToolsHelp': 'Dirender ke frontmatter SKILL.md sebagai',
|
||
'skills.create.allowedToolsPlaceholder': 'node_exec, ambil',
|
||
'skills.create.licensePlaceholder': 'MIT',
|
||
'skills.create.tagsPlaceholder': 'perdagangan, penelitian',
|
||
'skills.install.errors.alreadyInstalledHint':
|
||
'Keterampilan dengan siput ini sudah ada di ruang kerja. Hapus dulu atau ubah frontmatter `metadata.id` / `name`.',
|
||
'skills.install.errors.alreadyInstalledTitle': 'Keterampilan sudah terpasang',
|
||
'skills.install.errors.fetchFailedHint':
|
||
'Permintaan tidak berhasil diselesaikan. Periksa poin URL pada file publik yang dapat dijangkau, dan host mengembalikan respons 2xx.',
|
||
'skills.install.errors.fetchFailedTitle': 'Pengambilan gagal',
|
||
'skills.install.errors.fetchTimedOutHint':
|
||
'Host jarak jauh tidak merespons tepat waktu. Coba lagi atau tambah batas waktu (1-600 detik).',
|
||
'skills.install.errors.fetchTimedOutTitle': 'Waktu pengambilan habis',
|
||
'skills.install.errors.fetchTooLargeHint':
|
||
'SKILL.md harus di bawah 1 MiB. Pisahkan sumber daya yang dibundel menjadi file `referensi/` atau `skrip/` alih-alih menyatukannya.',
|
||
'skills.install.errors.fetchTooLargeTitle': 'SKILL.md terlalu besar',
|
||
'skills.install.errors.genericHint':
|
||
'Backend menghasilkan kesalahan. Pesan mentahnya ditunjukkan di bawah ini.',
|
||
'skills.install.errors.genericTitle': 'Tidak dapat menginstal keterampilan',
|
||
'skills.install.errors.invalidSkillHint':
|
||
'Materi depan harus berupa YAML yang valid dengan kolom `nama` dan `deskripsi` yang tidak kosong, diakhiri dengan `---`.',
|
||
'skills.install.errors.invalidSkillTitle': 'SKILL.md tidak diurai',
|
||
'skills.install.errors.invalidUrlHint':
|
||
'Hanya HTTPS URL publik yang diperbolehkan. Host pribadi, loopback, dan metadata diblokir.',
|
||
'skills.install.errors.invalidUrlTitle': 'URL ditolak',
|
||
'skills.install.errors.unsupportedUrlHint':
|
||
'Hanya tautan `.md` langsung yang berfungsi. Untuk GitHub, tautan ke file (github.com/owner/repo/blob/.../SKILL.md) - akar pohon dan repo tidak diinstal.',
|
||
'skills.install.errors.unsupportedUrlTitle': 'formulir URL tidak didukung',
|
||
'skills.install.errors.writeFailedHint':
|
||
'Direktori keterampilan ruang kerja tidak dapat ditulis. Periksa izin sistem file untuk `<workspace>/.openhuman/skills/`.',
|
||
'skills.install.errors.writeFailedTitle': 'Tidak dapat menulis SKILL.md',
|
||
'skills.install.fetchingPrefix': 'Mengambil',
|
||
'skills.install.fetchingSuffix':
|
||
'ini dapat memakan waktu hingga batas waktu yang Anda konfigurasikan.',
|
||
'skills.install.subtitleMiddle': 'di atas HTTPS dan menginstalnya di bawah',
|
||
'skills.install.subtitlePrefix': 'Hanya mengambil satu',
|
||
'skills.install.subtitleSuffix': 'HTTPS; host pribadi dan loopback diblokir.',
|
||
'skills.install.successDiscovered': 'Menemukan {count} keterampilan baru.',
|
||
'skills.install.successNoNewIds':
|
||
'Skill terpasang, tetapi tidak ada ID skill baru yang muncul - katalog mungkin sudah berisi skill dengan slug yang sama.',
|
||
'skills.install.timeoutHelp':
|
||
'Defaultnya adalah 60 detik. Nilai di luar 1-600 dijepit di sisi server.',
|
||
'skills.install.timeoutInvalid': 'Harus berupa bilangan bulat antara 1 dan 600.',
|
||
'skills.install.timeoutPlaceholder': '60',
|
||
'skills.install.urlHelpMiddle': 'berkas.',
|
||
'skills.install.urlHelpPrefix': 'Tautan langsung ke',
|
||
'skills.install.urlHelpSuffix': 'URLs penulisan ulang otomatis ke',
|
||
'skills.install.urlInvalidPrefix': 'URL harus berupa tautan',
|
||
'skills.install.urlInvalidSuffix': 'yang dibuat dengan baik.',
|
||
'skills.install.urlPlaceholder': 'https://raw.githubusercontent.com/owner/repo/main/SKILL.md',
|
||
'skills.meetingBots.platformComingSoon': '{label} dukungan akan segera hadir.',
|
||
'skills.meetingBots.platformHints.gmeet': 'meet.google.com/abc-defg-hij',
|
||
'skills.meetingBots.platformHints.teams': 'team.microsoft.com/...',
|
||
'skills.meetingBots.platformHints.zoom': 'zoom.us/j/...',
|
||
'skills.meetingBots.platforms.gmeet': 'Google Temui',
|
||
'skills.meetingBots.platforms.teams': 'Microsoft Teams',
|
||
'skills.meetingBots.platforms.zoom': 'Zoom',
|
||
'skills.meetingBots.soonSuffix': 'segera',
|
||
'skills.setup.screenIntel.permissionPathLabel': 'macOS menerapkan privasi ke:',
|
||
'settings.agentAccess.title': 'Agent OS access',
|
||
'settings.agentAccess.menuDesc':
|
||
'Control where the agent can read/write and whether it can use the shell.',
|
||
'settings.agentAccess.loadError': 'Failed to load access settings',
|
||
'settings.agentAccess.saveError': 'Failed to save access settings',
|
||
'settings.agentAccess.saved': 'Saved — applies on your next message.',
|
||
'settings.agentAccess.desktopOnly': 'Access settings are only available in the desktop app.',
|
||
'settings.agentAccess.loading': 'Loading…',
|
||
'settings.agentAccess.accessMode': 'Access mode',
|
||
'settings.agentAccess.tier.readonly.title': 'Read-only',
|
||
'settings.agentAccess.tier.readonly.desc':
|
||
'Reads files and runs read-only commands to explore — but never writes, edits, or runs anything that changes state.',
|
||
'settings.agentAccess.tier.supervised.title': 'Ask before edit',
|
||
'settings.agentAccess.tier.supervised.desc':
|
||
'Creates new files freely, but asks for your approval before editing an existing file, running a command, reaching the network, or installing anything.',
|
||
'settings.agentAccess.tier.full.title': 'Full access',
|
||
'settings.agentAccess.tier.full.desc':
|
||
'Runs commands with your full user account access — it can read/write anywhere allowed, except credential and system stores. Destructive commands, network access, and installs still ask for approval.',
|
||
'settings.agentAccess.defaultTag': '(default)',
|
||
'settings.agentAccess.fullWarning':
|
||
'⚠ Full access runs commands with your full account access and is not sandboxed. Only enable it when you trust the agent with this machine. Credential and system directories stay blocked, and destructive, network, and install actions still ask for approval.',
|
||
'settings.agentAccess.confine.label': 'Confine to workspace',
|
||
'settings.agentAccess.confine.desc':
|
||
'Restrict the agent to the workspace directory (plus any granted folders), whichever access mode is selected. When off, it can reach anywhere your user can — except the always-blocked credential and system directories.',
|
||
'settings.agentAccess.grantedFolders': 'Granted folders',
|
||
'settings.agentAccess.alwaysAllow': 'Always-allowed tools',
|
||
'settings.agentAccess.alwaysAllowDesc':
|
||
'Tools you marked "Always allow" in chat run without asking. Remove one to be prompted again.',
|
||
'settings.agentAccess.alwaysAllowNone': 'No always-allowed tools yet.',
|
||
'settings.agentAccess.grantedDesc':
|
||
'Folders the agent may read and write, in addition to the workspace. Credential stores (~/.ssh, ~/.gnupg, ~/.aws, keychains) and system directories (/etc, /System, C:\\Windows, …) are always blocked, even inside a granted folder.',
|
||
'settings.agentAccess.noneGranted': 'No folders granted.',
|
||
'settings.agentAccess.readWrite': 'read + write',
|
||
'settings.agentAccess.readOnly': 'read-only',
|
||
'settings.agentAccess.remove': 'Remove',
|
||
'settings.agentAccess.pathPlaceholder': 'Jalur folder absolut',
|
||
'settings.agentAccess.accessLevelLabel': 'Access level',
|
||
'settings.agentAccess.add': 'Add',
|
||
'settings.agentAccess.saving': 'Saving…',
|
||
'settings.agentAccess.changesApply': 'Changes apply on your next message.',
|
||
'skills.tabs.runners': 'Runners',
|
||
'settings.developerMenu.skillsRunner.title': 'Skills Runner',
|
||
'settings.developerMenu.skillsRunner.desc':
|
||
'Run any bundled skill ad-hoc — fill its inputs and fire a background autonomous run',
|
||
'settings.developerMenu.skillsRunner.panelDesc':
|
||
'Pick a bundled skill, fill in its declared inputs, and fire a fire-and-forget background run. Use Dev Workflow instead if you want a cron-scheduled recurring job.',
|
||
'settings.skillsRunner.skill': 'Skill',
|
||
'settings.skillsRunner.selectSkill': 'Select a skill…',
|
||
'settings.skillsRunner.loadingSkills': 'Loading skills…',
|
||
'settings.skillsRunner.loadingDescription': 'Loading skill inputs…',
|
||
'settings.skillsRunner.noInputs': 'This skill declares no inputs.',
|
||
'settings.skillsRunner.placeholder.required': 'required',
|
||
'settings.skillsRunner.runNow': 'Run now',
|
||
'settings.skillsRunner.starting': 'Starting…',
|
||
'settings.skillsRunner.started': 'Started — run id:',
|
||
'settings.skillsRunner.logPath': 'Log:',
|
||
'settings.skillsRunner.error.listSkills': 'Failed to load skills:',
|
||
'settings.skillsRunner.error.describe': 'Failed to load inputs:',
|
||
'settings.skillsRunner.error.missingRequired': 'Missing required input(s):',
|
||
'settings.skillsRunner.error.run': 'Run failed to start:',
|
||
'settings.skillsRunner.error.preflightGate': 'Preflight gate failed',
|
||
'settings.skillsRunner.schedule.heading': 'Schedule (recurring)',
|
||
'settings.skillsRunner.schedule.help':
|
||
'Save this skill + inputs as a recurring cron job. The agent will call run_skill at each tick.',
|
||
'settings.skillsRunner.schedule.frequency': 'Frequency',
|
||
'settings.skillsRunner.schedule.every30min': 'Every 30 minutes',
|
||
'settings.skillsRunner.schedule.everyHour': 'Every hour',
|
||
'settings.skillsRunner.schedule.every2hours': 'Every 2 hours',
|
||
'settings.skillsRunner.schedule.every6hours': 'Every 6 hours',
|
||
'settings.skillsRunner.schedule.onceDaily': 'Once daily (9:00)',
|
||
'settings.skillsRunner.schedule.save': 'Save schedule',
|
||
'settings.skillsRunner.schedule.saving': 'Saving…',
|
||
'settings.skillsRunner.schedule.saved': 'Schedule saved.',
|
||
'settings.skillsRunner.schedule.error': 'Schedule save failed:',
|
||
'settings.skillsRunner.schedule.loadingJobs': 'Loading existing schedules…',
|
||
'settings.skillsRunner.schedule.noJobs': 'No schedules saved for this skill yet.',
|
||
'settings.skillsRunner.schedule.existing': 'Scheduled jobs for this skill:',
|
||
'settings.skillsRunner.schedule.runNow': 'Run',
|
||
'settings.skillsRunner.schedule.remove': 'Remove',
|
||
'settings.skillsRunner.recentRuns.headingForSkill': 'Recent runs for this skill',
|
||
'settings.skillsRunner.recentRuns.headingAll': 'Recent skill runs (all)',
|
||
'settings.skillsRunner.recentRuns.refresh': 'Refresh',
|
||
'settings.skillsRunner.recentRuns.loading': 'Loading recent runs…',
|
||
'settings.skillsRunner.recentRuns.empty': 'No recent runs.',
|
||
'settings.skillsRunner.viewer.loading': 'Loading log…',
|
||
'settings.skillsRunner.viewer.tailing': 'Live tailing',
|
||
'settings.skillsRunner.viewer.fetching': 'fetching',
|
||
'settings.skillsRunner.viewer.error': 'Log read failed:',
|
||
'settings.skillsRunner.repoPicker.loading': 'Loading repositories…',
|
||
'settings.skillsRunner.repoPicker.select': 'Select a repository…',
|
||
'settings.skillsRunner.repoPicker.empty':
|
||
'No repositories returned. Connect GitHub via Composio to populate this list.',
|
||
'settings.skillsRunner.repoPicker.notConnected':
|
||
'GitHub isn’t connected via Composio. Connect it under Skills → Composio first.',
|
||
'settings.skillsRunner.repoPicker.privateTag': '(private)',
|
||
'settings.skillsRunner.branchPicker.needRepo': 'Pick a repo first…',
|
||
'settings.skillsRunner.branchPicker.loading': 'Loading branches…',
|
||
'settings.skillsRunner.branchPicker.select': 'Select a branch…',
|
||
'settings.modelHealth.title': 'Model Health',
|
||
'settings.modelHealth.desc':
|
||
'Per-model quality, hallucination rate, and cost comparison across active models',
|
||
'settings.modelHealth.allStatuses': 'All statuses',
|
||
'settings.modelHealth.models': 'models',
|
||
'settings.modelHealth.loading': 'Loading model data...',
|
||
'settings.modelHealth.empty': 'No models registered',
|
||
'settings.modelHealth.col.model': 'Model',
|
||
'settings.modelHealth.col.quality': 'Quality',
|
||
'settings.modelHealth.col.halluc': 'Halluc. Rate',
|
||
'settings.modelHealth.col.cost': 'Cost / 1M out',
|
||
'settings.modelHealth.col.agents': 'Agents',
|
||
'settings.modelHealth.col.status': 'Status',
|
||
'settings.modelHealth.badge.keep': 'Keep',
|
||
'settings.modelHealth.badge.replace': 'Replace',
|
||
'settings.modelHealth.badge.staging': 'Staging test',
|
||
'settings.modelHealth.badge.vision': 'Vision only',
|
||
'settings.modelHealth.swap': 'Swap?',
|
||
'settings.modelHealth.modal.title': 'Replace Model?',
|
||
'settings.modelHealth.modal.hallucRate': 'Hallucination rate',
|
||
'settings.modelHealth.modal.cancel': 'Cancel',
|
||
'settings.modelHealth.modal.apply': 'Apply Replacement',
|
||
'settings.modelHealth.tag.cheaper': 'CHEAPER',
|
||
'settings.modelHealth.tag.better': 'BETTER',
|
||
// Task sources (#task-sources)
|
||
'settings.taskSources.title': 'Task Sources',
|
||
'settings.taskSources.subtitle': 'Pull tasks from your tools onto the agent todo board',
|
||
'settings.taskSources.description':
|
||
'Collect work items from GitHub, Notion, Linear, and ClickUp, enrich them, and route them onto the agent todo board.',
|
||
'settings.taskSources.connectHint':
|
||
'Task sources use your connected accounts. Connect them under Integrations first.',
|
||
'settings.taskSources.disabledBanner':
|
||
'Task sources are disabled in settings. Enable them to poll automatically.',
|
||
'settings.taskSources.loadError': 'Failed to load task sources',
|
||
'settings.taskSources.addTitle': 'Add a task source',
|
||
'settings.taskSources.provider': 'Provider',
|
||
'settings.taskSources.name': 'Name (optional)',
|
||
'settings.taskSources.namePlaceholder': 'e.g. My open issues',
|
||
'settings.taskSources.github.repo': 'Repository (owner/name, optional)',
|
||
'settings.taskSources.github.labels': 'Labels (comma-separated)',
|
||
'settings.taskSources.notion.database': 'Database (board) ID',
|
||
'settings.taskSources.linear.team': 'Team ID (optional)',
|
||
'settings.taskSources.clickup.team': 'Workspace (team) ID (optional)',
|
||
'settings.taskSources.assignedToMe': 'Only items assigned to me',
|
||
'settings.taskSources.add': 'Add source',
|
||
'settings.taskSources.adding': 'Adding…',
|
||
'settings.taskSources.preview': 'Preview',
|
||
'settings.taskSources.previewResult': '{count} task(s) match this filter',
|
||
'settings.taskSources.fetchNow': 'Fetch now',
|
||
'settings.taskSources.fetching': 'Fetching…',
|
||
'settings.taskSources.fetchResult': 'Routed {routed} of {fetched} task(s)',
|
||
'settings.taskSources.configured': 'Configured sources',
|
||
'settings.taskSources.empty': 'No task sources configured yet.',
|
||
'settings.taskSources.proactive': 'Proactive',
|
||
'settings.taskSources.lastFetch': 'Last fetch',
|
||
'settings.taskSources.never': 'Never',
|
||
'settings.taskSources.statusEnabled': 'Enabled',
|
||
'settings.taskSources.statusDisabled': 'Disabled',
|
||
'settings.taskSources.enable': 'Enable',
|
||
'settings.taskSources.disable': 'Disable',
|
||
'settings.taskSources.remove': 'Remove',
|
||
'settings.taskSources.removeConfirm':
|
||
'Remove this task source? All ingested task history will be deleted and cannot be undone.',
|
||
|
||
'settings.taskSources.refresh': 'Refresh',
|
||
// Task sources provider labels (#task-sources)
|
||
'settings.taskSources.providers.github': 'GitHub',
|
||
'settings.taskSources.providers.notion': 'Notion',
|
||
'settings.taskSources.providers.linear': 'Linear',
|
||
'settings.taskSources.providers.clickup': 'ClickUp',
|
||
|
||
// /skills IA restructure (Phase 2/3) — dashboard + new-skill page.
|
||
'skills.dashboard.title': 'Skills',
|
||
'skills.dashboard.scheduledHeading': 'Scheduled skills',
|
||
'skills.dashboard.emptyTitle': 'No scheduled skills',
|
||
'skills.dashboard.emptyBody':
|
||
'Run a bundled skill once or save a recurring schedule to see it here.',
|
||
'skills.dashboard.create': 'Create a Skill',
|
||
'skills.dashboard.run': 'Run a Skill',
|
||
'skills.dashboard.enable': 'Enable scheduled skill',
|
||
'skills.dashboard.disable': 'Disable scheduled skill',
|
||
'skills.dashboard.lastRun': 'Last run',
|
||
'skills.dashboard.nextRun': 'Next run',
|
||
'skills.dashboard.cardOpenRunner': 'Open in runner',
|
||
'skills.dashboard.loadError': 'Failed to load scheduled skills',
|
||
'skills.new.title': 'Create a skill',
|
||
'skills.new.placeholderBody':
|
||
'Authoring form arrives soon. For now, use the “New skill” button on the runner page.',
|
||
'settings.agentAccess.requireTaskPlanApproval.label': 'Require task plan approval',
|
||
'settings.agentAccess.requireTaskPlanApproval.desc':
|
||
'Pause before an assigned agent executes an agent-authored task brief.',
|
||
};
|
||
|
||
export default id5;
|