From cec168bf016173b964e3ac65abba2373c38575e3 Mon Sep 17 00:00:00 2001 From: Max <63856008+Maxnflaxl@users.noreply.github.com> Date: Fri, 19 Apr 2024 17:44:12 +0200 Subject: [PATCH 1/5] Create de.yml --- locales/de.yml | 239 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 239 insertions(+) create mode 100644 locales/de.yml diff --git a/locales/de.yml b/locales/de.yml new file mode 100644 index 0000000..0f149b1 --- /dev/null +++ b/locales/de.yml @@ -0,0 +1,239 @@ +copy: Kopieren +paste: Einfügen +continue: Weiter +complete: Fertig +error: Error +retry: Erneut versuchen +close: Schließen +change: Ändern +show: Zeigen +delete: Löschen +clear: Clear +create: Erstellen +wallets: + await_conf_amount: Erwarte Bestätigung + await_fin_amount: Warten auf die Fertigstellung + locked_amount: Gesperrt + txs_empty: 'Um Geld manuell oder per Transport zu empfangen oder zu senden, verwenden Sie die Schaltflächen %{message} oder %{transport} unten auf dem Bildschirm. Um die Wallet-Einstellungen zu ändern, drücken Sie %{settings}.' + title: Wallets + create_desc: Erstellen oder importieren Sie ein bestehendes Wallet mit dem Seed-Phrase. + add: Wallet hinzufügen + name: 'Name:' + pass: 'Passwort:' + pass_empty: Wallet Passwort eingeben + current_pass: 'Aktuelles Passwort:' + new_pass: 'Neues Passwort:' + min_tx_conf_count: 'Mindestanzahl an Bestätigungen für Transaktionen:' + recover: Wiederherstellen + recovery_phrase: Wiederherstellungssatz + words_count: 'Wortanzahl:' + enter_word: 'Wort #%{number} eingeben:' + not_valid_word: Das eingegebene Wort ist ungültig + not_valid_phrase: Der eingegebene Satz ist ungültig + create_phrase_desc: Schreiben Sie Ihre Wiederherstellungsphrase sicher auf und speichern Sie sie. + restore_phrase_desc: Geben Sie Wörter aus Ihrer gespeicherten Wiederherstellungsphrase ein. + setup_conn_desc: Wählen Sie aus, wie Ihr Wallet eine Verbindung zum Netzwerk herstellt. + conn_method: Verbindungsmethode + ext_conn: 'Externe Verbindungen:' + add_node: Node hinzufügen + node_url: 'Node URL:' + node_secret: 'API Secret (optional):' + invalid_url: Die eingegebene URL ist ungültig + open: Wallet öffnen + wrong_pass: Das eingegebene Passwort ist falsch + locked: Gesperrt + unlocked: Entsperrt + enable_node: 'Aktivieren Sie die integrierte Node, um das Wallet zu verwenden, oder ändern Sie die Verbindungseinstellungen, indem Sie unten auf dem Bildschirm %{settings} auswählen.' + node_loading: 'Das Wallet wird nach der synchronisation der integrierten Node geladen. Sie können die Verbindungseinstellungen ändern, indem Sie unten auf dem Bildschirm %{settings} auswählen.' + loading: Wird geladen + closing: Schließen + checking: Überprüfung + default_wallet: Standard-Wallet + wallet_loading: Wallet wird geladen + wallet_closing: Wallet schließen + wallet_checking: Wallet prüfen + tx_loading: Laden von Transaktionen + default_account: Standardaccount + create_account: Account erstellen + accounts: Accounts + tx_sent: Gesendet + tx_received: Erhalten + tx_sending: Senden + tx_receiving: Erhalten + tx_confirming: Erwarte Bestätigung + tx_cancelling: Abbrechen + tx_canceled: Abgebrochen + tx_confirmed: Bestätigt + txs: Transaktionen + messages: Nachrichten + transport: Transport + input_slatepack_desc: 'Geben Sie eine Nachricht ein, um eine Antwort zu erstellen oder die Transaktion abzuschließen:' + send_slatepack_desc: 'Senden Sie eine Nachricht an den Empfänger, um die Transaktion abzuschließen:' + parse_slatepack_err: 'Bei der Verarbeitung der Nachricht ist ein Fehler aufgetreten. Überprüfen Sie die Eingabedaten:' + pay_balance_error: 'Der Kontostand reicht nicht aus, um %{amount} ツ und die Netzwerkgebühr zu bezahlen.' + parse_i1_slatepack_desc: 'Um %{amount} zu zahlen, senden Sie diese Nachricht an den Empfänger:' + parse_i2_slatepack_desc: 'Schließen Sie die Transaktion ab, um %{amount} ツ zu erhalten' + parse_s1_slatepack_desc: 'Um %{amount} zu erhalten, senden Sie diese Nachricht an den Absender:' + parse_s2_slatepack_desc: 'Schließen Sie die Transaktion ab, um %{amount} ツ zu senden' + response_slatepack_err: 'Beim Erstellen der Antwort ist ein Fehler aufgetreten. Überprüfen Sie die Eingabedaten:' + response_exists_err: 'Eine solche Transaktion existiert bereits:' + create_request_desc: 'Erstellen Sie eine Anfrage zum Senden oder Empfangen der Gelder:' + send_request_desc: 'Sie haben eine Anfrage zum Senden von %{amount} ツ erstellt. Senden Sie diese Nachricht an den Empfänger:' + send_slatepack_err: Beim Erstellen der Anfrage zum Senden von Geldern ist ein Fehler aufgetreten. Überprüfen Sie die Eingabedaten. + invoice_desc: 'Sie haben eine Anfrage zum Erhalt von %{amount} ツ erstellt. Senden Sie diese Nachricht an den Absender der Gelder:' + invoice_slatepack_err: Bei der Rechnungsstellung ist ein Fehler aufgetreten, überprüfen Sie die Eingabedaten. + finalize_slatepack_err: 'Bei der Finalisierung ist ein Fehler aufgetreten. Überprüfen Sie die Eingabedaten:' + finalize: Abschließen + use_dandelion: Dandelion verwenden + enter_amount_send: 'Sie haben %{amount} ツ. Geben Sie den zu sendenden Betrag ein:' + enter_amount_receive: 'Geben Sie den zu erhaltenden Betrag ein:' + recovery: Wiederherstellung + repair_wallet: Wallet reparieren + repair_desc: Überprüfen Sie ein Wallet und reparieren und stellen Sie bei Bedarf fehlende Ausgaben wieder her. Dieser Vorgang wird einige Zeit dauern. + repair_unavailable: Sie benötigen eine aktive Verbindung zum Knoten und eine abgeschlossene Wallet-Synchronisierung. + delete: Wallet löschen + delete_conf: Sind Sie sicher, dass Sie das Wallet löschen möchten? + delete_desc: Stellen Sie sicher, dass Sie Ihre Wiederherstellungsphrase gespeichert haben, um auf Gelder zugreifen zu können. + wallet_loading_err: 'Bei der Synchronisierung des Wallets ist ein Fehler aufgetreten. Sie können es erneut versuchen oder die Verbindungseinstellungen ändern, indem Sie unten auf dem Bildschirm %{settings} auswählen.' + wallet: Wallet + send: Senden + receive: Empfangen + settings: Wallet Einstellungen + change_server_confirmation: Um die Änderung der Verbindungseinstellungen zu übernehmen, müssen Sie Ihr Wallet erneut öffnen. Jetzt wieder öffnen? +network: + self: Netzwerk + type: 'Netzwerk Typ:' + connections: Verbindungen + node: Integrierte Node + metrics: Metriken + mining: Mining + settings: Node Einstellungen + enable_node: Node aktivieren + autorun: Autorun + disabled_server: 'Aktivieren Sie die integrierte Node oder fügen Sie eine weitere Verbindungsmethode hinzu, indem Sie oben links auf dem Bildschirm auf %{dots} drücken.' + no_ips: Auf Ihrem System sind keine IP-Adressen verfügbar. Der Server kann nicht gestartet werden. Überprüfen Sie Ihre Netzwerkkonnektivität. + available: Verfügbar + not_available: Nicht verfügbar + availability_check: Verfügbarkeitsprüfung +sync_status: + node_restarting: Node wird neu gestartet + node_down: Node ist ausgefallen + initial: Node startet + no_sync: Node läuft + awaiting_peers: Warten auf Peers + header_sync: Header werden heruntergeladen + header_sync_percent: 'Header werden heruntergeladen: %{percent}%' + tx_hashset_pibd: Downloadstatus (PIBD) + tx_hashset_pibd_percent: 'Downloadstatus (PIBD): %{percent}%' + tx_hashset_download: Downloadstatus + tx_hashset_download_percent: 'Downloadstatus: %{percent}%' + tx_hashset_setup_history: 'Vorbereitungsstatus (Verlauf): %{percent}%' + tx_hashset_setup_position: 'Vorbereitungsstatus (Position): %{percent}%' + tx_hashset_setup: Vorbereitungszustand + tx_hashset_range_proofs_validation: 'Validierungsstatus (range proofs): %{percent}%' + tx_hashset_kernels_validation: 'Validierungsstatus (Kernel): %{percent}%' + tx_hashset_save: Finalisierender Chainstatus + body_sync: Blöcke herunterladen + body_sync_percent: 'Blöcke herunterladen: %{percent}%' + shutdown: Node wird heruntergefahren +network_node: + header: Header + block: Block + hash: Hash + height: Höhe + difficulty: Schwierigkeit + time: Zeit + main_pool: Hauptpool + stem_pool: Stem-Pool + data: Daten + size: Größe (GB) + peers: Peers +network_metrics: + loading: Metriken werden nach der Synchronisierung verfügbar sein + emission: Emission + inflation: Inflation + supply: Supply + block_time: Blockzeit + reward: Belohnung + difficulty_window: 'Schwierigkeitsfenster %{size}' +network_mining: + loading: Mining wird nach der Synchronisierung verfügbar sein + info: 'Mining-Server aktiviert ist, können Sie seine Einstellungen ändern, indem Sie unten auf dem Bildschirm %{settings} wählen. Die Daten werden aktualisiert, wenn Geräte angeschlossen sind.' + restart_server_required: Ein Neustart des Servers ist erforderlich, um die Änderungen zu übernehmen. + rewards_wallet: Brieftasche für Belohnungen + server: Stratum Server + address: Addresse + miners: Miner + devices: Geräte + blocks_found: Gefundene Blöcke + hashrate: 'Hashrate (C%{bits})' + connected: Verbunden + disconnected: Getrennt +network_settings: + change_value: Wert ändern + stratum_ip: 'Stratum IP Addresse:' + stratum_port: 'Stratum Port:' + port_unavailable: Der angegebene Port ist nicht verfügbar + restart_node_required: Ein Neustart der Node ist erforderlich, um die Änderungen zu übernehmen. + enable: Aktivieren + disable: Deaktivieren + restart: Neustarten + server: Server + api_ip: 'API IP Addresse:' + api_port: 'API Port:' + api_secret: 'Rest API and V2 Owner API token:' + foreign_api_secret: 'Fremdes API token:' + disabled: Deaktiviert + enabled: Aktiviert + ftl: 'Das Future Time Limit (FTL):' + ftl_description: Begrenzung, wie weit in der Zukunft, relativ zur lokalen Zeit eines Knotens in Sekunden, der Zeitstempel eines neuen Blocks liegen darf, damit der Block akzeptiert wird. + not_valid_value: Eingegebener Wert ist nicht gültig + full_validation: Vollständige Validierung + full_validation_description: Ob bei der Verarbeitung jedes Blocks eine vollständige Kettenvalidierung durchgeführt werden soll (außer bei der Synchronisierung). + archive_mode: Archiv Modus + archive_mode_desc: Führen Sie den Knoten im vollständigen Archivmodus aus (für die Synchronisierung wird mehr Speicherplatz und Zeit benötigt). + attempt_time: 'Zeit des Miningsversuches (in Sekunden):' + attempt_time_desc: Die Zeitspanne, in der versucht wird, eine bestimmte Kopfzeile abzubauen, bevor der Abbau gestoppt und die Transaktionen erneut aus dem Pool gesammelt werden + min_share_diff: 'Der Mindestschwierigkeitsgrad des Shares:' + reset_settings_desc: Nodeeinstellungen auf Standardwerte zurücksetzen + reset_settings: Einstellungen zurücksetzen + reset: zurücksetzen + tx_pool: Transaktionspool + pool_fee: 'Grundgebühr, die in den Pool aufgenommen wird:' + reorg_period: 'Aufbewahrungsdauer des Reorg-Caches (in Minuten):' + max_tx_pool: 'Maximale Anzahl von Transaktionen im Pool:' + max_tx_stempool: 'Maximale Anzahl von Transaktionen im Stamm-Pool:' + max_tx_weight: 'Maximales Gesamtgewicht der Transaktionen, die zur Bildung eines Blocks ausgewählt werden können:' + epoch_duration: 'Epochendauer (in Sekunden):' + embargo_timer: 'Embargo-Timer (in Sekunden):' + aggregation_period: 'Aggregationszeitraum (in Sekunden):' + stem_probability: 'Wahrscheinlichkeit der Stem-Phase:' + stem_txs: Stem Transaktionen + p2p_server: P2P Server + p2p_port: 'P2P port:' + add_seed: DNS-Seed hinzufügen + seed_address: 'DNS Seed Addresse:' + add_peer: Peer hinzufügen + peer_address: 'Peer Addresse:' + peer_address_error: 'Geben Sie die IP-Adresse oder den DNS-Namen (stellen Sie sicher, dass der angegebene Host verfügbar ist) im richtigen Format ein, z. B: 192.168.0.1:1234 oder example.com:5678' + default: Standardeinstellung + allow_list: Erlaubt-Liste + allow_list_desc: Nur mit diesen Peers verbinden + deny_list: Ablehnungsliste + deny_list_desc: Niemals mit diesen Peers verbinden + favourites: Favoriten + favourites_desc: Eine Liste der bevorzugten Peers, mit denen eine Verbindung hergestellt werden soll. + ban_window: 'Wie viel Zeit (in Sekunden) ein gesperrter Peer gesperrt bleiben soll:' + ban_window_desc: Die Entscheidung über das Verbot trifft der Knoten auf der Grundlage der Korrektheit der von der Gegenstelle erhaltenen Daten. + max_inbound_count: 'Maximale Anzahl der eingehenden Peer-Verbindungen:' + max_outbound_count: 'Maximale Anzahl von ausgehenden Peer-Verbindungen:' + min_outbound_count: 'Mindestanzahl von ausgehenden Peer-Verbindungen:' + min_outbound_desc: Der Node-Server wird aktiv versuchen, weitere Peers hinzuzufügen, bis er mindestens diese Anzahl erreicht hat. +modal: + cancel: Abbrechen + save: Speichern + confirmation: Bestätigung + add: Hinzufügen +modal_exit: + description: Sind Sie sicher, dass Sie die Anwendung beenden wollen? + exit: Schließen From 476f8afe169f2b00cc7bb14ba53253e0380f6fe7 Mon Sep 17 00:00:00 2001 From: ardocrat Date: Wed, 1 May 2024 15:25:00 +0300 Subject: [PATCH 2/5] de: add missing translation keys --- locales/de.yml | 39 ++++++++++++++++++++++++++++++++++----- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/locales/de.yml b/locales/de.yml index 0f149b1..143a4ed 100644 --- a/locales/de.yml +++ b/locales/de.yml @@ -1,3 +1,4 @@ +lang_name: copy: Kopieren paste: Einfügen continue: Weiter @@ -10,6 +11,13 @@ show: Zeigen delete: Löschen clear: Clear create: Erstellen +id: +kernel: +settings: +language: +scan: +qr_code: +repeat: wallets: await_conf_amount: Erwarte Bestätigung await_fin_amount: Warten auf die Fertigstellung @@ -49,12 +57,12 @@ wallets: closing: Schließen checking: Überprüfung default_wallet: Standard-Wallet + new_account_desc: wallet_loading: Wallet wird geladen wallet_closing: Wallet schließen wallet_checking: Wallet prüfen tx_loading: Laden von Transaktionen default_account: Standardaccount - create_account: Account erstellen accounts: Accounts tx_sent: Gesendet tx_received: Erhalten @@ -65,18 +73,22 @@ wallets: tx_canceled: Abgebrochen tx_confirmed: Bestätigt txs: Transaktionen + tx: messages: Nachrichten transport: Transport + input_finalize_desc: input_slatepack_desc: 'Geben Sie eine Nachricht ein, um eine Antwort zu erstellen oder die Transaktion abzuschließen:' - send_slatepack_desc: 'Senden Sie eine Nachricht an den Empfänger, um die Transaktion abzuschließen:' parse_slatepack_err: 'Bei der Verarbeitung der Nachricht ist ein Fehler aufgetreten. Überprüfen Sie die Eingabedaten:' pay_balance_error: 'Der Kontostand reicht nicht aus, um %{amount} ツ und die Netzwerkgebühr zu bezahlen.' parse_i1_slatepack_desc: 'Um %{amount} zu zahlen, senden Sie diese Nachricht an den Empfänger:' parse_i2_slatepack_desc: 'Schließen Sie die Transaktion ab, um %{amount} ツ zu erhalten' + parse_i3_slatepack_desc: parse_s1_slatepack_desc: 'Um %{amount} zu erhalten, senden Sie diese Nachricht an den Absender:' parse_s2_slatepack_desc: 'Schließen Sie die Transaktion ab, um %{amount} ツ zu senden' - response_slatepack_err: 'Beim Erstellen der Antwort ist ein Fehler aufgetreten. Überprüfen Sie die Eingabedaten:' - response_exists_err: 'Eine solche Transaktion existiert bereits:' + parse_s3_slatepack_desc: + resp_slatepack_err: 'Beim Erstellen der Antwort ist ein Fehler aufgetreten. Überprüfen Sie die Eingabedaten:' + resp_exists_err: 'Eine solche Transaktion existiert bereits:' + resp_canceled_err: create_request_desc: 'Erstellen Sie eine Anfrage zum Senden oder Empfangen der Gelder:' send_request_desc: 'Sie haben eine Anfrage zum Senden von %{amount} ツ erstellt. Senden Sie diese Nachricht an den Empfänger:' send_slatepack_err: Beim Erstellen der Anfrage zum Senden von Geldern ist ein Fehler aufgetreten. Überprüfen Sie die Eingabedaten. @@ -100,9 +112,25 @@ wallets: receive: Empfangen settings: Wallet Einstellungen change_server_confirmation: Um die Änderung der Verbindungseinstellungen zu übernehmen, müssen Sie Ihr Wallet erneut öffnen. Jetzt wieder öffnen? +transport: + desc: + tor_network: + connected: + connecting: + disconnecting: + conn_error: + disconnected: + receiver_address: + incorrect_addr_err: + tor_send_error: + tor_autorun_desc: + tor_sending: + tor_settings: network: self: Netzwerk type: 'Netzwerk Typ:' + mainnet: + testnet: connections: Verbindungen node: Integrierte Node metrics: Metriken @@ -115,6 +143,7 @@ network: available: Verfügbar not_available: Nicht verfügbar availability_check: Verfügbarkeitsprüfung + android_warning: sync_status: node_restarting: Node wird neu gestartet node_down: Node ist ausgefallen @@ -236,4 +265,4 @@ modal: add: Hinzufügen modal_exit: description: Sind Sie sicher, dass Sie die Anwendung beenden wollen? - exit: Schließen + exit: Schließen \ No newline at end of file From e81a826ccba75500086c23327072a89d7d3203a0 Mon Sep 17 00:00:00 2001 From: Max <63856008+Maxnflaxl@users.noreply.github.com> Date: Fri, 28 Jun 2024 16:57:14 +0200 Subject: [PATCH 3/5] Update de.yml add new translations --- locales/de.yml | 98 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 60 insertions(+), 38 deletions(-) diff --git a/locales/de.yml b/locales/de.yml index 143a4ed..9bcabde 100644 --- a/locales/de.yml +++ b/locales/de.yml @@ -1,4 +1,4 @@ -lang_name: +lang_name: Deutsch copy: Kopieren paste: Einfügen continue: Weiter @@ -11,13 +11,21 @@ show: Zeigen delete: Löschen clear: Clear create: Erstellen -id: -kernel: -settings: -language: -scan: -qr_code: -repeat: +id: ID +kernel: Kernel +settings: Einstellungen +language: Sprache +scan: Scannen +qr_code: QR-Code +scan_qr: QR-Code scannen +repeat: wiederholen +scan_result: Scan Ergebnis +back: zurück +share: teilen +theme: 'Theme:' +dark: dunkel +light: hell +choose_file: Datei auswählen wallets: await_conf_amount: Erwarte Bestätigung await_fin_amount: Warten auf die Fertigstellung @@ -57,7 +65,7 @@ wallets: closing: Schließen checking: Überprüfung default_wallet: Standard-Wallet - new_account_desc: + new_account_desc: 'Namen des neuen Accounts eingeben:' wallet_loading: Wallet wird geladen wallet_closing: Wallet schließen wallet_checking: Wallet prüfen @@ -69,26 +77,26 @@ wallets: tx_sending: Senden tx_receiving: Erhalten tx_confirming: Erwarte Bestätigung - tx_cancelling: Abbrechen tx_canceled: Abgebrochen + tx_cancelling: Abbrechen + tx_finalizing: Finalisierung tx_confirmed: Bestätigt txs: Transaktionen - tx: + tx: Transaktion messages: Nachrichten transport: Transport - input_finalize_desc: input_slatepack_desc: 'Geben Sie eine Nachricht ein, um eine Antwort zu erstellen oder die Transaktion abzuschließen:' parse_slatepack_err: 'Bei der Verarbeitung der Nachricht ist ein Fehler aufgetreten. Überprüfen Sie die Eingabedaten:' pay_balance_error: 'Der Kontostand reicht nicht aus, um %{amount} ツ und die Netzwerkgebühr zu bezahlen.' parse_i1_slatepack_desc: 'Um %{amount} zu zahlen, senden Sie diese Nachricht an den Empfänger:' - parse_i2_slatepack_desc: 'Schließen Sie die Transaktion ab, um %{amount} ツ zu erhalten' - parse_i3_slatepack_desc: + parse_i2_slatepack_desc: 'Schließen Sie die Transaktion ab, um %{amount} ツ zu erhalten:' + parse_i3_slatepack_desc: 'Transaktion posten, um den Erhalt von %{amount} abzuschließen ツ:' parse_s1_slatepack_desc: 'Um %{amount} zu erhalten, senden Sie diese Nachricht an den Absender:' - parse_s2_slatepack_desc: 'Schließen Sie die Transaktion ab, um %{amount} ツ zu senden' - parse_s3_slatepack_desc: + parse_s2_slatepack_desc: 'Schließen Sie die Transaktion ab, um %{amount} ツ zu senden:' + parse_s3_slatepack_desc: 'Transaktion posten, um das Senden von %{amount} abzuschließen ツ:' resp_slatepack_err: 'Beim Erstellen der Antwort ist ein Fehler aufgetreten. Überprüfen Sie die Eingabedaten:' - resp_exists_err: 'Eine solche Transaktion existiert bereits:' - resp_canceled_err: + resp_exists_err: 'Eine solche Transaktion existiert bereits.' + resp_canceled_err: 'Eine solche Transaktion wurde schon abgebrochen. create_request_desc: 'Erstellen Sie eine Anfrage zum Senden oder Empfangen der Gelder:' send_request_desc: 'Sie haben eine Anfrage zum Senden von %{amount} ツ erstellt. Senden Sie diese Nachricht an den Empfänger:' send_slatepack_err: Beim Erstellen der Anfrage zum Senden von Geldern ist ein Fehler aufgetreten. Überprüfen Sie die Eingabedaten. @@ -111,26 +119,35 @@ wallets: send: Senden receive: Empfangen settings: Wallet Einstellungen - change_server_confirmation: Um die Änderung der Verbindungseinstellungen zu übernehmen, müssen Sie Ihr Wallet erneut öffnen. Jetzt wieder öffnen? + tx_send_cancel_conf: 'Sind Sie sicher, dass Sie das Senden von %{amount} ツ abbrechen wollen?' + tx_receive_cancel_conf: 'Sind Sie sicher, dass Sie das Empfangen von %{amount} ツ abbrechen wollen?' + rec_phrase_not_found: Wiederhestellungsphrase nicht gefunden. + restore_wallet_desc: Stellen Sie das Wallet wieder her, indem Sie alle Dateien löschen. Wenn die normale Reparatur nicht geholfen hat, müssen Sie Ihr Wallet erneut öffnen. transport: - desc: - tor_network: - connected: - connecting: - disconnecting: - conn_error: - disconnected: - receiver_address: - incorrect_addr_err: - tor_send_error: - tor_autorun_desc: - tor_sending: - tor_settings: + desc: 'Transport verwenden, um Nachrichten synchron zu empfangen oder zu senden:' + tor_network: Tor Netzwek + connected: verbunden + connecting: verbinden + disconnecting: Verbindung trennen + conn_error: Verbindungsproblem + disconnected: Verbindung getrennt + receiver_address: 'Empfängeraddresse:' + incorrect_addr_err: 'Eingegebene Addresse ist inkorrekt:' + tor_send_error: Beim Senden über Tor ist ein Fehler aufgetreten. Stellen Sie sicher, dass der Empfänger online ist. Die Transaktion wurde abgebrochen. + tor_autorun_desc: Gibt an, ob beim Öffnen des Wallets der Tor-Dienst gestartet werden soll, um Transaktionen synchron zu empfangen. + tor_sending: 'Sende %{amount} ツ über Tor' + tor_settings: Tor Einstellungen + bridges: Brücken + bridges_desc: Richten Sie Brücken ein, um die Zensur des Tor-Netzwerks zu umgehen, wenn die normale Verbindung nicht funktioniert. + bin_file: 'Binärdatei:' + conn_line: 'Verbindungsleitung:' + bridges_disabled: Brücken deaktiviert + bridge_name: 'Brücke %{b} network: self: Netzwerk type: 'Netzwerk Typ:' - mainnet: - testnet: + mainnet: Haupt + testnet: Test connections: Verbindungen node: Integrierte Node metrics: Metriken @@ -143,7 +160,7 @@ network: available: Verfügbar not_available: Nicht verfügbar availability_check: Verfügbarkeitsprüfung - android_warning: + android_warning: Achtung an Android-Benutzer. Um integrierte Nodes erfolgreich zu synchronisieren, müssen Sie in den Systemeinstellungen Ihres Telefons den Zugriff auf Benachrichtigungen zulassen und die Beschränkungen für die Akkunutzung für die Grim-Anwendung entfernen. Dies ist ein notwendiger Vorgang, damit die Anwendung im Hintergrund korrekt funktioniert. sync_status: node_restarting: Node wird neu gestartet node_down: Node ist ausgefallen @@ -177,6 +194,11 @@ network_node: data: Daten size: Größe (GB) peers: Peers + error_clean: + resync: Neu synchronisieren + error_p2p_api: 'Während der Initialisierung des %{p2p_api}-Servers ist ein Fehler aufgetreten. Überprüfen Sie die %{p2p_api}-Einstellungen, indem Sie unten auf dem Bildschirm %{settings} auswählen.' + error_config: 'Während der Initialisierung der Konfiguration ist ein Fehler aufgetreten. Überprüfen Sie die Einstellungen, indem Sie unten auf dem Bildschirm %{settings} auswählen.' + error_unknown: 'Während der Initialisierung ist ein Fehler aufgetreten. Überprüfen Sie die integrierten Knoteneinstellungen, indem Sie unten auf dem Bildschirm %{settings} auswählen oder erneut synchronisieren.' network_metrics: loading: Metriken werden nach der Synchronisierung verfügbar sein emission: Emission @@ -256,8 +278,8 @@ network_settings: ban_window_desc: Die Entscheidung über das Verbot trifft der Knoten auf der Grundlage der Korrektheit der von der Gegenstelle erhaltenen Daten. max_inbound_count: 'Maximale Anzahl der eingehenden Peer-Verbindungen:' max_outbound_count: 'Maximale Anzahl von ausgehenden Peer-Verbindungen:' - min_outbound_count: 'Mindestanzahl von ausgehenden Peer-Verbindungen:' - min_outbound_desc: Der Node-Server wird aktiv versuchen, weitere Peers hinzuzufügen, bis er mindestens diese Anzahl erreicht hat. + reset_peers_desc: + reset_peers: modal: cancel: Abbrechen save: Speichern @@ -265,4 +287,4 @@ modal: add: Hinzufügen modal_exit: description: Sind Sie sicher, dass Sie die Anwendung beenden wollen? - exit: Schließen \ No newline at end of file + exit: Schließen From b4f8bbb2c908aa2d62ad037a8f55fe27d1009db4 Mon Sep 17 00:00:00 2001 From: Max <63856008+Maxnflaxl@users.noreply.github.com> Date: Fri, 28 Jun 2024 17:11:18 +0200 Subject: [PATCH 4/5] Update de.yml add missed translations --- locales/de.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/locales/de.yml b/locales/de.yml index 9bcabde..99b54e9 100644 --- a/locales/de.yml +++ b/locales/de.yml @@ -278,8 +278,8 @@ network_settings: ban_window_desc: Die Entscheidung über das Verbot trifft der Knoten auf der Grundlage der Korrektheit der von der Gegenstelle erhaltenen Daten. max_inbound_count: 'Maximale Anzahl der eingehenden Peer-Verbindungen:' max_outbound_count: 'Maximale Anzahl von ausgehenden Peer-Verbindungen:' - reset_peers_desc: - reset_peers: + reset_peers_desc: Peer-Daten zurücksetzen. Verwenden Sie diese Funktion nur, wenn es Probleme beim finden von Peers gibt. + reset_peers: Peers zurücksetzten modal: cancel: Abbrechen save: Speichern From 09f7a7954e2bfad874669f26143721e896e9bb3d Mon Sep 17 00:00:00 2001 From: ardocrat Date: Mon, 1 Jul 2024 00:55:46 +0300 Subject: [PATCH 5/5] build: windows installer with wix --- wix/License.rtf | 70 ++++++++++++++++++++++++++++++++++ wix/Product.ico | Bin 0 -> 33172 bytes wix/main.wxs | 98 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 168 insertions(+) create mode 100644 wix/License.rtf create mode 100644 wix/Product.ico create mode 100644 wix/main.wxs diff --git a/wix/License.rtf b/wix/License.rtf new file mode 100644 index 0000000..d0551b4 --- /dev/null +++ b/wix/License.rtf @@ -0,0 +1,70 @@ +{\rtf1\ansi\ansicpg1252\deff0\nouicompat{\fonttbl{\f0\fnil\fcharset0 Arial;}{\f1\fnil\fcharset0 Courier New;}} +{\colortbl ;\red0\green0\blue255;} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\sa180\qc\fs24\lang9 Apache License\line Version 2.0, January 2004\line {{\field{\*\fldinst{HYPERLINK http://www.apache.org/licenses/ }}{\fldrslt{http://www.apache.org/licenses/\ul0\cf0}}}}\f0\fs24\par +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\par + +\pard\fi-360\li360\sa180\tx360 1. Definitions.\par + +\pard\sa180 "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.\par +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.\par +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.\par +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.\par +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.\par +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.\par +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).\par +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.\par +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."\par +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.\par + +\pard\fi-360\li360\sa180\tx360 2. Grant of Copyright License.\par + +\pard\sa180\tx360 Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.\par + +\pard\fi-360\li360\sa180\tx360 3. Grant of Patent License.\par + +\pard\sa180\tx360 Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.\par + +\pard\fi-360\li360\sa180\tx360 4. Redistribution. \par + +\pard\sa180\tx360 You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:\par + +\pard +{\pntext\f0 a.\tab}{\*\pn\pnlvlbody\pnf0\pnindent0\pnstart1\pnlcltr{\pntxta.}} +\fi-360\li720\sa180\tx360 You must give any other recipients of the Work or Derivative Works a copy of this License; and\par +{\pntext\f0 b.\tab}You must cause any modified files to carry prominent notices stating that You changed the files; and\par +{\pntext\f0 c.\tab}You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and \par +{\pntext\f0 d.\tab}If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.\par + +\pard\sa180 You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.\par + +\pard\fi-360\li360\sa180\tx360 5.\tab Submission of Contributions. \par + +\pard\sa180\tx360 Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.\par + +\pard\fi-360\li360\sa180\tx360 6.\tab Trademarks. \par + +\pard\sa180\tx360 This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.\par + +\pard\fi-360\li360\sa180\tx360 7.\tab Disclaimer of Warranty. \par + +\pard\sa180\tx360 Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.\par + +\pard\fi-360\li360\sa180\tx360 8.\tab Limitation of Liability.\par + +\pard\sa180\tx360 In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.\par + +\pard\fi-360\li360\sa180\tx360 9.\tab Accepting Warranty or Additional Liability. \par + +\pard\sa180\tx360 While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.\par + +\pard\sa180\qc END OF TERMS AND CONDITIONS\par +How to apply the Apache License to your work.\par + +\pard\sa180 To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.\par +\f1 Copyright (C) [YYYY] [Copyright Holder]\par +Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at\par +{{\field{\*\fldinst{HYPERLINK http://www.apache.org/licenses/LICENSE-2.0 }}{\fldrslt{http://www.apache.org/licenses/LICENSE-2.0\ul0\cf0}}}}\f1\fs24\par +Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.\par +} + diff --git a/wix/Product.ico b/wix/Product.ico new file mode 100644 index 0000000000000000000000000000000000000000..b470dc4ec698a08a24f66026a12e95701cda94c6 GIT binary patch literal 33172 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed + + + + + + + + + \ No newline at end of file