feat: move snippets, keybinding actions and macros out of core into plugins

This commit is contained in:
LukeGus committed 2026-09-29 11:39:14 -05:00
1 parent d9bba10612
commit e0c30a4e6f
262 files changed
+9091 -10744

No files matched your search

+1 -229
View File
@@ -409,7 +409,6 @@
"sidebarSettings": "Pengaturan Sidebar...",
"hosts": "Tuan rumah",
"snippets": "Cuplikan",
"macros": "Makro",
"hostManager": "Manajer Host",
"credentials": "Kredensial",
"connections": "Koneksi",
@@ -869,7 +868,6 @@
"groupTags": "Label & pin",
"groupTunnels": "Terowongan",
"groupJumpHosts": "Pembawa acara Jump",
"groupQuickActions": "Tindakan cepat",
"groupFeatureFlags": "Bendera fitur",
"groupAdvanced": "Konfigurasi lanjutan",
"preview": "Pratinjau",
@@ -1068,9 +1066,6 @@
"addCredentialDesc": "Simpan kunci atau kata sandi SSH",
"tmuxMonitor": "Monitor Tmux",
"tmuxMonitorDesc": "Pantau sesi tmux di seluruh host Anda.",
"snippets": "Cuplikan",
"runSnippetDesc": "Jalankan di tab terminal aktif",
"noSnippetsFound": "Tidak ditemukan cuplikan yang cocok dengan \"{{search}}\"",
"recentActivity": "Aktivitas Terkini",
"serversAndHosts": "Server & Host",
"noHostsFound": "Tidak ditemukan host yang cocok dengan \"{{search}}\"",
@@ -1864,119 +1859,6 @@
"hotkeysPrevTab": "Tab sebelumnya",
"hotkeysJumpTab": "Lompat ke tab"
},
"snippets": {
"title": "Cuplikan",
"createSnippetTitle": "Buat Cuplikan",
"createSnippetDescription": "Buat cuplikan perintah baru untuk eksekusi cepat.",
"nameLabel": "Nama",
"namePlaceholder": "misalnya, Mulai ulang Nginx",
"descriptionLabel": "Keterangan",
"descriptionPlaceholder": "Deskripsi opsional",
"optional": "Opsional",
"folderLabel": "Map",
"noFolder": "Tidak ada folder (Tidak terkategorikan)",
"commandLabel": "Memerintah",
"commandPlaceholder": "misalnya, sudo systemctl restart nginx",
"typeLabel": "Jenis",
"typeCommand": "Memerintah",
"typeNote": "Catatan",
"noteLabel": "Catatan",
"notePlaceholder": "misalnya, teks pengingat atau perintah yang dapat digunakan kembali",
"cancel": "Membatalkan",
"createSnippetButton": "Buat Cuplikan",
"createFolderTitle": "Buat Folder",
"createFolderDescription": "Susun cuplikan Anda ke dalam folder.",
"folderNameLabel": "Nama Folder",
"folderNamePlaceholder": "misalnya, Perintah Sistem, Skrip Docker",
"folderColorLabel": "Warna Folder",
"folderIconLabel": "Ikon Folder",
"previewLabel": "Pratinjau",
"folderNameFallback": "Nama Folder",
"createFolderButton": "Buat Folder",
"targetTerminals": "Terminal Target",
"selectAll": "Semua",
"selectNone": "Tidak ada",
"noTerminalTabsOpen": "Tidak ada tab terminal yang terbuka.",
"searchPlaceholder": "Cuplikan pencarian...",
"newSnippet": "Cuplikan Baru",
"newFolder": "Folder Baru",
"run": "Berlari",
"noSnippetsInFolder": "Tidak ada cuplikan di folder ini",
"uncategorized": "Tidak dikategorikan",
"editSnippetTitle": "Edit Cuplikan",
"editSnippetDescription": "Perbarui cuplikan perintah ini",
"saveSnippetButton": "Simpan Perubahan",
"createSuccess": "Cuplikan berhasil dibuat.",
"createFailed": "Gagal membuat cuplikan",
"updateSuccess": "Cuplikan berhasil diperbarui.",
"updateFailed": "Gagal memperbarui cuplikan",
"deleteFailed": "Gagal menghapus cuplikan",
"folderCreateSuccess": "Folder berhasil dibuat.",
"folderCreateFailed": "Gagal membuat folder",
"editFolderTitle": "Edit Folder",
"editFolderDescription": "Ganti nama atau ubah tampilan folder ini",
"saveFolderButton": "Simpan Perubahan",
"editFolder": "Edit folder",
"deleteFolder": "Hapus folder",
"folderDeleteSuccess": "Folder \"{{name}}\" dihapus",
"folderDeleteFailed": "Gagal menghapus folder",
"folderEditSuccess": "Folder berhasil diperbarui.",
"folderEditFailed": "Gagal memperbarui folder",
"confirmRunMessage": "Jalankan \"{{name}}\"?",
"confirmRunButton": "Berlari",
"runSuccess": "Menjalankan \"{{name}}\" di {{count}} terminal",
"pasteSuccess": "\"{{name}}\" ditempelkan ke terminal {{count}}",
"pasteToTerminal": "Pasta",
"copySuccess": "\"{{name}}\" disalin ke papan klip",
"shareTitle": "Bagikan Cuplikan",
"shareUser": "Pengguna",
"shareRole": "Peran",
"selectUser": "Pilih pengguna...",
"selectRole": "Pilih peran...",
"shareSuccess": "Cuplikan berhasil dibagikan",
"shareFailed": "Cuplikan gagal dibagikan",
"revokeSuccess": "Akses dicabut",
"revokeFailed": "Gagal mencabut akses",
"currentAccess": "Akses Saat Ini",
"shareLoadError": "Gagal memuat data berbagi.",
"loading": "Memuat...",
"close": "Menutup",
"reorderFailed": "Gagal menyimpan urutan cuplikan",
"importExport": "Impor / Ekspor",
"exportBtn": "Ekspor JSON",
"importBtn": "Impor JSON",
"exportSuccess": "Cuplikan berhasil diekspor.",
"exportFailed": "Gagal mengekspor cuplikan",
"importTitle": "Cuplikan Impor",
"importDescription": "Impor cuplikan dan folder dari file JSON yang diekspor oleh Termix.",
"importDropOrClick": "Seret file JSON di sini atau klik untuk menelusuri.",
"importSelectedFile": "Dipilih: {{name}}",
"importOverwrite": "Timpa cuplikan yang sudah ada dengan nama dan folder yang sama.",
"importStartBtn": "Impor",
"importSuccess": "Impor selesai: {{snippets}} cuplikan ditambahkan, {{updated}} diperbarui, {{skipped}} dilewati, {{folders}} folder ditambahkan",
"importFailed": "Gagal mengimpor cuplikan kode.",
"importInvalidFile": "Berkas tidak valid: diharapkan objek JSON dengan cuplikan atau array folder.",
"targetHostsLabel": "Host Target",
"targetHostsHint": "Tetapkan host untuk menjalankan cuplikan kode ini secara langsung tanpa terminal yang terbuka.",
"noHostsAvailable": "Tidak ada host yang dikonfigurasi.",
"clearTargetHosts": "Hapus semua",
"hasTargetHosts": "Memiliki host target",
"runOnTargets": "Lari ke Target",
"directRunSuccess": "Menjalankan \"{{name}}\" pada {{count}} host",
"directRunPartialFail": "\"{{name}}\" gagal pada satu atau lebih host",
"executionResultTitle": "Hasil Eksekusi: {{name}}",
"executionResultDescription": "Hasil dari menjalankan cuplikan kode pada setiap host target.",
"executionSuccess": "Kesuksesan",
"executionFailed": "Gagal",
"expandAll": "Buka semua folder",
"collapseAll": "Tutup semua folder",
"settings": "Pengaturan cuplikan",
"variablesHint": "Variabel: $HOST, $USER, $PORT, $NAME, ${INPUT_1:Label}",
"variablesDialogTitle": "Jalankan \"{{name}}\"",
"variablesDialogDescription": "Isi nilai-nilai yang dibutuhkan cuplikan kode ini sebelum menjalankannya.",
"variablesPreviewLabel": "Pratinjau",
"variablesConfirmButton": "Berlari"
},
"keybindings": {
"title": "Pintasan Keyboard",
"description": "Sesuaikan pintasan salin, tempel, dan kontrol terminal, atau tetapkan tombol untuk mengirim teks atau menjalankan cuplikan kode.",
@@ -2000,26 +1882,11 @@
"pressKeysPlaceholder": "Klik dan tekan tombol",
"recording": "Tekan tombol...",
"comboRequiredError": "Tekan kombinasi tombol terlebih dahulu.",
"textRequiredError": "Masukkan teks yang ingin dikirim",
"controlCodeRequiredError": "Masukkan satu huruf untuk kode kontrol.",
"snippetRequiredError": "Pilih cuplikan",
"conflictWarning": "Kombinasi ini sudah terikat ke {{combo}}. Menyimpan akan membuat keduanya menyala.",
"actionLabel": "Tindakan",
"actionCopy": "Salin pilihan",
"actionPaste": "Pasta",
"actionSendControlCode": "Kirim sinyal Ctrl+huruf",
"actionSendText": "Kirim pesan teks",
"actionRunSnippet": "Jalankan cuplikan kode yang sudah ada.",
"actionNextTab": "Beralih ke tab berikutnya",
"actionPreviousTab": "Beralih ke tab sebelumnya",
"actionOpenCommandPalette": "Buka pencarian cepat",
"controlCodeLabel": "Surat",
"textLabel": "Teks untuk dikirim",
"appendEnterLabel": "Tekan Enter setelah mengirim",
"snippetLabel": "Potongan",
"selectSnippetPlaceholder": "Pilih cuplikan",
"orphanedSnippetWarning": "cuplikan tidak ditemukan",
"clipboardPermissionNote": "Pada beberapa browser, mungkin akan meminta izin akses clipboard saat pertama kali digunakan."
"actionOpenCommandPalette": "Buka pencarian cepat"
},
"userProfile": {
"donateTitle": "Jaga agar Termix tetap hidup.",
@@ -2240,100 +2107,5 @@
"ntfyTopicRequired": "Topik wajib diisi",
"ntfyToken": "Token Akses (opsional)",
"channelSaveFailed": "Gagal menyimpan saluran"
},
"macros": {
"title": "Makro",
"description": "Jalankan serangkaian perintah yang tersimpan di terminal, dan tanggapi apa yang dikirimkan kembali oleh server.",
"target": "Target",
"noTerminal": "Tidak ada terminal yang terbuka",
"empty": "Belum ada makro",
"emptyHint": "Buat makro untuk mengotomatiskan alur terminal, seperti masuk, memulai ulang layanan, atau menjawab perintah.",
"create": "Makro baru",
"back": "Kembali ke makro",
"name": "Nama",
"namePlaceholder": "Mulai ulang server web",
"nameRequired": "Beri nama makro sebelum menyimpannya.",
"descriptionLabel": "Keterangan",
"descriptionPlaceholder": "Fungsi makro ini (opsional)",
"unsaved": "Perubahan yang belum disimpan",
"save": "Menyimpan",
"saved": "Makro tersimpan",
"saveFailed": "Makro tidak dapat disimpan.",
"delete": "Menghapus",
"deleteTitle": "Hapus makro ini?",
"deleteBody": "\"{{name}}\" akan dihapus secara permanen. Ini tidak dapat dibatalkan.",
"deleted": "Makro dihapus",
"cancel": "Membatalkan",
"run": "Berlari",
"stop": "Berhenti",
"running": "Berlari...",
"completed": "Makro selesai",
"failed": "Makro gagal",
"loadFailed": "Makro tidak dapat dimuat",
"needTerminal": "Buka dan sambungkan terminal terlebih dahulu.",
"noSteps": "Makro ini belum memiliki langkah. Tambahkan langkah di bawah ini.",
"addStep": "Tambahkan langkah",
"stepNumber": "Langkah {{number}}",
"removeStep": "Hapus langkah",
"confirmRunTitle": "Jalankan makro ini?",
"confirmRunBody": "\"{{name}}\" akan mengirimkan perintah ke {{host}}.",
"confirmRunAction": "Jalankan makro",
"stepTypes": {
"send": {
"label": "Kirim perintah",
"help": "Mengetik teks ke terminal, sama seperti jika Anda mengetiknya."
},
"wait": {
"label": "Tunggu hingga muncul output.",
"help": "Akan berhenti sejenak hingga server menampilkan teks yang Anda sebutkan, seperti saat meminta kata sandi."
},
"delay": {
"label": "Berhenti sebentar",
"help": "Menunggu dalam jangka waktu tertentu sebelum melanjutkan ke langkah berikutnya."
},
"if": {
"label": "Jika output berisi",
"help": "Memeriksa semua yang telah dicetak server sejauh ini, lalu menjalankan salah satu dari dua cabang."
},
"repeat": {
"label": "Mengulang",
"help": "Menjalankan langkah-langkah di dalamnya sebanyak jumlah kali yang telah ditentukan."
}
},
"send": {
"text": "Perintah atau teks",
"textPlaceholder": "systemctl restart nginx",
"pressEnter": "Tekan Enter setelah mengirim",
"pressEnterHelp": "Matikan opsi ini untuk mengetik teks tanpa mengirimkannya."
},
"wait": {
"pattern": "Tunggu hingga output berisi",
"patternPlaceholder": "kata sandi:",
"timeout": "Menyerah setelah",
"onTimeout": "Jika itu tidak pernah muncul",
"stop": "Hentikan makro",
"continue": "Tetaplah melanjutkan"
},
"delay": {
"duration": "Tunggu"
},
"ifStep": {
"pattern": "Jika outputnya berisi",
"patternPlaceholder": "Aktif: aktif (berjalan)",
"then": "Kemudian lakukan ini",
"else": "Jika tidak, lakukan ini",
"emptyBranch": "Tidak ada tangga"
},
"repeat": {
"count": "Jumlah kali",
"times": "waktu"
},
"match": {
"useRegex": "Cocokkan dengan ekspresi reguler",
"useRegexHelp": "Hilangkan bagian ini agar sesuai persis dengan teks yang tertulis.",
"invalidRegex": "Bukan ekspresi reguler yang valid, akan dicocokkan sebagai teks biasa."
},
"seconds": "detik",
"secondsShort": "{{count}}s"
}
}