/* * Copyright (c) 2022, The PurpleI2P Project * * This file is part of Purple i2pd project and licensed under BSD3 * * See full license text in LICENSE file at top of project tree */ #include #include #include #include #include "I18N.h" // German localization file namespace i2p { namespace i18n { namespace german // language namespace { // language name in lowercase static std::string language = "german"; // See for language plural forms here: // https://localization-guide.readthedocs.io/en/latest/l10n/pluralforms.html static int plural (int n) { return n != 1 ? 1 : 0; } static std::map strings { {"%.2f KiB", "%.2f KiB"}, {"%.2f MiB", "%.2f MiB"}, {"%.2f GiB", "%.2f GiB"}, {"building", "In Bau"}, {"failed", "fehlgeschlagen"}, {"expiring", "läuft ab"}, {"established", "hergestellt"}, {"unknown", "Unbekannt"}, {"exploratory", "erforschend"}, {"Purple I2P Webconsole", "Purple I2P-Webkonsole"}, {"i2pd webconsole", "i2pd-Webkonsole"}, {"Main page", "Startseite"}, {"Router commands", "Routerbefehle"}, {"Local Destinations", "Lokale Ziele"}, {"LeaseSets", "LeaseSets"}, {"Tunnels", "Tunnel"}, {"Transit Tunnels", "Transittunnel"}, {"Transports", "Transporte"}, {"I2P tunnels", "I2P Tunnel"}, {"SAM sessions", "SAM Sitzungen"}, {"ERROR", "FEHLER"}, {"OK", "OK"}, {"Testing", "Testen"}, {"Firewalled", "Hinter einer Firewall"}, {"Unknown", "Unbekannt"}, {"Proxy", "Proxy"}, {"Mesh", "Mesh"}, {"Error", "Fehler"}, {"Clock skew", "Zeitabweichung"}, {"Offline", "Offline"}, {"Symmetric NAT", "Symmetrisches NAT"}, {"Uptime", "Laufzeit"}, {"Network status", "Netzwerkstatus"}, {"Network status v6", "Netzwerkstatus v6"}, {"Stopping in", "Stoppt in"}, {"Family", "Familie"}, {"Tunnel creation success rate", "Erfolgsrate der Tunnelerstellung"}, {"Received", "Eingegangen"}, {"%.2f KiB/s", "%.2f KiB/s"}, {"Sent", "Gesendet"}, {"Transit", "Transit"}, {"Data path", "Datenpfad"}, {"Hidden content. Press on text to see.", "Versteckter Inhalt. Klicke hier, um ihn zu sehen."}, {"Router Ident", "Routeridentität"}, {"Router Family", "Routerfamilie"}, {"Router Caps", "Routerattribute"}, {"Version", "Version"}, {"Our external address", "Unsere externe Adresse"}, {"supported", "unterstützt"}, {"Routers", "Router"}, {"Floodfills", "Floodfills"}, {"Client Tunnels", "Clienttunnel"}, {"Services", "Services"}, {"Enabled", "Aktiviert"}, {"Disabled", "Deaktiviert"}, {"Encrypted B33 address", "Verschlüsselte B33-Adresse"}, {"Address registration line", "Adressregistrierungszeile"}, {"Domain", "Domain"}, {"Generate", "Generieren"}, {"Note: result string can be used only for registering 2LD domains (example.i2p). For registering subdomains please use i2pd-tools.", "Hinweis: Der resultierende String kann nur für die Registrierung einer 2LD-Domain (beispiel.i2p) benutzt werden. Für die Registrierung von Subdomains kann i2pd-tools verwendet werden."}, {"Address", "Adresse"}, {"Type", "Typ"}, {"EncType", "Verschlüsselungstyp"}, {"Inbound tunnels", "Eingehende Tunnel"}, {"%dms", "%dms"}, {"Outbound tunnels", "Ausgehende Tunnel"}, {"Tags", "Tags"}, {"Incoming", "Eingehend"}, {"Outgoing", "Ausgehend"}, {"Destination", "Ziel"}, {"Amount", "Anzahl"}, {"Incoming Tags", "Eingehende Tags"}, {"Tags sessions", "Tags-Sitzungen"}, {"Status", "Status"}, {"Local Destination", "Lokales Ziel"}, {"Streams", "Streams"}, {"Close stream", "Stream schließen"}, {"I2CP session not found", "I2CP-Sitzung nicht gefunden"}, {"I2CP is not enabled", "I2CP ist nicht aktiviert"}, {"Invalid", "Ungültig"}, {"Store type", "Speichertyp"}, {"Expires", "Ablaufdatum"}, {"Non Expired Leases", "Nicht abgelaufene Leases"}, {"Gateway", "Gateway"}, {"TunnelID", "TunnelID"}, {"EndDate", "Enddatum"}, {"not floodfill", "kein Floodfill"}, {"Queue size", "Größe der Warteschlange"}, {"Run peer test", "Peer-Test durchführen"}, {"Decline transit tunnels", "Transittunnel ablehnen"}, {"Accept transit tunnels", "Transittunnel akzeptieren"}, {"Cancel graceful shutdown", "Beende das kontrollierte Herunterfahren"}, {"Start graceful shutdown", "Starte das kontrollierte Herunterfahren"}, {"Force shutdown", "Herunterfahren erzwingen"}, {"Reload external CSS styles", "Lade externe CSS-Stile neu"}, {"Note: any action done here are not persistent and not changes your config files.", "Hinweis: Alle hier durchgeführten Aktionen sind nicht dauerhaft und ändern die Konfigurationsdateien nicht."}, {"Logging level", "Protokollierungslevel"}, {"Transit tunnels limit", "Limit für Transittunnel"}, {"Change", "Ändern"}, {"Change language", "Sprache ändern"}, {"no transit tunnels currently built", "derzeit keine Transittunnel aufgebaut"}, {"SAM disabled", "SAM deaktiviert"}, {"no sessions currently running", "Derzeit keine laufenden Sitzungen"}, {"SAM session not found", "SAM-Sitzung nicht gefunden"}, {"SAM Session", "SAM-Sitzung"}, {"Server Tunnels", "Servertunnel"}, {"Client Forwards", "Client-Weiterleitungen"}, {"Server Forwards", "Server-Weiterleitungen"}, {"Unknown page", "Unbekannte Seite"}, {"Invalid token", "Ungültiger Token"}, {"SUCCESS", "ERFOLGREICH"}, {"Stream closed", "Stream geschlossen"}, {"Stream not found or already was closed", "Stream nicht gefunden oder bereits geschlossen"}, {"Destination not found", "Ziel nicht gefunden"}, {"StreamID can't be null", "StreamID kann nicht null sein"}, {"Return to destination page", "Zurück zur Ziel-Seite"}, {"You will be redirected in 5 seconds", "Du wirst in 5 Sekunden weitergeleitet"}, {"Transit tunnels count must not exceed 65535", "Es darf maximal 65535 Transittunnel geben"}, {"Back to commands list", "Zurück zur Befehlsliste"}, {"Register at reg.i2p", "Auf reg.i2p registrieren"}, {"Description", "Beschreibung"}, {"A bit information about service on domain", "Ein paar Informationen über den Service auf der Domain"}, {"Submit", "Absenden"}, {"Domain can't end with .b32.i2p", "Domain kann nicht auf .b32.i2p enden"}, {"Domain must end with .i2p", "Domain muss auf .i2p enden"}, {"Such destination is not found", "Ein solches Ziel konnte nicht gefunden werden"}, {"Unknown command", "Unbekannter Befehl"}, {"Command accepted", "Befehl akzeptiert"}, {"Proxy error", "Proxy-Fehler"}, {"Proxy info", "Proxy-Info"}, {"Proxy error: Host not found", "Proxy-Fehler: Host nicht gefunden"}, {"Remote host not found in router's addressbook", "Remote-Host nicht im Router-Adressbuch gefunden"}, {"You may try to find this host on jump services below", "Vielleicht kannst du diesen Host auf einem der nachfolgenden Jump-Services finden"}, {"Invalid request", "Ungültige Anfrage"}, {"Proxy unable to parse your request", "Proxy konnte die Anfrage nicht verarbeiten"}, {"addresshelper is not supported", "Addresshelfer wird nicht unterstützt"}, {"Host", "Host"}, {"added to router's addressbook from helper", "vom Helfer zum Router-Adressbuch hinzugefügt"}, {"Click here to proceed:", "Klicke hier um fortzufahren:"}, {"Continue", "Fortsetzen"}, {"Addresshelper found", "Adresshelfer gefunden"}, {"already in router's addressbook", "bereits im Adressbuch des Routers"}, {"Click here to update record:", "Klicke hier, um den Eintrag zu aktualisieren:"}, {"invalid request uri", "ungültige Anfrage-URI"}, {"Can't detect destination host from request", "Kann den Ziel-Host von der Anfrage nicht erkennen"}, {"Outproxy failure", "Outproxy-Fehler"}, {"bad outproxy settings", "ungültige Outproxy-Einstellungen"}, {"not inside I2P network, but outproxy is not enabled", "außerhalb des I2P-Netzwerks, aber Outproxy ist nicht aktiviert"}, {"unknown outproxy url", "unbekannte Outproxy-URL"}, {"cannot resolve upstream proxy", "kann den Upstream-Proxy nicht auflösen"}, {"hostname too long", "Hostname zu lang"}, {"cannot connect to upstream socks proxy", "Kann keine Verbindung zum Upstream-Socks-Proxy herstellen"}, {"Cannot negotiate with socks proxy", "Kann nicht mit Socks-Proxy verhandeln"}, {"CONNECT error", "CONNECT-Fehler"}, {"Failed to Connect", "Verbindung konnte nicht hergestellt werden"}, {"socks proxy error", "Socks-Proxy-Fehler"}, {"failed to send request to upstream", "Anfrage an den Upstream zu senden ist gescheitert"}, {"No Reply From socks proxy", "Keine Antwort vom Socks-Proxy"}, {"cannot connect", "kann nicht verbinden"}, {"http out proxy not implemented", "HTTP-Outproxy nicht implementiert"}, {"cannot connect to upstream http proxy", "Kann nicht zu Upstream-HTTP-Proxy verbinden"}, {"Host is down", "Host ist offline"}, {"Can't create connection to requested host, it may be down. Please try again later.", "Konnte keine Verbindung zum angefragten Host aufbauen, vielleicht ist er offline. Versuche es später noch mal."}, {"", ""}, }; static std::map> plurals { {"%d days", {"%d Tag", "%d Tage"}}, {"%d hours", {"%d Stunde", "%d Stunden"}}, {"%d minutes", {"%d Minute", "%d Minuten"}}, {"%d seconds", {"%d Sekunde", "%d Sekunden"}}, {"", {"", ""}}, }; std::shared_ptr GetLocale() { return std::make_shared(language, strings, plurals, [] (int n)->int { return plural(n); }); } } // language } // i18n } // i2p