diff --git a/package-lock.json b/package-lock.json
index 6b6e28a..4f918da 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "mrterm",
- "version": "0.13.3",
+ "version": "0.14.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "mrterm",
- "version": "0.13.3",
+ "version": "0.14.0",
"license": "MIT",
"dependencies": {
"@xterm/addon-fit": "^0.11.0",
diff --git a/package.json b/package.json
index f1943da..e192d69 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "mrterm",
"productName": "MrTerm",
- "version": "0.13.3",
+ "version": "0.14.0",
"description": "Moderner SSH-, SFTP- und RDP-Client",
"main": "src/main/main.js",
"author": "MrBlake",
diff --git a/src/i18n.js b/src/i18n.js
index 02142f5..300346b 100644
--- a/src/i18n.js
+++ b/src/i18n.js
@@ -351,6 +351,22 @@
'Touch your security key to unlock MrTerm.': 'Berühre deinen Sicherheitsschlüssel, um MrTerm zu entsperren.',
'Security key prompt was cancelled or timed out.': 'Die Abfrage des Sicherheitsschlüssels wurde abgebrochen oder ist abgelaufen.',
'This security key does not support the hmac-secret/PRF extension.': 'Dieser Sicherheitsschlüssel unterstützt die hmac-secret/PRF-Erweiterung nicht.',
+ 'Templates': 'Vorlagen',
+ 'Run': 'Ausführen',
+ 'Authorize SSH key for a user': 'SSH-Key für Benutzer freischalten',
+ 'Adds a public key from the keychain to ~/.ssh/authorized_keys of the user.': 'Trägt einen öffentlichen Schlüssel aus dem Schlüsselbund in ~/.ssh/authorized_keys des Benutzers ein.',
+ 'Key': 'Schlüssel',
+ 'Public key is missing.': 'Öffentlicher Schlüssel fehlt.',
+ 'User is missing.': 'Benutzer fehlt.',
+ 'Install QEMU guest agent': 'QEMU Guest Agent installieren',
+ 'Installs and starts qemu-guest-agent (apt, dnf, yum, pacman, zypper or apk).': 'Installiert und startet qemu-guest-agent (apt, dnf, yum, pacman, zypper oder apk).',
+ 'Use APT cache server': 'APT-Cache-Server verwenden',
+ 'Routes APT downloads through a cache proxy such as apt-cacher-ng (/etc/apt/apt.conf.d/00proxy).': 'Leitet APT-Downloads über einen Cache-Proxy wie apt-cacher-ng (/etc/apt/apt.conf.d/00proxy).',
+ 'Proxy URL': 'Proxy-URL',
+ 'Invalid URL.': 'Ungültige URL.',
+ 'Remove APT cache server': 'APT-Cache-Server entfernen',
+ 'Removes the APT proxy setting again.': 'Entfernt die APT-Proxy-Einstellung wieder.',
+ 'Updates all packages with the system package manager.': 'Aktualisiert alle Pakete mit dem Paketmanager des Systems.',
'Connecting to security key …': 'Verbinde mit dem Sicherheitsschlüssel …',
'Enter the PIN of your security key.': 'Gib die PIN deines Sicherheitsschlüssels ein.',
'Wrong PIN.': 'Falsche PIN.',
diff --git a/src/renderer/app.js b/src/renderer/app.js
index 2d57532..f9ae55d 100644
--- a/src/renderer/app.js
+++ b/src/renderer/app.js
@@ -658,7 +658,7 @@ function viewSnippets(page) {
page.append(toolbar(T('Search snippets …'), [{ label: T('New snippet'), icon: 'plus', cls: 'primary', run: () => editSnippet() }]));
const c = h('
'); page.append(c);
const list = S.vault.snippets.filter((s) => matches(s.label, s.command));
- if (!list.length) return c.append(emptyState('code', T('No snippets'), T('Save frequently used commands and send them to a terminal with one click.'), T('New snippet'), () => editSnippet()));
+ if (!list.length) { c.append(emptyState('code', T('No snippets'), T('Save frequently used commands and send them to a terminal with one click.'), T('New snippet'), () => editSnippet())); c.append(templateList()); return; }
const l = h('');
for (const s of list) {
const card = h(`