Add german translations (#1889)
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
import en from './locales/en.json';
|
import en from './locales/en.json';
|
||||||
import uk from './locales/uk.json';
|
import uk from './locales/uk.json';
|
||||||
import fr from './locales/fr.json';
|
import fr from './locales/fr.json';
|
||||||
|
import de from './locales/de.json';
|
||||||
|
|
||||||
export default defineI18nConfig(() => ({
|
export default defineI18nConfig(() => ({
|
||||||
legacy: false,
|
legacy: false,
|
||||||
@@ -9,5 +10,6 @@ export default defineI18nConfig(() => ({
|
|||||||
en,
|
en,
|
||||||
uk,
|
uk,
|
||||||
fr,
|
fr,
|
||||||
|
de,
|
||||||
},
|
},
|
||||||
}));
|
}));
|
||||||
|
|||||||
@@ -0,0 +1,237 @@
|
|||||||
|
{
|
||||||
|
"pages": {
|
||||||
|
"me": "Konto",
|
||||||
|
"clients": "Clients",
|
||||||
|
"admin": {
|
||||||
|
"panel": "Admin-Konsole",
|
||||||
|
"general": "Allgemein",
|
||||||
|
"config": "Konfiguration",
|
||||||
|
"interface": "Oberfläche",
|
||||||
|
"hooks": "Hooks"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"user": {
|
||||||
|
"email": "Email"
|
||||||
|
},
|
||||||
|
"me": {
|
||||||
|
"currentPassword": "Aktuelles Passwort",
|
||||||
|
"enable2fa": "Zwei-Faktor-Authentifizierunng aktivieren",
|
||||||
|
"enable2faDesc": "Scannen Sie den QR-Code mit ihrer Authentifizierungs-App oder geben Sie den Schlüssel manuell ein.",
|
||||||
|
"2faKey": "TOTP-Schlüssel",
|
||||||
|
"2faCodeDesc": "Geben Sie den Code aus Ihrer Authentifizierungs-App ein.",
|
||||||
|
"disable2fa": "Zwei-Faktor-Authentifizierung deaktivieren",
|
||||||
|
"disable2faDesc": "Geben Sie Ihr Passwort ein, um die Zwei-Faktor-Authentifizierung zu deaktivieren."
|
||||||
|
},
|
||||||
|
"general": {
|
||||||
|
"name": "Name",
|
||||||
|
"username": "Benutzername",
|
||||||
|
"password": "Passwort",
|
||||||
|
"newPassword": "Neues Passwort",
|
||||||
|
"updatePassword": "Passwort aktualisieren",
|
||||||
|
"mtu": "MTU",
|
||||||
|
"allowedIps": "Erlaubte IP-Adressen",
|
||||||
|
"dns": "DNS",
|
||||||
|
"persistentKeepalive": "Dauerhaftes Keepalive",
|
||||||
|
"logout": "Abmelden",
|
||||||
|
"continue": "Weiter",
|
||||||
|
"host": "Host",
|
||||||
|
"port": "Port",
|
||||||
|
"yes": "Ja",
|
||||||
|
"no": "Nein",
|
||||||
|
"confirmPassword": "Passwort bestätigen",
|
||||||
|
"loading": "Laden...",
|
||||||
|
"2fa": "Zwei-Faktor-Authentifizierung",
|
||||||
|
"2faCode": "TOTP-Code"
|
||||||
|
},
|
||||||
|
"setup": {
|
||||||
|
"welcome": "Willkommen zur Ersteinrichtung von wg-easy",
|
||||||
|
"welcomeDesc": "Das ist der einfachste Weg, um Wireguard auf jedem Linux-Server zu installieren und zu betreiben.",
|
||||||
|
"existingSetup": "Haben Sie eine bestehende Einrichtung?",
|
||||||
|
"createAdminDesc": "Bitte geben Sie zuerst einen Admin-Benutzernamen sowie ein starkes, sicheres Passwort ein. Diese Anmeldedaten benötigen Sie, um sich im Admin-Panel anzumelden.",
|
||||||
|
"setupConfigDesc": "Bitte geben Sie die Host- und Portinformationen ein. Diese werden für die Client-Konfiguration verwendet, wenn Sie WireGuard auf Ihren Geräten einrichten.",
|
||||||
|
"setupMigrationDesc": "Bitte halten Sie die Sicherungsdatei bereit, wenn Sie Ihre Daten von Ihrer vorherigen wg-easy Version auf ihre neue Einrichtung migrieren möchten.",
|
||||||
|
"upload": "Hochladen",
|
||||||
|
"migration": "Sicherung wiederherstellen:",
|
||||||
|
"createAccount": "Konto erstellen",
|
||||||
|
"successful": "Einrichtung erfolgreich",
|
||||||
|
"hostDesc": "Öffentlicher Hostname mit dem sich die Clients verbinden",
|
||||||
|
"portDesc": "Öffentlicher UDP-Port an dem sich die Clients verbinden und auf dem Wireguard läuft"
|
||||||
|
},
|
||||||
|
"update": {
|
||||||
|
"updateAvailable": "Es ist ein neue Aktualisierung verfügbar!",
|
||||||
|
"update": "Aktualisieren"
|
||||||
|
},
|
||||||
|
"theme": {
|
||||||
|
"dark": "Dunkles Thema",
|
||||||
|
"light": "Helles Thema",
|
||||||
|
"system": "System-Thema"
|
||||||
|
},
|
||||||
|
"layout": {
|
||||||
|
"toggleCharts": "Statistiken ein-/ausblenden",
|
||||||
|
"donate": "Spenden"
|
||||||
|
},
|
||||||
|
"login": {
|
||||||
|
"signIn": "Anmelden",
|
||||||
|
"rememberMe": "Angemeldet bleiben",
|
||||||
|
"rememberMeDesc": "Bleiben Sie auch nach dem Schließen des Browsers angemeldet",
|
||||||
|
"insecure": "Sie können sich nicht über eine unsichere Verbindung anmelden. Bitte benutzen Sie HTTPS.",
|
||||||
|
"2faRequired": "Zwei-Faktor-Authentifizierung wird benötigt",
|
||||||
|
"2faWrong": "Zwei-Faktor-Authentifizierung ist fehlgeschlagen"
|
||||||
|
},
|
||||||
|
"client": {
|
||||||
|
"empty": "Es gibt noch keine Clients.",
|
||||||
|
"newShort": "Neu",
|
||||||
|
"sort": "Sortieren",
|
||||||
|
"create": "Client erstellen",
|
||||||
|
"created": "Client wurde erstellt",
|
||||||
|
"new": "Neuer client",
|
||||||
|
"name": "Name",
|
||||||
|
"expireDate": "Ablaufdatum",
|
||||||
|
"expireDateDesc": "Datum, an dem der Client deaktiviert wird. Leer lassen, damit dies nie passiert.",
|
||||||
|
"deleteClient": "Client löschen",
|
||||||
|
"deleteDialog1": "Sind Sie sicher, dass Sie diesen Client löschen wollen",
|
||||||
|
"deleteDialog2": "Diese Aktion kann nicht rückgängig gemacht werden.",
|
||||||
|
"enabled": "Aktiviert",
|
||||||
|
"address": "Adresse",
|
||||||
|
"serverAllowedIps": "serverseitig erlaubte IP-Adressen",
|
||||||
|
"otlDesc": "Einen kurzen Einmal-Link erzeugen",
|
||||||
|
"permanent": "Dauerhaft",
|
||||||
|
"createdOn": "Angelegt am ",
|
||||||
|
"lastSeen": "Zuletzt verbunden am ",
|
||||||
|
"totalDownload": "Gesamt-Download: ",
|
||||||
|
"totalUpload": "Gesamt-Upload: ",
|
||||||
|
"newClient": "Neuer Client",
|
||||||
|
"disableClient": "Client deaktivieren",
|
||||||
|
"enableClient": "Client aktivieren",
|
||||||
|
"noPrivKey": "Dieser Client hat keinen bekannten privaten Schlüssel, weshalb keine Konfiguration angelegt werden kann.",
|
||||||
|
"showQR": "QR-Code anzeigen",
|
||||||
|
"downloadConfig": "Konfiguration herunterladen",
|
||||||
|
"allowedIpsDesc": "Welche IP-Adressen durch das VPN geleitet werden (überschreibt die globale Konfiguration)",
|
||||||
|
"serverAllowedIpsDesc": "Welche IP-Adressen der Server zum Client leiten wird",
|
||||||
|
"mtuDesc": "Setzt die maximale Übertragungsgröße (Paketgröße) für den VPN-Tunnel",
|
||||||
|
"persistentKeepaliveDesc": "Legt das Intervall (in Sekunden) für Keepalive-Pakete fest. 0 deaktiviert es",
|
||||||
|
"hooks": "Hooks",
|
||||||
|
"hooksDescription": "Hooks funktionieren nur mit wg-quick",
|
||||||
|
"hooksLeaveEmpty": "Nur für wg-quick. Sonst leer lassen",
|
||||||
|
"dnsDesc": "DNS-Server, den die Clients benutzen (überschreibt die globale Konfiguration)"
|
||||||
|
},
|
||||||
|
"dialog": {
|
||||||
|
"change": "Ändern",
|
||||||
|
"cancel": "Abbrechen",
|
||||||
|
"create": "Erstellen"
|
||||||
|
},
|
||||||
|
"toast": {
|
||||||
|
"success": "Erfolg",
|
||||||
|
"saved": "Gespeichert",
|
||||||
|
"error": "Fehler"
|
||||||
|
},
|
||||||
|
"form": {
|
||||||
|
"actions": "Aktionen",
|
||||||
|
"save": "Speichern",
|
||||||
|
"revert": "Rückgängig machen",
|
||||||
|
"sectionGeneral": "Allgemein",
|
||||||
|
"sectionAdvanced": "Erweitert",
|
||||||
|
"noItems": "Keine Einträge",
|
||||||
|
"nullNoItems": "Keine Einträge. Die globale Konfiguration wird benutzt",
|
||||||
|
"add": "Hinzufügen"
|
||||||
|
},
|
||||||
|
"admin": {
|
||||||
|
"general": {
|
||||||
|
"sessionTimeout": "Sitzungszeitüberschreitung",
|
||||||
|
"sessionTimeoutDesc": "Sitzungsdauer für \"Angemeldet bleiben\" (Sekunden)",
|
||||||
|
"metrics": "Statistiken",
|
||||||
|
"metricsPassword": "Passwort",
|
||||||
|
"metricsPasswordDesc": "Bearer-Passwort für den Statistik-Endpunkt (Passwort oder Argon2-Hash)",
|
||||||
|
"json": "JSON",
|
||||||
|
"jsonDesc": "Pfad zu den Statistiken als JSON",
|
||||||
|
"prometheus": "Prometheus",
|
||||||
|
"prometheusDesc": "Pfad zu den Prometheus-Statistiken"
|
||||||
|
},
|
||||||
|
"config": {
|
||||||
|
"connection": "Verbindung",
|
||||||
|
"hostDesc": "Öffentlicher Hostname mit dem sich die Clients verbinden (überschreibt die Konfiguration)",
|
||||||
|
"portDesc": "Öffentlicher UDP-Port an dem sich die Clients verbinden (überschreibt die Konfiguration, vermutlich wollen Sie ebenfalls den Port der Weboberfläche ändern)",
|
||||||
|
"allowedIpsDesc": "Erlaubte IP-Adressen, die die Clients nutzen werden (Globale Konfiguration)",
|
||||||
|
"dnsDesc": "DNS-Server, den die Clients nutzen werden (Globale Konfiguration)",
|
||||||
|
"mtuDesc": "MTU, den die Clients benutzen werden (nur für neue Clients)",
|
||||||
|
"persistentKeepaliveDesc": "Intervall in Sekunden, in dem Keepalive-Packete an den Server gesendet werden. 0 = deaktiviert (nur für neue Clients)",
|
||||||
|
"suggest": "Vorschlagen",
|
||||||
|
"suggestDesc": "Wählen Sie eine IP-Adresse oder einen Hostnamen für das Host-Feld aus"
|
||||||
|
},
|
||||||
|
"interface": {
|
||||||
|
"cidrSuccess": "CIDR wurde geändert",
|
||||||
|
"device": "Gerät",
|
||||||
|
"deviceDesc": "Ethernet-Gerät, durch das der Wireguard-Datenverkehr geleitet werden soll",
|
||||||
|
"mtuDesc": "MTU, den WireGuard benutzen wird",
|
||||||
|
"portDesc": "UDP Port, auf dem WireGuard lauschen wird (Sie wollen wahrscheinlich auch den Config-Port ändern)",
|
||||||
|
"changeCidr": "CIDR ändern",
|
||||||
|
"restart": "Interface neu starten",
|
||||||
|
"restartDesc": "Das WireGuard-Interface neu starten",
|
||||||
|
"restartWarn": "Sind Sie sicher, dass Sie das Interface neu starten wollen? Dies wird die Verbindungen aller Clients trennen.",
|
||||||
|
"restartSuccess": "Interface neu gestartet"
|
||||||
|
},
|
||||||
|
"introText": "Willkommen in der Admin-Konsole.\n\nHier können Sie die allgemeinen Einstellungen, die Konfiguration, die Schnittstelleneinstellungen und die Hooks verwalten.\n\nBeginnen Sie, indem Sie einen der Bereiche in der Seitenleiste auswählen."
|
||||||
|
},
|
||||||
|
"zod": {
|
||||||
|
"generic": {
|
||||||
|
"required": "{0} ist erforderlich",
|
||||||
|
"validNumber": "{0} muss eine Zahl sein",
|
||||||
|
"validString": "{0} muss eine Zeichenkette sein",
|
||||||
|
"validBoolean": "{0} muss ein Wahrheitswert sein",
|
||||||
|
"validArray": "{0} muss eine Liste sein",
|
||||||
|
"stringMin": "{0} muss mindestens {1} Zeichen lang sein",
|
||||||
|
"numberMin": "{0} muss mindestens {1} sein"
|
||||||
|
},
|
||||||
|
"client": {
|
||||||
|
"id": "Client-ID",
|
||||||
|
"name": "Name",
|
||||||
|
"expiresAt": "Läuft ab am",
|
||||||
|
"address4": "IPv4-Adresse",
|
||||||
|
"address6": "IPv6-Adresse",
|
||||||
|
"serverAllowedIps": "serverseitig erlaubte IP-Adressen"
|
||||||
|
},
|
||||||
|
"user": {
|
||||||
|
"username": "Benutzername",
|
||||||
|
"password": "Passwort",
|
||||||
|
"remember": "Merken",
|
||||||
|
"name": "Name",
|
||||||
|
"email": "Email",
|
||||||
|
"emailInvalid": "Die Email-Adresse muss valide sein",
|
||||||
|
"passwordMatch": "Die Passwörter müssen übereinstimmen",
|
||||||
|
"totpEnable": "TOTP aktivieren",
|
||||||
|
"totpEnableTrue": "\"TOTP aktivieren\" muss ausgewählt sein",
|
||||||
|
"totpCode": "TOTP-Code"
|
||||||
|
},
|
||||||
|
"userConfig": {
|
||||||
|
"host": "Host"
|
||||||
|
},
|
||||||
|
"general": {
|
||||||
|
"sessionTimeout": "Sitzungszeitüberschreitung",
|
||||||
|
"metricsEnabled": "Statistiken",
|
||||||
|
"metricsPassword": "Passwort für Statistiken"
|
||||||
|
},
|
||||||
|
"interface": {
|
||||||
|
"cidr": "CIDR",
|
||||||
|
"device": "Geräte",
|
||||||
|
"cidrValid": "CIDR muss valide sein"
|
||||||
|
},
|
||||||
|
"otl": "Einmal-Link",
|
||||||
|
"stringMalformed": "Zeichenkette ist fehlerhaft",
|
||||||
|
"body": "Body muss ein gültiges Objekt sein",
|
||||||
|
"hook": "Hook",
|
||||||
|
"enabled": "Aktiviert",
|
||||||
|
"mtu": "MTU",
|
||||||
|
"port": "Port",
|
||||||
|
"persistentKeepalive": "Dauerhaftes Keepalive",
|
||||||
|
"address": "IP-Adresse",
|
||||||
|
"dns": "DNS",
|
||||||
|
"allowedIps": "Erlaubte IP-Adressen",
|
||||||
|
"file": "Datei"
|
||||||
|
},
|
||||||
|
"hooks": {
|
||||||
|
"preUp": "PreUp",
|
||||||
|
"postUp": "PostUp",
|
||||||
|
"preDown": "PreDown",
|
||||||
|
"postDown": "PostDown"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -44,6 +44,11 @@ export default defineNuxtConfig({
|
|||||||
language: 'fr-FR',
|
language: 'fr-FR',
|
||||||
name: 'Français',
|
name: 'Français',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
code: 'de',
|
||||||
|
language: 'de-DE',
|
||||||
|
name: 'Deutsch',
|
||||||
|
},
|
||||||
],
|
],
|
||||||
defaultLocale: 'en',
|
defaultLocale: 'en',
|
||||||
vueI18n: './i18n.config.ts',
|
vueI18n: './i18n.config.ts',
|
||||||
|
|||||||
Reference in New Issue
Block a user