diff --git a/apple/VniDrop/Resources/Info.plist b/apple/VniDrop/Resources/Info.plist index e267c3e..5876924 100644 --- a/apple/VniDrop/Resources/Info.plist +++ b/apple/VniDrop/Resources/Info.plist @@ -8,6 +8,7 @@ fr es it + de CADisableMinimumFrameDurationOnPhone diff --git a/apple/VniDrop/Resources/Localizable.xcstrings b/apple/VniDrop/Resources/Localizable.xcstrings index a7d26e5..8986802 100644 --- a/apple/VniDrop/Resources/Localizable.xcstrings +++ b/apple/VniDrop/Resources/Localizable.xcstrings @@ -9,6 +9,12 @@ "comment": "Apple format template composing three values with a middot separator (e.g. metadata rows). Legacy literal key — rename.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "%1$@ %2$@ · %3$@" + } + }, "en": { "stringUnit": { "state": "translated", @@ -39,6 +45,12 @@ "comment": "Apple format template composing two values with a middot separator. Legacy literal key — rename.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "%1$@ · %2$@" + } + }, "en": { "stringUnit": { "state": "translated", @@ -73,6 +85,12 @@ "comment": "About screen: button/link that opens the bug report form.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Fehler melden" + } + }, "en": { "stringUnit": { "state": "translated", @@ -103,6 +121,12 @@ "comment": "About screen: intro paragraph describing what VniDrop does.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "VniDrop überträgt Dateien und Ordner direkt von einem Gerät auf ein anderes über das Netzwerk, ohne sie auf einen Hosting-Dienst hochzuladen. Es muss kein Konto erstellt werden, und nach Abschluss verbleibt keine Kopie Ihrer Übertragung in der Cloud." + } + }, "en": { "stringUnit": { "state": "translated", @@ -133,6 +157,12 @@ "comment": "About screen, 'What VniDrop is' list: point about direct device-to-device transfer.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Eine direkte Gerät-zu-Gerät-Übertragung – Ihre Dateien gehen direkt an den Empfänger." + } + }, "en": { "stringUnit": { "state": "translated", @@ -163,6 +193,12 @@ "comment": "About screen, 'What VniDrop is' list: point about encrypted, verified connections.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Verbindungen sind authentifiziert und Ende-zu-Ende-verschlüsselt (über Iroh), und eingehende Dateien werden anhand ihres Inhalts-Hashs überprüft." + } + }, "en": { "stringUnit": { "state": "translated", @@ -193,6 +229,12 @@ "comment": "About screen, 'What VniDrop is' list: point about controlling who receives.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Sie entscheiden, wer empfängt: Genehmigen Sie jede Anfrage oder öffnen Sie eine Übertragung für alle, die die Einladung besitzen." + } + }, "en": { "stringUnit": { "state": "translated", @@ -223,6 +265,12 @@ "comment": "About screen, 'What VniDrop is' list: point about being account-free.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Ohne Konto – es gibt nichts zu registrieren." + } + }, "en": { "stringUnit": { "state": "translated", @@ -253,6 +301,12 @@ "comment": "About screen, 'What VniDrop is' list: point about being open source.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Open Source, veröffentlicht unter der Apache-2.0-Lizenz." + } + }, "en": { "stringUnit": { "state": "translated", @@ -283,6 +337,12 @@ "comment": "About screen: section heading for the 'What VniDrop is' list.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Was VniDrop ist" + } + }, "en": { "stringUnit": { "state": "translated", @@ -313,6 +373,12 @@ "comment": "About screen, 'What VniDrop isn't' list: point about not being cloud storage.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Kein Cloud-Speicher – kein Server hält Ihre Dateien, und nach einer Übertragung wartet nichts in der Cloud." + } + }, "en": { "stringUnit": { "state": "translated", @@ -343,6 +409,12 @@ "comment": "About screen, 'What VniDrop isn't' list: point about invitations not being public broadcasts.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Keine öffentliche Übertragung – eine Einladung ist ein privater Zugangslink, keine Ankündigung an alle in der Nähe." + } + }, "en": { "stringUnit": { "state": "translated", @@ -373,6 +445,12 @@ "comment": "About screen, 'What VniDrop isn't' list: point about not being sync/backup.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Kein Synchronisierungs- oder Backup-Dienst." + } + }, "en": { "stringUnit": { "state": "translated", @@ -403,6 +481,12 @@ "comment": "About screen: section heading for the 'What VniDrop isn't' list.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Was VniDrop nicht ist" + } + }, "en": { "stringUnit": { "state": "translated", @@ -433,6 +517,12 @@ "comment": "About screen: label for the license row.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Lizenz" + } + }, "en": { "stringUnit": { "state": "translated", @@ -463,6 +553,12 @@ "comment": "About screen: link to the privacy policy.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Datenschutzrichtlinie" + } + }, "en": { "stringUnit": { "state": "translated", @@ -493,6 +589,12 @@ "comment": "About screen, Privacy & security list: point that invitations are capabilities to share carefully.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Einladungen sind Zugangsschlüssel. Behandeln Sie einen QR-Code, ein NFC-Tag oder eine .vnd-Datei wie einen privaten Zugangslink und teilen Sie ihn nur mit den vorgesehenen Personen – insbesondere bei „Jeder mit dieser Übertragung“." + } + }, "en": { "stringUnit": { "state": "translated", @@ -523,6 +625,12 @@ "comment": "About screen, Privacy & security list: point about denying unknown requests by default.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Standardmäßig ablehnen – VniDrop stellt nur den Inhalt einer aktiven Freigabe bereit und weist unbekannte Anfragen ab." + } + }, "en": { "stringUnit": { "state": "translated", @@ -553,6 +661,12 @@ "comment": "About screen, Privacy & security list: point about received files staying local and never overwriting.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Empfangene Dateien werden auf Ihrem Gerät gespeichert und überschreiben niemals eine vorhandene Datei." + } + }, "en": { "stringUnit": { "state": "translated", @@ -583,6 +697,12 @@ "comment": "About screen: label for the privacy policy row.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Datenschutzrichtlinie" + } + }, "en": { "stringUnit": { "state": "translated", @@ -613,6 +733,12 @@ "comment": "About screen, Privacy & security list: point explaining encrypted relays.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Wenn zwei Geräte sich nicht direkt verbinden können, kann die verschlüsselte Verbindung weitergeleitet werden. Relays leiten nur verschlüsselte Pakete weiter; sie speichern niemals Ihre Dateien." + } + }, "en": { "stringUnit": { "state": "translated", @@ -643,6 +769,12 @@ "comment": "About screen: section heading for the Privacy & security list.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Datenschutz & Sicherheit" + } + }, "en": { "stringUnit": { "state": "translated", @@ -673,6 +805,12 @@ "comment": "About screen: short tagline under the app name.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Senden Sie Dateien direkt. Behalten Sie die Kontrolle darüber, wer sie empfängt." + } + }, "en": { "stringUnit": { "state": "translated", @@ -703,6 +841,12 @@ "comment": "About screen: navigation/screen title.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Über" + } + }, "en": { "stringUnit": { "state": "translated", @@ -733,6 +877,12 @@ "comment": "Settings > Appearance: description for the System/auto option.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Der hellen oder dunklen Darstellung dieses Geräts folgen." + } + }, "en": { "stringUnit": { "state": "translated", @@ -763,6 +913,12 @@ "comment": "Settings > Appearance: label for the dark theme option.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Dunkelmodus" + } + }, "en": { "stringUnit": { "state": "translated", @@ -793,6 +949,12 @@ "comment": "Settings > Appearance: label for the light theme option.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Hellmodus" + } + }, "en": { "stringUnit": { "state": "translated", @@ -823,6 +985,12 @@ "comment": "Settings > Appearance: label for the follow-system option.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "System" + } + }, "en": { "stringUnit": { "state": "translated", @@ -853,6 +1021,12 @@ "comment": "Settings > Appearance: section title.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Darstellung" + } + }, "en": { "stringUnit": { "state": "translated", @@ -883,6 +1057,12 @@ "comment": "Approval prompt: title when a receiver requests to download a transfer.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Empfangsanfrage" + } + }, "en": { "stringUnit": { "state": "translated", @@ -913,6 +1093,12 @@ "comment": "Approval prompt: shows the requesting device's ID. {arg1} = device/endpoint identifier.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Geräte-ID: %1$@" + } + }, "en": { "stringUnit": { "state": "translated", @@ -943,6 +1129,12 @@ "comment": "Approval prompt: fallback label for a requester with no display name.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Ein Gerät in der Nähe" + } + }, "en": { "stringUnit": { "state": "translated", @@ -973,6 +1165,12 @@ "comment": "Send/transfer list: badge showing how many receive requests are awaiting approval. {count} = pending requests.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "%1$d Anfragen warten" + } + }, "en": { "stringUnit": { "state": "translated", @@ -1003,6 +1201,12 @@ "comment": "Approval prompt body: '{arg1} wants to receive \"{arg2}\".' {arg1} = requester name, {arg2} = transfer name.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "%1$@ möchte „%2$@“ empfangen." + } + }, "en": { "stringUnit": { "state": "translated", @@ -1033,6 +1237,12 @@ "comment": "Device information row: battery level label.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Batteriestand" + } + }, "en": { "stringUnit": { "state": "translated", @@ -1063,6 +1273,12 @@ "comment": "Bug report form: placeholder text in the contact email field.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "name@beispiel.com" + } + }, "en": { "stringUnit": { "state": "translated", @@ -1093,6 +1309,12 @@ "comment": "Bug report form: label for the optional contact email field.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Kontakt-E-Mail (optional)" + } + }, "en": { "stringUnit": { "state": "translated", @@ -1123,6 +1345,12 @@ "comment": "Bug report form: intro text explaining what gets attached.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Sagen Sie uns, was schiefgelaufen ist. Wir hängen Geräteinformationen und optional aktuelle Protokolle an (sensible Werte werden geschwärzt)." + } + }, "en": { "stringUnit": { "state": "translated", @@ -1153,6 +1381,12 @@ "comment": "Bug report form: heading for the attached device information section.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Geräteinformationen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -1183,6 +1417,12 @@ "comment": "Bug report form: placeholder in the 'what did you expect' field.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Beschreiben Sie, was Sie erwartet haben" + } + }, "en": { "stringUnit": { "state": "translated", @@ -1213,6 +1453,12 @@ "comment": "Bug report form: label for the expected-behavior field.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Was haben Sie erwartet?" + } + }, "en": { "stringUnit": { "state": "translated", @@ -1243,6 +1489,12 @@ "comment": "Bug report form: toggle label to attach recent logs.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Aktuelle Protokolle einschließen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -1273,6 +1525,12 @@ "comment": "Bug report form: explanation under the include-logs toggle.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Hilft uns, das Problem zu diagnostizieren. Sensible Werte werden vor dem Senden geschwärzt." + } + }, "en": { "stringUnit": { "state": "translated", @@ -1303,6 +1561,12 @@ "comment": "Bug report form: label showing the size of the log attachment.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Größe des Protokollanhangs" + } + }, "en": { "stringUnit": { "state": "translated", @@ -1333,6 +1597,12 @@ "comment": "Bug report form: validation error when the expected-behavior field is empty.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Bitte beschreiben Sie, was Sie erwartet haben." + } + }, "en": { "stringUnit": { "state": "translated", @@ -1363,6 +1633,12 @@ "comment": "Bug report form: validation error when the what-happened field is empty.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Bitte beschreiben Sie, was passiert ist." + } + }, "en": { "stringUnit": { "state": "translated", @@ -1393,6 +1669,12 @@ "comment": "Bug report form: placeholder in the steps-to-reproduce field.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Listen Sie die Schritte zum Reproduzieren des Problems auf" + } + }, "en": { "stringUnit": { "state": "translated", @@ -1423,6 +1705,12 @@ "comment": "Bug report form: label for the optional steps-to-reproduce field.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Schritte zum Reproduzieren (optional)" + } + }, "en": { "stringUnit": { "state": "translated", @@ -1453,6 +1741,12 @@ "comment": "Bug report form: submit button.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Bericht senden" + } + }, "en": { "stringUnit": { "state": "translated", @@ -1483,6 +1777,12 @@ "comment": "Bug report form: error message when submission fails.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Der Fehlerbericht konnte nicht gesendet werden. Bitte versuchen Sie es später erneut." + } + }, "en": { "stringUnit": { "state": "translated", @@ -1513,6 +1813,12 @@ "comment": "Bug report form: confirmation message after a successful submission.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Danke – Ihr Fehlerbericht wurde erfasst." + } + }, "en": { "stringUnit": { "state": "translated", @@ -1543,6 +1849,12 @@ "comment": "Bug report form: progress label while the report is being sent.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Wird gesendet…" + } + }, "en": { "stringUnit": { "state": "translated", @@ -1573,6 +1885,12 @@ "comment": "Bug report form: placeholder in the what-happened field.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Beschreiben Sie, was passiert ist" + } + }, "en": { "stringUnit": { "state": "translated", @@ -1603,6 +1921,12 @@ "comment": "Bug report form: label for the what-happened field.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Was ist passiert?" + } + }, "en": { "stringUnit": { "state": "translated", @@ -1633,6 +1957,12 @@ "comment": "Button: approve a receiver's request.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Genehmigen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -1663,6 +1993,12 @@ "comment": "Button: go back to the previous step/screen.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Zurück" + } + }, "en": { "stringUnit": { "state": "translated", @@ -1693,6 +2029,12 @@ "comment": "Button: cancel the current action or dialog.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Abbrechen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -1723,6 +2065,12 @@ "comment": "Button: cancel an in-progress receive.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Abbrechen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -1753,6 +2101,12 @@ "comment": "Button: change the selected files in the send flow.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Dateien ändern" + } + }, "en": { "stringUnit": { "state": "translated", @@ -1783,6 +2137,12 @@ "comment": "Button: open the file picker to choose files to send.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Dateien auswählen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -1813,6 +2173,12 @@ "comment": "Button: open the folder picker (send selection or receive folder).", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Ordner auswählen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -1843,6 +2209,12 @@ "comment": "Button: clear the current input or selection.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Löschen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -1873,6 +2245,12 @@ "comment": "Button: close the current sheet/dialog.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Schließen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -1903,6 +2281,12 @@ "comment": "Button: start creating a new transfer (Send tab).", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Neue Übertragung" + } + }, "en": { "stringUnit": { "state": "translated", @@ -1933,6 +2317,12 @@ "comment": "Button: delete a transfer.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Übertragung löschen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -1963,6 +2353,12 @@ "comment": "Button: save the invitation as a .vnd file.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": ".vnd-Datei sichern" + } + }, "en": { "stringUnit": { "state": "translated", @@ -1993,6 +2389,12 @@ "comment": "Button: open the OS share sheet to share the invitation.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Einladung teilen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -2023,6 +2425,12 @@ "comment": "Button: open the OS Settings app (e.g. for permissions).", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Einstellungen öffnen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -2053,6 +2461,12 @@ "comment": "Button: receive label (Receive action).", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Empfangen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -2083,6 +2497,12 @@ "comment": "Button: start receiving a transfer.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Empfang starten" + } + }, "en": { "stringUnit": { "state": "translated", @@ -2113,6 +2533,12 @@ "comment": "Button: refuse a receiver's request.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Ablehnen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -2143,6 +2569,12 @@ "comment": "Button: remove a single file from the send selection.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Datei entfernen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -2173,6 +2605,12 @@ "comment": "Button: reset a setting to its default value.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Standard verwenden" + } + }, "en": { "stringUnit": { "state": "translated", @@ -2203,6 +2641,12 @@ "comment": "Button: retry after a failed operation.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Wiederholen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -2233,6 +2677,12 @@ "comment": "Button: start sharing the transfer (make it available).", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Freigabe starten" + } + }, "en": { "stringUnit": { "state": "translated", @@ -2263,6 +2713,12 @@ "comment": "Button: disabled/loading state while the transfer is being prepared.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Übertragung wird vorbereitet…" + } + }, "en": { "stringUnit": { "state": "translated", @@ -2293,6 +2749,12 @@ "comment": "Button: reveal a received file in the Files app.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "In „Dateien“ anzeigen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -2323,6 +2785,12 @@ "comment": "Button: write the invitation to an NFC tag.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Auf NFC-Tag schreiben" + } + }, "en": { "stringUnit": { "state": "translated", @@ -2353,6 +2821,12 @@ "comment": "Device information row: device model label.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Gerätemodell" + } + }, "en": { "stringUnit": { "state": "translated", @@ -2383,6 +2857,12 @@ "comment": "Device information row: device name label.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Gerätename" + } + }, "en": { "stringUnit": { "state": "translated", @@ -2413,6 +2893,12 @@ "comment": "Settings > Diagnostics: explanation of what anonymous diagnostics collect.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Anonyme Absturzberichte und Nutzungsereignisse senden, damit wir VniDrop verbessern können. Sie können dies jederzeit deaktivieren. Einladungen, Dateipfade und Übertragungsinhalte werden niemals einbezogen." + } + }, "en": { "stringUnit": { "state": "translated", @@ -2443,6 +2929,12 @@ "comment": "Settings > Diagnostics: confirmation shown when diagnostics are turned off.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Die Freigabe von Diagnosedaten ist deaktiviert." + } + }, "en": { "stringUnit": { "state": "translated", @@ -2473,6 +2965,12 @@ "comment": "Settings > Diagnostics: confirmation shown when diagnostics are turned on.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Die Freigabe von Diagnosedaten ist aktiviert." + } + }, "en": { "stringUnit": { "state": "translated", @@ -2503,6 +3001,12 @@ "comment": "Settings > Diagnostics: toggle title.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Diagnosedaten teilen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -2533,6 +3037,12 @@ "comment": "Error: camera permission is needed to scan a QR code.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Für das Scannen eines QR-Codes ist Kamerazugriff erforderlich." + } + }, "en": { "stringUnit": { "state": "translated", @@ -2563,6 +3073,12 @@ "comment": "Error: device information could not be loaded.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Geräteinformationen konnten nicht geladen werden." + } + }, "en": { "stringUnit": { "state": "translated", @@ -2593,6 +3109,12 @@ "comment": "Error: the selected files/folder could not be accessed.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "VniDrop konnte nicht auf die ausgewählten Dateien oder den Ordner zugreifen. Überprüfen Sie die Berechtigungen und versuchen Sie es erneut." + } + }, "en": { "stringUnit": { "state": "translated", @@ -2623,6 +3145,12 @@ "comment": "Error: generic fallback message.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Etwas ist schiefgelaufen. Versuchen Sie es erneut." + } + }, "en": { "stringUnit": { "state": "translated", @@ -2653,6 +3181,12 @@ "comment": "Error: the app failed to finish starting up.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "VniDrop konnte den Start nicht abschließen. Schließen Sie die App und versuchen Sie es erneut." + } + }, "en": { "stringUnit": { "state": "translated", @@ -2683,6 +3217,12 @@ "comment": "Error: the invitation/ticket could not be parsed.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Diese Einladung konnte nicht gelesen werden. Bitten Sie den Absender um eine neue." + } + }, "en": { "stringUnit": { "state": "translated", @@ -2713,6 +3253,12 @@ "comment": "Error: the opened invitation contained no data.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Diese Einladung ist leer. Versuchen Sie, sie erneut zu öffnen." + } + }, "en": { "stringUnit": { "state": "translated", @@ -2743,6 +3289,12 @@ "comment": "Error: the native library is missing from the build.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Die native VniDrop-Bibliothek fehlt in diesem Build." + } + }, "en": { "stringUnit": { "state": "translated", @@ -2773,6 +3325,12 @@ "comment": "Error: the NFC tag could not be read/used.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Dieses NFC-Tag konnte nicht verwendet werden. Versuchen Sie ein anderes." + } + }, "en": { "stringUnit": { "state": "translated", @@ -2803,6 +3361,12 @@ "comment": "Error: the transfer was not approved or was refused by the sender.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Der Absender hat diese Übertragung nicht genehmigt oder sie wurde abgelehnt." + } + }, "en": { "stringUnit": { "state": "translated", @@ -2833,6 +3397,12 @@ "comment": "Error: transfer data could not be saved locally.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "VniDrop konnte die Übertragungsdaten auf diesem Gerät nicht speichern." + } + }, "en": { "stringUnit": { "state": "translated", @@ -2863,6 +3433,12 @@ "comment": "Error: the selected item could not be opened.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Das ausgewählte Objekt konnte nicht geöffnet werden. Versuchen Sie, es erneut auszuwählen." + } + }, "en": { "stringUnit": { "state": "translated", @@ -2893,6 +3469,12 @@ "comment": "Error: attempted to share with nothing selected.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Wählen Sie mindestens ein Objekt zum Teilen aus." + } + }, "en": { "stringUnit": { "state": "translated", @@ -2923,6 +3505,12 @@ "comment": "Error: the app could not open its network sockets.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "VniDrop konnte seine Netzwerk-Sockets auf diesem Gerät nicht öffnen." + } + }, "en": { "stringUnit": { "state": "translated", @@ -2953,6 +3541,12 @@ "comment": "Error: an invitation was opened before startup finished.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "VniDrop startet noch. Öffnen Sie die Einladung gleich erneut." + } + }, "en": { "stringUnit": { "state": "translated", @@ -2983,6 +3577,12 @@ "comment": "Error: the transfer could not be completed.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Die Übertragung konnte nicht abgeschlossen werden. Überprüfen Sie Ihre Verbindung und versuchen Sie es erneut." + } + }, "en": { "stringUnit": { "state": "translated", @@ -3013,6 +3613,12 @@ "comment": "Text field label: the receiver's display name.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Empfängername" + } + }, "en": { "stringUnit": { "state": "translated", @@ -3043,6 +3649,12 @@ "comment": "Text field label: the sender's display name.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Absendername" + } + }, "en": { "stringUnit": { "state": "translated", @@ -3073,6 +3685,12 @@ "comment": "Text field label: the name given to a transfer.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Übertragungsname" + } + }, "en": { "stringUnit": { "state": "translated", @@ -3103,6 +3721,12 @@ "comment": "Settings text field label: this device's display name.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Anzeigename" + } + }, "en": { "stringUnit": { "state": "translated", @@ -3133,6 +3757,12 @@ "comment": "Receive-folder status: permission is required to write to the chosen folder.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Berechtigung erforderlich" + } + }, "en": { "stringUnit": { "state": "translated", @@ -3163,6 +3793,12 @@ "comment": "Receive-folder status: the chosen folder is unavailable.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Nicht verfügbar" + } + }, "en": { "stringUnit": { "state": "translated", @@ -3193,6 +3829,12 @@ "comment": "Receive-folder status: the folder is being checked.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Ordner wird geprüft…" + } + }, "en": { "stringUnit": { "state": "translated", @@ -3223,6 +3865,12 @@ "comment": "Receive-folder status: the folder is valid and writable.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Bereit" + } + }, "en": { "stringUnit": { "state": "translated", @@ -3253,6 +3901,12 @@ "comment": "Transfer metadata label: number of files.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Dateien" + } + }, "en": { "stringUnit": { "state": "translated", @@ -3283,6 +3937,12 @@ "comment": "Transfer metadata label: total size.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Größe" + } + }, "en": { "stringUnit": { "state": "translated", @@ -3313,6 +3973,12 @@ "comment": "Transfer metadata label: current status.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Status" + } + }, "en": { "stringUnit": { "state": "translated", @@ -3343,6 +4009,12 @@ "comment": "Bottom navigation: Receive tab label.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Empfangen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -3373,6 +4045,12 @@ "comment": "Bottom navigation: Send tab label.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Senden" + } + }, "en": { "stringUnit": { "state": "translated", @@ -3403,6 +4081,12 @@ "comment": "Bottom navigation: Settings tab label.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Einstellungen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -3433,6 +4117,12 @@ "comment": "Device information row: network label.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Netzwerk" + } + }, "en": { "stringUnit": { "state": "translated", @@ -3463,6 +4153,12 @@ "comment": "Settings > Notifications: explanation of what notifications are used for.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Werden Sie über neue Empfangsanfragen benachrichtigt, während VniDrop im Hintergrund läuft." + } + }, "en": { "stringUnit": { "state": "translated", @@ -3493,6 +4189,12 @@ "comment": "Settings > Notifications: confirmation when notifications are enabled.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Mitteilungen aktiviert." + } + }, "en": { "stringUnit": { "state": "translated", @@ -3523,6 +4225,12 @@ "comment": "Settings > Notifications: label for the allow-notifications action.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Mitteilungen erlauben" + } + }, "en": { "stringUnit": { "state": "translated", @@ -3553,6 +4261,12 @@ "comment": "Settings > Notifications: message when the OS permission is denied.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Mitteilungen sind für VniDrop deaktiviert. Sie können sie in den Einstellungen aktivieren." + } + }, "en": { "stringUnit": { "state": "translated", @@ -3583,6 +4297,12 @@ "comment": "Settings > Notifications: error when the OS notification settings can't be opened.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Die Mitteilungseinstellungen konnten nicht geöffnet werden." + } + }, "en": { "stringUnit": { "state": "translated", @@ -3613,6 +4333,12 @@ "comment": "Settings > Notifications: section title.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Mitteilungen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -3643,6 +4369,12 @@ "comment": "Settings > Notifications: message when notifications aren't supported on the device.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Mitteilungen sind auf diesem Gerät nicht verfügbar." + } + }, "en": { "stringUnit": { "state": "translated", @@ -3673,6 +4405,12 @@ "comment": "Device information row: operating system version label.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Betriebssystem" + } + }, "en": { "stringUnit": { "state": "translated", @@ -3703,6 +4441,12 @@ "comment": "Settings > Preferences: label for the received-files destination folder.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Empfangene Übertragungen sichern in" + } + }, "en": { "stringUnit": { "state": "translated", @@ -3733,6 +4477,12 @@ "comment": "Settings > Preferences: section title.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Voreinstellungen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -3763,6 +4513,12 @@ "comment": "Transfer progress label: cancelled.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Abgebrochen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -3793,6 +4549,12 @@ "comment": "Transfer progress label: completed.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Abgeschlossen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -3823,6 +4585,12 @@ "comment": "Transfer progress label: connected.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Verbunden" + } + }, "en": { "stringUnit": { "state": "translated", @@ -3853,6 +4621,12 @@ "comment": "Transfer progress label: connecting.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Verbinden" + } + }, "en": { "stringUnit": { "state": "translated", @@ -3883,6 +4657,12 @@ "comment": "Transfer progress label: downloading.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Wird geladen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -3913,6 +4693,12 @@ "comment": "Transfer progress label: failed.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Fehlgeschlagen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -3943,6 +4729,12 @@ "comment": "Transfer progress label: getting ready.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Wird bereitgemacht" + } + }, "en": { "stringUnit": { "state": "translated", @@ -3973,6 +4765,12 @@ "comment": "Transfer progress label: the transfer was interrupted.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Übertragung unterbrochen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -4003,6 +4801,12 @@ "comment": "Transfer progress label: preparing.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Wird vorbereitet" + } + }, "en": { "stringUnit": { "state": "translated", @@ -4033,6 +4837,12 @@ "comment": "Transfer progress label: ready.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Bereit" + } + }, "en": { "stringUnit": { "state": "translated", @@ -4063,6 +4873,12 @@ "comment": "Transfer progress label: receiving.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Wird empfangen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -4093,6 +4909,12 @@ "comment": "Transfer progress label: requesting access from the sender.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Zugriff wird angefragt" + } + }, "en": { "stringUnit": { "state": "translated", @@ -4123,6 +4945,12 @@ "comment": "Transfer progress label: saving received files.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Wird gesichert" + } + }, "en": { "stringUnit": { "state": "translated", @@ -4153,6 +4981,12 @@ "comment": "Transfer progress label: sending.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Wird gesendet" + } + }, "en": { "stringUnit": { "state": "translated", @@ -4183,6 +5017,12 @@ "comment": "Transfer progress label: sending to N receivers. %lld = receiver count.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Senden an %1$d" + } + }, "en": { "stringUnit": { "state": "translated", @@ -4213,6 +5053,12 @@ "comment": "Transfer progress label: the share is ready.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Bereit zum Teilen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -4243,6 +5089,12 @@ "comment": "Transfer progress label: generic working/in-progress state.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Wird bearbeitet…" + } + }, "en": { "stringUnit": { "state": "translated", @@ -4273,6 +5125,12 @@ "comment": "Receive flow: body text prompting the user to pick an invitation method.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Wählen Sie die Ihnen zur Verfügung stehende Einladungsmethode." + } + }, "en": { "stringUnit": { "state": "translated", @@ -4303,6 +5161,12 @@ "comment": "Receive flow: title of the connect-method chooser.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Wie möchten Sie sich verbinden?" + } + }, "en": { "stringUnit": { "state": "translated", @@ -4333,6 +5197,12 @@ "comment": "Receive history: action to clear all history.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Verlauf löschen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -4363,6 +5233,12 @@ "comment": "Receive history: confirmation dialog body for clearing all history.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Alle abgeschlossenen, fehlgeschlagenen und abgebrochenen Empfänge werden aus dem Verlauf von VniDrop entfernt. Heruntergeladene Dateien verbleiben auf diesem Gerät." + } + }, "en": { "stringUnit": { "state": "translated", @@ -4393,6 +5269,12 @@ "comment": "Receive history: confirmation dialog title for clearing all history.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Empfangsverlauf löschen?" + } + }, "en": { "stringUnit": { "state": "translated", @@ -4423,6 +5305,12 @@ "comment": "Receive flow: toast/message when a transfer finishes downloading.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Übertragung empfangen." + } + }, "en": { "stringUnit": { "state": "translated", @@ -4453,6 +5341,12 @@ "comment": "Receive history: confirmation body for removing one item. {arg1} = transfer name.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "„%1$@“ wird aus dem Verlauf von VniDrop entfernt. Die heruntergeladene Datei verbleibt auf diesem Gerät." + } + }, "en": { "stringUnit": { "state": "translated", @@ -4483,6 +5377,12 @@ "comment": "Receive history: swipe/menu action to delete a single history item.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Aus Empfangsverlauf löschen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -4513,6 +5413,12 @@ "comment": "Receive history: confirmation title for removing one item.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Aus dem Verlauf entfernen?" + } + }, "en": { "stringUnit": { "state": "translated", @@ -4543,6 +5449,12 @@ "comment": "Receive tab empty state: instructions on how to receive.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Öffnen Sie eine VniDrop-Einladung, scannen Sie einen QR-Code oder halten Sie das Gerät an ein NFC-Tag." + } + }, "en": { "stringUnit": { "state": "translated", @@ -4573,6 +5485,12 @@ "comment": "Receive tab empty state: title when nothing has been received.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Noch nichts empfangen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -4603,6 +5521,12 @@ "comment": "Receive history: toast confirming history was cleared.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Empfangsverlauf gelöscht." + } + }, "en": { "stringUnit": { "state": "translated", @@ -4633,6 +5557,12 @@ "comment": "Receive tab: History section title.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Verlauf" + } + }, "en": { "stringUnit": { "state": "translated", @@ -4663,6 +5593,12 @@ "comment": "Receive method: open a .vnd invitation file.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Eine .vnd-Einladung öffnen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -4693,6 +5629,12 @@ "comment": "Receive method description: open a saved/shared invitation file.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Wählen Sie eine auf diesem Gerät gespeicherte oder geteilte Einladung." + } + }, "en": { "stringUnit": { "state": "translated", @@ -4723,6 +5665,12 @@ "comment": "Receive method: read an NFC tag.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "NFC-Tag lesen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -4753,6 +5701,12 @@ "comment": "Receive method description: hold near the sender's NFC tag.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Halten Sie dieses Gerät an das Einladungs-Tag des Absenders." + } + }, "en": { "stringUnit": { "state": "translated", @@ -4783,6 +5737,12 @@ "comment": "Receive method: scan a QR code.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "QR-Code scannen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -4813,6 +5773,12 @@ "comment": "Receive method description: use the camera to scan the sender's code.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Verwenden Sie die Kamera, um den VniDrop-Code des Absenders zu scannen." + } + }, "en": { "stringUnit": { "state": "translated", @@ -4843,6 +5809,12 @@ "comment": "Receive tab: subtitle under the title.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Übertragungen, die Sie auf diesem Gerät empfangen haben." + } + }, "en": { "stringUnit": { "state": "translated", @@ -4873,6 +5845,12 @@ "comment": "Receive flow: prompt while waiting to read an NFC tag.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Halten Sie das Gerät an das NFC-Tag…" + } + }, "en": { "stringUnit": { "state": "translated", @@ -4903,6 +5881,12 @@ "comment": "Receive flow: error when opening VniDrop's folder in Files fails.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "VniDrop konnte in „Dateien“ nicht geöffnet werden." + } + }, "en": { "stringUnit": { "state": "translated", @@ -4933,6 +5917,12 @@ "comment": "Receive flow: title of the review screen before accepting a transfer.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Übertragung prüfen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -4963,6 +5953,12 @@ "comment": "Receive tab: screen title.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Empfangen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -4993,6 +5989,12 @@ "comment": "Receive flow: fallback name for a transfer with no title.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "VniDrop-Übertragung" + } + }, "en": { "stringUnit": { "state": "translated", @@ -5023,6 +6025,12 @@ "comment": "Send access option: anyone with the invitation can receive.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Jeder mit dieser Übertragung" + } + }, "en": { "stringUnit": { "state": "translated", @@ -5053,6 +6061,12 @@ "comment": "Send access option description: no approval required.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Keine Genehmigung erforderlich. Verwenden Sie dies nur für Objekte, die Sie unbedenklich teilen können." + } + }, "en": { "stringUnit": { "state": "translated", @@ -5083,6 +6097,12 @@ "comment": "Send access option warning: caution about open access.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Jeder mit der Einladung kann herunterladen, bis Sie die Freigabe beenden. Verwenden Sie dies nicht für private oder sensible Objekte." + } + }, "en": { "stringUnit": { "state": "translated", @@ -5113,6 +6133,12 @@ "comment": "Send access option: approve each receiver.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Vor jedem Download fragen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -5143,6 +6169,12 @@ "comment": "Send access option description: you approve/refuse each receiver.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Sie genehmigen oder lehnen jeden neuen Empfänger ab." + } + }, "en": { "stringUnit": { "state": "translated", @@ -5173,6 +6205,12 @@ "comment": "Send flow: heading for the who-can-receive access chooser.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Wer kann sie empfangen?" + } + }, "en": { "stringUnit": { "state": "translated", @@ -5203,6 +6241,12 @@ "comment": "Send flow: body text for the choose-what-to-share step.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Wählen Sie Dateien oder einen Ordner auf diesem Gerät aus. Sie können die Auswahl überprüfen, bevor Sie die Übertragung erstellen." + } + }, "en": { "stringUnit": { "state": "translated", @@ -5233,6 +6277,12 @@ "comment": "Send flow: title of the choose-what-to-share step.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Wählen Sie, was Sie teilen möchten" + } + }, "en": { "stringUnit": { "state": "translated", @@ -5263,6 +6313,12 @@ "comment": "Send tab empty state: instructions on how to create a transfer.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Erstellen Sie eine Übertragung, entscheiden Sie, wer sie empfangen darf, und laden Sie diese Personen dann mit einem QR-Code, einem NFC-Tag oder einer Einladungsdatei ein." + } + }, "en": { "stringUnit": { "state": "translated", @@ -5293,6 +6349,12 @@ "comment": "Send tab empty state: title when nothing has been shared.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Noch nichts geteilt" + } + }, "en": { "stringUnit": { "state": "translated", @@ -5323,6 +6385,12 @@ "comment": "Send flow: shown when a selected file's size can't be determined.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Größe nicht verfügbar" + } + }, "en": { "stringUnit": { "state": "translated", @@ -5353,6 +6421,12 @@ "comment": "Send flow: label indicating a selected item is a folder.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Ordner" + } + }, "en": { "stringUnit": { "state": "translated", @@ -5383,6 +6457,12 @@ "comment": "Send flow: description for the create-new-transfer entry.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Eine neue Übertragung erstellen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -5413,6 +6493,12 @@ "comment": "Send flow: title for the new-transfer step.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Neue Übertragung" + } + }, "en": { "stringUnit": { "state": "translated", @@ -5443,6 +6529,12 @@ "comment": "Send flow: title of the review-transfer step before creating it.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Übertragung prüfen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -5473,6 +6565,12 @@ "comment": "Send flow: count of files chosen. {count} = selected files. NOTE: singular case reads '1 files' — should become a plural.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "%1$d Dateien ausgewählt" + } + }, "en": { "stringUnit": { "state": "translated", @@ -5503,6 +6601,12 @@ "comment": "Transfer details: action to stop sharing a transfer.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Freigabe beenden" + } + }, "en": { "stringUnit": { "state": "translated", @@ -5533,6 +6637,12 @@ "comment": "Transfer details: confirmation body for stopping sharing.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Dies beendet die Übertragung und unterbricht alle, die sie gerade herunterladen. Sie verbleibt in Ihrem Verlauf als „Beendet“." + } + }, "en": { "stringUnit": { "state": "translated", @@ -5563,6 +6673,12 @@ "comment": "Send tab: subtitle under the title.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Übertragungen, die Sie von diesem Gerät aus teilen." + } + }, "en": { "stringUnit": { "state": "translated", @@ -5593,6 +6709,12 @@ "comment": "Send tab: screen title.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Senden" + } + }, "en": { "stringUnit": { "state": "translated", @@ -5623,6 +6745,12 @@ "comment": "Send flow: toast confirming a transfer was created.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Übertragung erstellt." + } + }, "en": { "stringUnit": { "state": "translated", @@ -5653,6 +6781,12 @@ "comment": "Send flow: title of the transfer details screen.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Übertragungsdetails" + } + }, "en": { "stringUnit": { "state": "translated", @@ -5683,6 +6817,12 @@ "comment": "Send tab: 'Your transfers' list heading.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Ihre Übertragungen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -5713,6 +6853,12 @@ "comment": "Settings screen: subtitle summarizing what's configurable.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Ihr Name, wo Übertragungen gesichert werden, Darstellung und Mitteilungen." + } + }, "en": { "stringUnit": { "state": "translated", @@ -5743,6 +6889,12 @@ "comment": "Settings screen: title.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Einstellungen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -5773,6 +6925,12 @@ "comment": "Snackbar: accessibility label / action to dismiss the snackbar.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Ausblenden" + } + }, "en": { "stringUnit": { "state": "translated", @@ -5803,6 +6961,12 @@ "comment": "Transfer status: available (actively shared).", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Verfügbar" + } + }, "en": { "stringUnit": { "state": "translated", @@ -5833,6 +6997,12 @@ "comment": "Transfer status: cancelled.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Abgebrochen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -5863,6 +7033,12 @@ "comment": "Transfer status: completed.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Abgeschlossen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -5893,6 +7069,12 @@ "comment": "Transfer status: failed.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Fehlgeschlagen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -5923,6 +7105,12 @@ "comment": "Transfer status: preparing.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Wird vorbereitet" + } + }, "en": { "stringUnit": { "state": "translated", @@ -5953,6 +7141,12 @@ "comment": "Transfer status: receiving.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Wird empfangen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -5983,6 +7177,12 @@ "comment": "Transfer status: stopped.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Beendet" + } + }, "en": { "stringUnit": { "state": "translated", @@ -6013,6 +7213,12 @@ "comment": "Settings > Storage: placeholder while a size is being calculated.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Wird berechnet…" + } + }, "en": { "stringUnit": { "state": "translated", @@ -6043,6 +7249,12 @@ "comment": "Settings > Storage: button to delete all transfer records.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Alle Übertragungen löschen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -6073,6 +7285,12 @@ "comment": "Settings > Storage: confirmation body for deleting all transfer records.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Dies löscht alle Datensätze gesendeter und empfangener Übertragungen aus Ihrem Verlauf. Ihre empfangenen Dateien werden nicht gelöscht. Hinweis: Die Übertragungs-Engine behält ihre gespeicherten Inhalte, sodass die Übertragungsdaten möglicherweise nicht abnehmen. Dies kann nicht rückgängig gemacht werden." + } + }, "en": { "stringUnit": { "state": "translated", @@ -6103,6 +7321,12 @@ "comment": "Settings > Storage: progress label while transfers are being deleted.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Wird gelöscht…" + } + }, "en": { "stringUnit": { "state": "translated", @@ -6133,6 +7357,12 @@ "comment": "Settings > Storage: footer explaining how storage is managed.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Übertragungsdaten werden von der Übertragungs-Engine verwaltet – Ihr Verlauf sowie der Inhalt der von Ihnen geteilten Dateien. Die Schaltfläche unten löscht Ihre Übertragungsdatensätze; die Engine behält ihre gespeicherten Inhalte, sodass dieser Wert möglicherweise nicht sinkt. Empfangene Dateien sind Ihre heruntergeladenen Dateien und werden hier niemals gelöscht." + } + }, "en": { "stringUnit": { "state": "translated", @@ -6163,6 +7393,12 @@ "comment": "Settings > Storage: label for the received-files size row.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Empfangene Dateien" + } + }, "en": { "stringUnit": { "state": "translated", @@ -6193,6 +7429,12 @@ "comment": "Settings > Storage: label for the temporary-files size row.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Temporäre Dateien" + } + }, "en": { "stringUnit": { "state": "translated", @@ -6223,6 +7465,12 @@ "comment": "Settings > Storage: section title.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Speicher" + } + }, "en": { "stringUnit": { "state": "translated", @@ -6253,6 +7501,12 @@ "comment": "Settings > Storage: label for the total-size row.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Gesamt" + } + }, "en": { "stringUnit": { "state": "translated", @@ -6283,6 +7537,12 @@ "comment": "Settings > Storage: label for the transfer-engine data size row.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Übertragungsdaten" + } + }, "en": { "stringUnit": { "state": "translated", @@ -6313,6 +7573,12 @@ "comment": "Settings > Storage: toast confirming all transfers were deleted.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Alle Übertragungen gelöscht" + } + }, "en": { "stringUnit": { "state": "translated", @@ -6343,6 +7609,12 @@ "comment": "Transfer details: description under the Activity section.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Wichtige Aktualisierungen zu dieser Übertragung ansehen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -6373,6 +7645,12 @@ "comment": "Transfer details: Activity section title.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Aktivität" + } + }, "en": { "stringUnit": { "state": "translated", @@ -6403,6 +7681,12 @@ "comment": "Transfer details: confirmation body for deleting a transfer. {arg1} = transfer name.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "„%1$@“ wird nicht mehr geteilt und sein Übertragungsverlauf wird von diesem Gerät entfernt." + } + }, "en": { "stringUnit": { "state": "translated", @@ -6433,6 +7717,12 @@ "comment": "Transfer details: confirmation title for deleting a transfer.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Übertragung löschen?" + } + }, "en": { "stringUnit": { "state": "translated", @@ -6463,6 +7753,12 @@ "comment": "Transfer details: toast confirming a transfer was deleted.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Übertragung gelöscht." + } + }, "en": { "stringUnit": { "state": "translated", @@ -6493,6 +7789,12 @@ "comment": "Transfer details: progress label while a transfer is being deleted.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Wird gelöscht…" + } + }, "en": { "stringUnit": { "state": "translated", @@ -6523,6 +7825,12 @@ "comment": "Transfer details: screen title.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Übertragungsdetails" + } + }, "en": { "stringUnit": { "state": "translated", @@ -6553,6 +7861,12 @@ "comment": "Transfer activity event: a receiver's access was approved.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Empfängerzugriff genehmigt" + } + }, "en": { "stringUnit": { "state": "translated", @@ -6583,6 +7897,12 @@ "comment": "Transfer activity event: a receiver completed the transfer.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Ein Empfänger hat die Übertragung abgeschlossen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -6613,6 +7933,12 @@ "comment": "Transfer activity event: connecting to the sender.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Verbindung zum Absender" + } + }, "en": { "stringUnit": { "state": "translated", @@ -6643,6 +7969,12 @@ "comment": "Transfer activity event: downloading.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Wird geladen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -6673,6 +8005,12 @@ "comment": "Transfer activity event: the transfer hit a problem.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Bei der Übertragung ist ein Problem aufgetreten" + } + }, "en": { "stringUnit": { "state": "translated", @@ -6703,6 +8041,12 @@ "comment": "Transfer activity event: preparing the transfer.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Ihre Übertragung wird vorbereitet" + } + }, "en": { "stringUnit": { "state": "translated", @@ -6733,6 +8077,12 @@ "comment": "Transfer activity event: ready to share.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Bereit zum Teilen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -6763,6 +8113,12 @@ "comment": "Transfer activity event: a receiver's access was refused.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Empfängerzugriff abgelehnt" + } + }, "en": { "stringUnit": { "state": "translated", @@ -6793,6 +8149,12 @@ "comment": "Transfer activity event: a receiver requested access.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Ein Empfänger hat Zugriff angefragt" + } + }, "en": { "stringUnit": { "state": "translated", @@ -6823,6 +8185,12 @@ "comment": "Transfer activity event: saving received files.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Wird gesichert" + } + }, "en": { "stringUnit": { "state": "translated", @@ -6853,6 +8221,12 @@ "comment": "Transfer activity event: sharing was stopped.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Freigabe beendet" + } + }, "en": { "stringUnit": { "state": "translated", @@ -6883,6 +8257,12 @@ "comment": "Transfer activity event: the transfer was updated.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Übertragung aktualisiert" + } + }, "en": { "stringUnit": { "state": "translated", @@ -6913,6 +8293,24 @@ "comment": "Transfer subtitle: file count with pluralization. {count} = number of files.", "extractionState": "manual", "localizations": { + "de": { + "variations": { + "plural": { + "one": { + "stringUnit": { + "state": "needs_review", + "value": "%1$d Datei" + } + }, + "other": { + "stringUnit": { + "state": "needs_review", + "value": "%1$d Dateien" + } + } + } + } + }, "en": { "variations": { "plural": { @@ -6991,6 +8389,12 @@ "comment": "Transfer share: toast confirming the invitation file was saved.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Einladung gesichert." + } + }, "en": { "stringUnit": { "state": "translated", @@ -7021,6 +8425,12 @@ "comment": "Transfer share/receivers: label for a nearby device.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Gerät in der Nähe" + } + }, "en": { "stringUnit": { "state": "translated", @@ -7051,6 +8461,12 @@ "comment": "Transfer share: message when NFC writing isn't available on the device.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Das Beschreiben von NFC-Tags ist auf diesem Gerät nicht verfügbar." + } + }, "en": { "stringUnit": { "state": "translated", @@ -7081,6 +8497,12 @@ "comment": "Transfer share: prompt while waiting to write an NFC tag.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Halten Sie Ihr Gerät an ein beschreibbares NFC-Tag." + } + }, "en": { "stringUnit": { "state": "translated", @@ -7111,6 +8533,12 @@ "comment": "Transfer share: confirmation the invitation was written to the NFC tag.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Einladung auf das NFC-Tag geschrieben." + } + }, "en": { "stringUnit": { "state": "translated", @@ -7141,6 +8569,12 @@ "comment": "Transfer details: empty state for the Activity section.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Es gibt noch keine Aktivität anzuzeigen." + } + }, "en": { "stringUnit": { "state": "translated", @@ -7171,6 +8605,12 @@ "comment": "Transfer details: empty state for the Receivers section.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Noch niemand hat diese Übertragung angefragt." + } + }, "en": { "stringUnit": { "state": "translated", @@ -7201,6 +8641,12 @@ "comment": "Receiver status: approved, waiting for the download to complete.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Genehmigt – wartet auf Abschluss" + } + }, "en": { "stringUnit": { "state": "translated", @@ -7231,6 +8677,12 @@ "comment": "Receiver status: received successfully.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Erfolgreich empfangen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -7261,6 +8713,12 @@ "comment": "Receiver status: the request expired.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Anfrage abgelaufen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -7291,6 +8749,12 @@ "comment": "Receiver status: the request was refused.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Anfrage abgelehnt" + } + }, "en": { "stringUnit": { "state": "translated", @@ -7321,6 +8785,12 @@ "comment": "Receiver status: waiting for the sender's approval.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Wartet auf Ihre Genehmigung" + } + }, "en": { "stringUnit": { "state": "translated", @@ -7351,6 +8821,12 @@ "comment": "Receiver status: status unavailable/unknown.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Status nicht verfügbar" + } + }, "en": { "stringUnit": { "state": "translated", @@ -7381,6 +8857,12 @@ "comment": "Receivers summary: how many receivers completed. {count} = completed receivers.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "%1$d abgeschlossen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -7411,6 +8893,12 @@ "comment": "Transfer details: description under the Receivers section.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Anfragen, Genehmigungen und abgeschlossene Zustellungen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -7441,6 +8929,12 @@ "comment": "Receivers summary: how many requests are waiting. {count} = pending receivers.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "%1$d warten" + } + }, "en": { "stringUnit": { "state": "translated", @@ -7471,6 +8965,12 @@ "comment": "Transfer details: Receivers section title.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Empfänger" + } + }, "en": { "stringUnit": { "state": "translated", @@ -7501,6 +9001,12 @@ "comment": "Transfer share: caption under the QR code.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Mit VniDrop scannen, um diese Übertragung zu empfangen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -7531,6 +9037,12 @@ "comment": "Transfer details: description under the Share section.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "QR-Code, Einladungsdatei und Optionen in der Nähe" + } + }, "en": { "stringUnit": { "state": "translated", @@ -7561,6 +9073,12 @@ "comment": "Transfer details: Share section title.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Teilen" + } + }, "en": { "stringUnit": { "state": "translated", @@ -7591,6 +9109,12 @@ "comment": "Placeholder shown when a device-info or metadata value can't be read.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "Nicht verfügbar" + } + }, "en": { "stringUnit": { "state": "translated", @@ -7621,6 +9145,12 @@ "comment": "Device information / Settings row: app version label.", "extractionState": "manual", "localizations": { + "de": { + "stringUnit": { + "state": "needs_review", + "value": "App-Version" + } + }, "en": { "stringUnit": { "state": "translated", diff --git a/localization/strings.json b/localization/strings.json index 1abff78..cccb727 100644 --- a/localization/strings.json +++ b/localization/strings.json @@ -5,7 +5,8 @@ "en", "fr", "es", - "it" + "it", + "de" ], "strings": { "%@": { @@ -37,7 +38,8 @@ "en": "{arg1} {arg2} · {arg3}", "fr": "{arg1} {arg2} · {arg3}", "es": "{arg1} {arg2} · {arg3}", - "it": "{arg1} {arg2} · {arg3}" + "it": "{arg1} {arg2} · {arg3}", + "de": "{arg1} {arg2} · {arg3}" } }, "%@ · %@": { @@ -59,7 +61,8 @@ "en": "{arg1} · {arg2}", "fr": "{arg1} · {arg2}", "es": "{arg1} · {arg2}", - "it": "{arg1} · {arg2}" + "it": "{arg1} · {arg2}", + "de": "{arg1} · {arg2}" } }, "%@%%": { @@ -74,7 +77,8 @@ "en": "Report a bug", "fr": "Signaler un bug", "es": "Informar de un error", - "it": "Segnala un bug" + "it": "Segnala un bug", + "de": "Fehler melden" } }, "about_description": { @@ -83,7 +87,8 @@ "en": "VniDrop moves files and folders straight from one device to another over the network, without uploading them to any file-hosting service. There’s no account to create, and no copy of your transfer is left in the cloud once you’re done.", "fr": "VniDrop transfère fichiers et dossiers directement d’un appareil à un autre sur le réseau, sans les téléverser vers un service d’hébergement. Aucun compte à créer, et aucune copie de votre transfert ne reste dans le cloud une fois terminé.", "es": "VniDrop transfiere archivos y carpetas directamente de un dispositivo a otro a través de la red, sin subirlos a ningún servicio de alojamiento. No hay que crear ninguna cuenta y no queda ninguna copia de su transferencia en la nube una vez que termina.", - "it": "VniDrop trasferisce file e cartelle direttamente da un dispositivo a un altro sulla rete, senza caricarli su alcun servizio di hosting. Non c’è alcun account da creare e nessuna copia del suo trasferimento rimane nel cloud una volta terminato." + "it": "VniDrop trasferisce file e cartelle direttamente da un dispositivo a un altro sulla rete, senza caricarli su alcun servizio di hosting. Non c’è alcun account da creare e nessuna copia del suo trasferimento rimane nel cloud una volta terminato.", + "de": "VniDrop überträgt Dateien und Ordner direkt von einem Gerät auf ein anderes über das Netzwerk, ohne sie auf einen Hosting-Dienst hochzuladen. Es muss kein Konto erstellt werden, und nach Abschluss verbleibt keine Kopie Ihrer Übertragung in der Cloud." } }, "about_is_direct": { @@ -92,7 +97,8 @@ "en": "A direct device-to-device transfer — your files go straight to the receiver.", "fr": "Un transfert direct d’appareil à appareil — vos fichiers vont droit au destinataire.", "es": "Una transferencia directa entre dispositivos: sus archivos van directamente al destinatario.", - "it": "Un trasferimento diretto da dispositivo a dispositivo: i suoi file vanno direttamente al destinatario." + "it": "Un trasferimento diretto da dispositivo a dispositivo: i suoi file vanno direttamente al destinatario.", + "de": "Eine direkte Gerät-zu-Gerät-Übertragung – Ihre Dateien gehen direkt an den Empfänger." } }, "about_is_encrypted": { @@ -101,7 +107,8 @@ "en": "Connections are authenticated and end-to-end encrypted (via Iroh), and incoming files are verified by their content hash.", "fr": "Les connexions sont authentifiées et chiffrées de bout en bout (via Iroh), et les fichiers entrants sont vérifiés par leur empreinte de contenu.", "es": "Las conexiones están autenticadas y cifradas de extremo a extremo (mediante Iroh), y los archivos entrantes se verifican por su huella de contenido.", - "it": "Le connessioni sono autenticate e cifrate end-to-end (tramite Iroh) e i file in arrivo vengono verificati tramite l’impronta del loro contenuto." + "it": "Le connessioni sono autenticate e cifrate end-to-end (tramite Iroh) e i file in arrivo vengono verificati tramite l’impronta del loro contenuto.", + "de": "Verbindungen sind authentifiziert und Ende-zu-Ende-verschlüsselt (über Iroh), und eingehende Dateien werden anhand ihres Inhalts-Hashs überprüft." } }, "about_is_in_control": { @@ -110,7 +117,8 @@ "en": "You decide who receives: approve each request, or open a transfer to anyone holding the invitation.", "fr": "Vous décidez qui reçoit : approuvez chaque demande, ou ouvrez un transfert à toute personne disposant de l’invitation.", "es": "Usted decide quién recibe: apruebe cada solicitud o abra una transferencia a cualquiera que tenga la invitación.", - "it": "Lei decide chi riceve: approvi ogni richiesta oppure apra un trasferimento a chiunque disponga dell’invito." + "it": "Lei decide chi riceve: approvi ogni richiesta oppure apra un trasferimento a chiunque disponga dell’invito.", + "de": "Sie entscheiden, wer empfängt: Genehmigen Sie jede Anfrage oder öffnen Sie eine Übertragung für alle, die die Einladung besitzen." } }, "about_is_no_account": { @@ -119,7 +127,8 @@ "en": "Account-free — there’s nothing to sign up for.", "fr": "Sans compte — il n’y a rien à créer.", "es": "Sin cuenta: no hay nada que registrar.", - "it": "Senza account: non c’è nulla da registrare." + "it": "Senza account: non c’è nulla da registrare.", + "de": "Ohne Konto – es gibt nichts zu registrieren." } }, "about_is_open": { @@ -128,7 +137,8 @@ "en": "Open source, released under the Apache 2.0 license.", "fr": "Open source, publié sous licence Apache 2.0.", "es": "Código abierto, publicado bajo la licencia Apache 2.0.", - "it": "Open source, rilasciato con licenza Apache 2.0." + "it": "Open source, rilasciato con licenza Apache 2.0.", + "de": "Open Source, veröffentlicht unter der Apache-2.0-Lizenz." } }, "about_is_title": { @@ -137,7 +147,8 @@ "en": "What VniDrop is", "fr": "Ce qu’est VniDrop", "es": "Qué es VniDrop", - "it": "Cos’è VniDrop" + "it": "Cos’è VniDrop", + "de": "Was VniDrop ist" } }, "about_isnt_cloud": { @@ -146,7 +157,8 @@ "en": "Not cloud storage — no server holds your files, and nothing waits in the cloud after a transfer.", "fr": "Pas un stockage cloud — aucun serveur ne détient vos fichiers, et rien n’attend dans le cloud après un transfert.", "es": "No es almacenamiento en la nube: ningún servidor guarda sus archivos y nada queda en la nube después de una transferencia.", - "it": "Non è un’archiviazione cloud: nessun server conserva i suoi file e nulla resta nel cloud dopo un trasferimento." + "it": "Non è un’archiviazione cloud: nessun server conserva i suoi file e nulla resta nel cloud dopo un trasferimento.", + "de": "Kein Cloud-Speicher – kein Server hält Ihre Dateien, und nach einer Übertragung wartet nichts in der Cloud." } }, "about_isnt_public": { @@ -155,7 +167,8 @@ "en": "Not public broadcasting — an invitation is a private access link, not an announcement to everyone nearby.", "fr": "Pas une diffusion publique — une invitation est un lien d’accès privé, pas une annonce à tout le voisinage.", "es": "No es difusión pública: una invitación es un enlace de acceso privado, no un anuncio para todos los que estén cerca.", - "it": "Non è una diffusione pubblica: un invito è un link di accesso privato, non un annuncio a tutti nelle vicinanze." + "it": "Non è una diffusione pubblica: un invito è un link di accesso privato, non un annuncio a tutti nelle vicinanze.", + "de": "Keine öffentliche Übertragung – eine Einladung ist ein privater Zugangslink, keine Ankündigung an alle in der Nähe." } }, "about_isnt_sync": { @@ -164,7 +177,8 @@ "en": "Not a sync or backup service.", "fr": "Pas un service de synchronisation ou de sauvegarde.", "es": "No es un servicio de sincronización ni de copia de seguridad.", - "it": "Non è un servizio di sincronizzazione o di backup." + "it": "Non è un servizio di sincronizzazione o di backup.", + "de": "Kein Synchronisierungs- oder Backup-Dienst." } }, "about_isnt_title": { @@ -173,7 +187,8 @@ "en": "What VniDrop isn’t", "fr": "Ce que VniDrop n’est pas", "es": "Qué no es VniDrop", - "it": "Cosa non è VniDrop" + "it": "Cosa non è VniDrop", + "de": "Was VniDrop nicht ist" } }, "about_license_label": { @@ -182,7 +197,8 @@ "en": "License", "fr": "Licence", "es": "Licencia", - "it": "Licenza" + "it": "Licenza", + "de": "Lizenz" } }, "about_privacy": { @@ -191,7 +207,8 @@ "en": "Privacy policy", "fr": "Politique de confidentialité", "es": "Política de privacidad", - "it": "Informativa sulla privacy" + "it": "Informativa sulla privacy", + "de": "Datenschutzrichtlinie" } }, "about_privacy_capability": { @@ -200,7 +217,8 @@ "en": "Invitations are capabilities. Treat a QR code, NFC tag, or .vnd file like a private access link and share it only with the people you intend — especially with “Anyone with this transfer.”", "fr": "Les invitations sont des clés d’accès. Traitez un QR code, un tag NFC ou un fichier .vnd comme un lien d’accès privé et ne le partagez qu’avec les personnes visées — en particulier avec « Toute personne disposant de ce transfert ».", "es": "Las invitaciones son claves de acceso. Trate un código QR, una etiqueta NFC o un archivo .vnd como un enlace de acceso privado y compártalo solo con las personas previstas, especialmente con «Cualquiera que tenga esta transferencia».", - "it": "Gli inviti sono chiavi di accesso. Tratti un codice QR, un tag NFC o un file .vnd come un link di accesso privato e lo condivida solo con le persone previste, soprattutto con «Chiunque abbia questo trasferimento»." + "it": "Gli inviti sono chiavi di accesso. Tratti un codice QR, un tag NFC o un file .vnd come un link di accesso privato e lo condivida solo con le persone previste, soprattutto con «Chiunque abbia questo trasferimento».", + "de": "Einladungen sind Zugangsschlüssel. Behandeln Sie einen QR-Code, ein NFC-Tag oder eine .vnd-Datei wie einen privaten Zugangslink und teilen Sie ihn nur mit den vorgesehenen Personen – insbesondere bei „Jeder mit dieser Übertragung“." } }, "about_privacy_deny": { @@ -209,7 +227,8 @@ "en": "Deny by default — VniDrop serves only the content of an active share and rejects unknown requests.", "fr": "Refus par défaut — VniDrop ne sert que le contenu d’un partage actif et rejette les demandes inconnues.", "es": "Denegación por defecto: VniDrop solo sirve el contenido de un recurso compartido activo y rechaza las solicitudes desconocidas.", - "it": "Rifiuto predefinito: VniDrop serve solo il contenuto di una condivisione attiva e rifiuta le richieste sconosciute." + "it": "Rifiuto predefinito: VniDrop serve solo il contenuto di una condivisione attiva e rifiuta le richieste sconosciute.", + "de": "Standardmäßig ablehnen – VniDrop stellt nur den Inhalt einer aktiven Freigabe bereit und weist unbekannte Anfragen ab." } }, "about_privacy_local": { @@ -218,7 +237,8 @@ "en": "Received files are saved on your device and never silently overwrite an existing file.", "fr": "Les fichiers reçus sont enregistrés sur votre appareil et n’écrasent jamais un fichier existant.", "es": "Los archivos recibidos se guardan en su dispositivo y nunca sobrescriben un archivo existente.", - "it": "I file ricevuti vengono salvati sul suo dispositivo e non sovrascrivono mai un file esistente." + "it": "I file ricevuti vengono salvati sul suo dispositivo e non sovrascrivono mai un file esistente.", + "de": "Empfangene Dateien werden auf Ihrem Gerät gespeichert und überschreiben niemals eine vorhandene Datei." } }, "about_privacy_policy_label": { @@ -227,7 +247,8 @@ "en": "Privacy policy", "fr": "Politique de confidentialité", "es": "Política de privacidad", - "it": "Informativa sulla privacy" + "it": "Informativa sulla privacy", + "de": "Datenschutzrichtlinie" } }, "about_privacy_relay": { @@ -236,7 +257,8 @@ "en": "If two devices can’t connect directly, the encrypted connection may be relayed. Relays forward encrypted packets only; they never store your files.", "fr": "Si deux appareils ne peuvent pas se connecter directement, la connexion chiffrée peut être relayée. Les relais ne transmettent que des paquets chiffrés ; ils ne stockent jamais vos fichiers.", "es": "Si dos dispositivos no pueden conectarse directamente, la conexión cifrada puede retransmitirse. Los relés solo reenvían paquetes cifrados; nunca almacenan sus archivos.", - "it": "Se due dispositivi non riescono a connettersi direttamente, la connessione cifrata può essere instradata tramite relay. I relay inoltrano solo pacchetti cifrati; non memorizzano mai i suoi file." + "it": "Se due dispositivi non riescono a connettersi direttamente, la connessione cifrata può essere instradata tramite relay. I relay inoltrano solo pacchetti cifrati; non memorizzano mai i suoi file.", + "de": "Wenn zwei Geräte sich nicht direkt verbinden können, kann die verschlüsselte Verbindung weitergeleitet werden. Relays leiten nur verschlüsselte Pakete weiter; sie speichern niemals Ihre Dateien." } }, "about_privacy_title": { @@ -245,7 +267,8 @@ "en": "Privacy & security", "fr": "Confidentialité et sécurité", "es": "Privacidad y seguridad", - "it": "Privacy e sicurezza" + "it": "Privacy e sicurezza", + "de": "Datenschutz & Sicherheit" } }, "about_tagline": { @@ -254,7 +277,8 @@ "en": "Send files directly. Stay in control of who receives them.", "fr": "Envoyez des fichiers directement. Gardez le contrôle de qui les reçoit.", "es": "Envíe archivos directamente. Mantenga el control de quién los recibe.", - "it": "Invii file direttamente. Mantenga il controllo su chi li riceve." + "it": "Invii file direttamente. Mantenga il controllo su chi li riceve.", + "de": "Senden Sie Dateien direkt. Behalten Sie die Kontrolle darüber, wer sie empfängt." } }, "about_title": { @@ -263,7 +287,8 @@ "en": "About", "fr": "À propos", "es": "Acerca de", - "it": "Informazioni" + "it": "Informazioni", + "de": "Über" } }, "appearance_auto_description": { @@ -272,7 +297,8 @@ "en": "Match this device’s light or dark appearance.", "fr": "Suivre l’apparence claire ou sombre de cet appareil.", "es": "Seguir la apariencia clara u oscura de este dispositivo.", - "it": "Segue l’aspetto chiaro o scuro di questo dispositivo." + "it": "Segue l’aspetto chiaro o scuro di questo dispositivo.", + "de": "Der hellen oder dunklen Darstellung dieses Geräts folgen." } }, "appearance_dark_mode": { @@ -281,7 +307,8 @@ "en": "Dark mode", "fr": "Mode sombre", "es": "Modo oscuro", - "it": "Modalità scura" + "it": "Modalità scura", + "de": "Dunkelmodus" } }, "appearance_light_mode": { @@ -290,7 +317,8 @@ "en": "Light mode", "fr": "Mode clair", "es": "Modo claro", - "it": "Modalità chiara" + "it": "Modalità chiara", + "de": "Hellmodus" } }, "appearance_system_mode": { @@ -299,7 +327,8 @@ "en": "System", "fr": "Système", "es": "Sistema", - "it": "Sistema" + "it": "Sistema", + "de": "System" } }, "appearance_title": { @@ -308,7 +337,8 @@ "en": "Appearance", "fr": "Apparence", "es": "Apariencia", - "it": "Aspetto" + "it": "Aspetto", + "de": "Darstellung" } }, "approval_connection_request": { @@ -317,7 +347,8 @@ "en": "Receive request", "fr": "Demande de réception", "es": "Solicitud de recepción", - "it": "Richiesta di ricezione" + "it": "Richiesta di ricezione", + "de": "Empfangsanfrage" } }, "approval_endpoint_id": { @@ -332,7 +363,8 @@ "en": "Device ID: {arg1}", "fr": "Identifiant de l’appareil : {arg1}", "es": "ID del dispositivo: {arg1}", - "it": "ID dispositivo: {arg1}" + "it": "ID dispositivo: {arg1}", + "de": "Geräte-ID: {arg1}" } }, "approval_nearby_device": { @@ -341,7 +373,8 @@ "en": "A nearby device", "fr": "Un appareil à proximité", "es": "Un dispositivo cercano", - "it": "Un dispositivo nelle vicinanze" + "it": "Un dispositivo nelle vicinanze", + "de": "Ein Gerät in der Nähe" } }, "approval_pending_count": { @@ -356,7 +389,8 @@ "en": "{count} requests waiting", "fr": "{count} demandes en attente", "es": "{count} solicitudes en espera", - "it": "{count} richieste in attesa" + "it": "{count} richieste in attesa", + "de": "{count} Anfragen warten" } }, "approval_request_body": { @@ -375,7 +409,8 @@ "en": "{arg1} wants to receive “{arg2}”.", "fr": "{arg1} souhaite recevoir « {arg2} ».", "es": "{arg1} quiere recibir «{arg2}».", - "it": "{arg1} vuole ricevere «{arg2}»." + "it": "{arg1} vuole ricevere «{arg2}».", + "de": "{arg1} möchte „{arg2}“ empfangen." } }, "battery_level_title": { @@ -384,7 +419,8 @@ "en": "Battery level", "fr": "Niveau de batterie", "es": "Nivel de batería", - "it": "Livello batteria" + "it": "Livello batteria", + "de": "Batteriestand" } }, "bug_report_contact_hint": { @@ -393,7 +429,8 @@ "en": "name@example.com", "fr": "nom@exemple.com", "es": "nombre@ejemplo.com", - "it": "nome@esempio.com" + "it": "nome@esempio.com", + "de": "name@beispiel.com" } }, "bug_report_contact_label": { @@ -402,7 +439,8 @@ "en": "Contact email (optional)", "fr": "E-mail de contact (facultatif)", "es": "Correo de contacto (opcional)", - "it": "Email di contatto (facoltativa)" + "it": "Email di contatto (facoltativa)", + "de": "Kontakt-E-Mail (optional)" } }, "bug_report_description": { @@ -411,7 +449,8 @@ "en": "Tell us what went wrong. We attach device info and optional recent logs (with sensitive values redacted).", "fr": "Dites-nous ce qui s’est passé. Nous joignons les infos de l’appareil et, en option, les journaux récents (valeurs sensibles masquées).", "es": "Cuéntenos qué salió mal. Adjuntamos información del dispositivo y, opcionalmente, registros recientes (con los valores sensibles ocultos).", - "it": "Ci dica cosa è andato storto. Alleghiamo le informazioni sul dispositivo e, facoltativamente, i log recenti (con i valori sensibili oscurati)." + "it": "Ci dica cosa è andato storto. Alleghiamo le informazioni sul dispositivo e, facoltativamente, i log recenti (con i valori sensibili oscurati).", + "de": "Sagen Sie uns, was schiefgelaufen ist. Wir hängen Geräteinformationen und optional aktuelle Protokolle an (sensible Werte werden geschwärzt)." } }, "bug_report_device_section": { @@ -420,7 +459,8 @@ "en": "Device information", "fr": "Informations sur l’appareil", "es": "Información del dispositivo", - "it": "Informazioni sul dispositivo" + "it": "Informazioni sul dispositivo", + "de": "Geräteinformationen" } }, "bug_report_expected_hint": { @@ -429,7 +469,8 @@ "en": "Describe what you expected to happen", "fr": "Décrivez ce à quoi vous vous attendiez", "es": "Describa lo que esperaba que ocurriera", - "it": "Descriva cosa si aspettava che accadesse" + "it": "Descriva cosa si aspettava che accadesse", + "de": "Beschreiben Sie, was Sie erwartet haben" } }, "bug_report_expected_label": { @@ -438,7 +479,8 @@ "en": "What did you expect?", "fr": "À quoi vous attendiez-vous ?", "es": "¿Qué esperaba?", - "it": "Cosa si aspettava?" + "it": "Cosa si aspettava?", + "de": "Was haben Sie erwartet?" } }, "bug_report_include_logs": { @@ -447,7 +489,8 @@ "en": "Include recent logs", "fr": "Inclure les journaux récents", "es": "Incluir registros recientes", - "it": "Includi i log recenti" + "it": "Includi i log recenti", + "de": "Aktuelle Protokolle einschließen" } }, "bug_report_include_logs_description": { @@ -456,7 +499,8 @@ "en": "Helps us diagnose the issue. Sensitive values are redacted before sending.", "fr": "Nous aide à diagnostiquer le problème. Les valeurs sensibles sont masquées avant l’envoi.", "es": "Nos ayuda a diagnosticar el problema. Los valores sensibles se ocultan antes de enviarlos.", - "it": "Ci aiuta a diagnosticare il problema. I valori sensibili vengono oscurati prima dell’invio." + "it": "Ci aiuta a diagnosticare il problema. I valori sensibili vengono oscurati prima dell’invio.", + "de": "Hilft uns, das Problem zu diagnostizieren. Sensible Werte werden vor dem Senden geschwärzt." } }, "bug_report_logs_size": { @@ -465,7 +509,8 @@ "en": "Log attachment size", "fr": "Taille de la pièce jointe des journaux", "es": "Tamaño del archivo de registros", - "it": "Dimensione dell’allegato dei log" + "it": "Dimensione dell’allegato dei log", + "de": "Größe des Protokollanhangs" } }, "bug_report_missing_expected": { @@ -474,7 +519,8 @@ "en": "Please describe what you expected.", "fr": "Veuillez décrire ce à quoi vous vous attendiez.", "es": "Describa lo que esperaba.", - "it": "Descriva cosa si aspettava." + "it": "Descriva cosa si aspettava.", + "de": "Bitte beschreiben Sie, was Sie erwartet haben." } }, "bug_report_missing_what": { @@ -483,7 +529,8 @@ "en": "Please describe what happened.", "fr": "Veuillez décrire ce qui s’est passé.", "es": "Describa lo que ocurrió.", - "it": "Descriva cosa è accaduto." + "it": "Descriva cosa è accaduto.", + "de": "Bitte beschreiben Sie, was passiert ist." } }, "bug_report_steps_hint": { @@ -492,7 +539,8 @@ "en": "List the steps to reproduce the issue", "fr": "Listez les étapes pour reproduire le problème", "es": "Enumere los pasos para reproducir el problema", - "it": "Elenchi i passaggi per riprodurre il problema" + "it": "Elenchi i passaggi per riprodurre il problema", + "de": "Listen Sie die Schritte zum Reproduzieren des Problems auf" } }, "bug_report_steps_label": { @@ -501,7 +549,8 @@ "en": "Steps to reproduce (optional)", "fr": "Étapes pour reproduire (facultatif)", "es": "Pasos para reproducir (opcional)", - "it": "Passaggi per riprodurre (facoltativi)" + "it": "Passaggi per riprodurre (facoltativi)", + "de": "Schritte zum Reproduzieren (optional)" } }, "bug_report_submit": { @@ -510,7 +559,8 @@ "en": "Submit report", "fr": "Envoyer le rapport", "es": "Enviar informe", - "it": "Invia segnalazione" + "it": "Invia segnalazione", + "de": "Bericht senden" } }, "bug_report_submit_failed": { @@ -519,7 +569,8 @@ "en": "Could not submit the bug report. Try again later.", "fr": "Impossible d’envoyer le rapport de bug. Réessayez plus tard.", "es": "No se pudo enviar el informe de error. Inténtelo de nuevo más tarde.", - "it": "Impossibile inviare la segnalazione. Riprovi più tardi." + "it": "Impossibile inviare la segnalazione. Riprovi più tardi.", + "de": "Der Fehlerbericht konnte nicht gesendet werden. Bitte versuchen Sie es später erneut." } }, "bug_report_submitted": { @@ -528,7 +579,8 @@ "en": "Thanks — your bug report was recorded.", "fr": "Merci — votre rapport de bug a été enregistré.", "es": "Gracias: su informe de error se ha registrado.", - "it": "Grazie: la sua segnalazione è stata registrata." + "it": "Grazie: la sua segnalazione è stata registrata.", + "de": "Danke – Ihr Fehlerbericht wurde erfasst." } }, "bug_report_submitting": { @@ -537,7 +589,8 @@ "en": "Submitting…", "fr": "Envoi…", "es": "Enviando…", - "it": "Invio in corso…" + "it": "Invio in corso…", + "de": "Wird gesendet…" } }, "bug_report_what_hint": { @@ -546,7 +599,8 @@ "en": "Describe what happened", "fr": "Décrivez ce qui s’est passé", "es": "Describa lo que ocurrió", - "it": "Descriva cosa è accaduto" + "it": "Descriva cosa è accaduto", + "de": "Beschreiben Sie, was passiert ist" } }, "bug_report_what_label": { @@ -555,7 +609,8 @@ "en": "What happened?", "fr": "Que s’est-il passé ?", "es": "¿Qué ocurrió?", - "it": "Cosa è accaduto?" + "it": "Cosa è accaduto?", + "de": "Was ist passiert?" } }, "button_approve": { @@ -564,7 +619,8 @@ "en": "Approve", "fr": "Approuver", "es": "Aprobar", - "it": "Approva" + "it": "Approva", + "de": "Genehmigen" } }, "button_back": { @@ -573,7 +629,8 @@ "en": "Back", "fr": "Retour", "es": "Atrás", - "it": "Indietro" + "it": "Indietro", + "de": "Zurück" } }, "button_cancel": { @@ -582,7 +639,8 @@ "en": "Cancel", "fr": "Annuler", "es": "Cancelar", - "it": "Annulla" + "it": "Annulla", + "de": "Abbrechen" } }, "button_cancel_receive": { @@ -591,7 +649,8 @@ "en": "Cancel", "fr": "Annuler", "es": "Cancelar", - "it": "Annulla" + "it": "Annulla", + "de": "Abbrechen" } }, "button_change_files": { @@ -600,7 +659,8 @@ "en": "Change files", "fr": "Modifier les fichiers", "es": "Cambiar archivos", - "it": "Cambia file" + "it": "Cambia file", + "de": "Dateien ändern" } }, "button_choose_files": { @@ -609,7 +669,8 @@ "en": "Choose files", "fr": "Choisir des fichiers", "es": "Elegir archivos", - "it": "Scegli file" + "it": "Scegli file", + "de": "Dateien auswählen" } }, "button_choose_folder": { @@ -618,7 +679,8 @@ "en": "Choose folder", "fr": "Choisir un dossier", "es": "Elegir carpeta", - "it": "Scegli cartella" + "it": "Scegli cartella", + "de": "Ordner auswählen" } }, "button_clear": { @@ -627,7 +689,8 @@ "en": "Clear", "fr": "Effacer", "es": "Borrar", - "it": "Cancella" + "it": "Cancella", + "de": "Löschen" } }, "button_close": { @@ -636,7 +699,8 @@ "en": "Close", "fr": "Fermer", "es": "Cerrar", - "it": "Chiudi" + "it": "Chiudi", + "de": "Schließen" } }, "button_create_new_transfer": { @@ -645,7 +709,8 @@ "en": "New transfer", "fr": "Nouveau transfert", "es": "Nueva transferencia", - "it": "Nuovo trasferimento" + "it": "Nuovo trasferimento", + "de": "Neue Übertragung" } }, "button_delete_transfer": { @@ -654,7 +719,8 @@ "en": "Delete transfer", "fr": "Supprimer le transfert", "es": "Eliminar transferencia", - "it": "Elimina trasferimento" + "it": "Elimina trasferimento", + "de": "Übertragung löschen" } }, "button_download_invitation": { @@ -663,7 +729,8 @@ "en": "Save .vnd file", "fr": "Enregistrer le fichier .vnd", "es": "Guardar archivo .vnd", - "it": "Salva file .vnd" + "it": "Salva file .vnd", + "de": ".vnd-Datei sichern" } }, "button_native_share": { @@ -672,7 +739,8 @@ "en": "Share invitation", "fr": "Partager l’invitation", "es": "Compartir invitación", - "it": "Condividi invito" + "it": "Condividi invito", + "de": "Einladung teilen" } }, "button_open_settings": { @@ -681,7 +749,8 @@ "en": "Open Settings", "fr": "Ouvrir les Réglages", "es": "Abrir Ajustes", - "it": "Apri Impostazioni" + "it": "Apri Impostazioni", + "de": "Einstellungen öffnen" } }, "button_receive": { @@ -690,7 +759,8 @@ "en": "Receive", "fr": "Recevoir", "es": "Recibir", - "it": "Ricevi" + "it": "Ricevi", + "de": "Empfangen" } }, "button_receive_files": { @@ -699,7 +769,8 @@ "en": "Start receiving", "fr": "Commencer à recevoir", "es": "Empezar a recibir", - "it": "Inizia a ricevere" + "it": "Inizia a ricevere", + "de": "Empfang starten" } }, "button_refuse": { @@ -708,7 +779,8 @@ "en": "Refuse", "fr": "Refuser", "es": "Rechazar", - "it": "Rifiuta" + "it": "Rifiuta", + "de": "Ablehnen" } }, "button_remove_file": { @@ -717,7 +789,8 @@ "en": "Remove file", "fr": "Retirer le fichier", "es": "Quitar archivo", - "it": "Rimuovi file" + "it": "Rimuovi file", + "de": "Datei entfernen" } }, "button_reset_default": { @@ -726,7 +799,8 @@ "en": "Use default", "fr": "Valeur par défaut", "es": "Usar predeterminado", - "it": "Usa predefinito" + "it": "Usa predefinito", + "de": "Standard verwenden" } }, "button_retry": { @@ -735,7 +809,8 @@ "en": "Retry", "fr": "Réessayer", "es": "Reintentar", - "it": "Riprova" + "it": "Riprova", + "de": "Wiederholen" } }, "button_share_file": { @@ -744,7 +819,8 @@ "en": "Start sharing", "fr": "Commencer le partage", "es": "Empezar a compartir", - "it": "Inizia a condividere" + "it": "Inizia a condividere", + "de": "Freigabe starten" } }, "button_sharing_file": { @@ -753,7 +829,8 @@ "en": "Preparing transfer…", "fr": "Préparation du transfert…", "es": "Preparando la transferencia…", - "it": "Preparazione del trasferimento…" + "it": "Preparazione del trasferimento…", + "de": "Übertragung wird vorbereitet…" } }, "button_show_in_files": { @@ -762,7 +839,8 @@ "en": "Show in Files", "fr": "Afficher dans Fichiers", "es": "Mostrar en Archivos", - "it": "Mostra in File" + "it": "Mostra in File", + "de": "In „Dateien“ anzeigen" } }, "button_write_nfc": { @@ -771,7 +849,8 @@ "en": "Write to NFC tag", "fr": "Écrire sur un tag NFC", "es": "Escribir en etiqueta NFC", - "it": "Scrivi su tag NFC" + "it": "Scrivi su tag NFC", + "de": "Auf NFC-Tag schreiben" } }, "device_model_title": { @@ -780,7 +859,8 @@ "en": "Device model", "fr": "Modèle de l’appareil", "es": "Modelo del dispositivo", - "it": "Modello del dispositivo" + "it": "Modello del dispositivo", + "de": "Gerätemodell" } }, "device_name_title": { @@ -789,7 +869,8 @@ "en": "Device name", "fr": "Nom de l’appareil", "es": "Nombre del dispositivo", - "it": "Nome del dispositivo" + "it": "Nome del dispositivo", + "de": "Gerätename" } }, "diagnostics_description": { @@ -798,7 +879,8 @@ "en": "Send anonymous crash reports and usage events so we can improve VniDrop. You can turn this off anytime. Invitations, file paths, and transfer contents are never included.", "fr": "Envoyer des rapports de plantage et des événements d’utilisation anonymes pour nous aider à améliorer VniDrop. Vous pouvez désactiver cela à tout moment. Les invitations, chemins de fichiers et contenus de transfert ne sont jamais inclus.", "es": "Enviar informes de fallos y eventos de uso anónimos para ayudarnos a mejorar VniDrop. Puede desactivarlo en cualquier momento. Las invitaciones, las rutas de archivos y el contenido de las transferencias nunca se incluyen.", - "it": "Invia report di arresto anomalo ed eventi d’uso anonimi per aiutarci a migliorare VniDrop. Può disattivarlo in qualsiasi momento. Inviti, percorsi dei file e contenuti dei trasferimenti non vengono mai inclusi." + "it": "Invia report di arresto anomalo ed eventi d’uso anonimi per aiutarci a migliorare VniDrop. Può disattivarlo in qualsiasi momento. Inviti, percorsi dei file e contenuti dei trasferimenti non vengono mai inclusi.", + "de": "Anonyme Absturzberichte und Nutzungsereignisse senden, damit wir VniDrop verbessern können. Sie können dies jederzeit deaktivieren. Einladungen, Dateipfade und Übertragungsinhalte werden niemals einbezogen." } }, "diagnostics_disabled_message": { @@ -807,7 +889,8 @@ "en": "Diagnostics sharing is off.", "fr": "Le partage des diagnostics est désactivé.", "es": "El uso compartido de diagnósticos está desactivado.", - "it": "La condivisione dei dati diagnostici è disattivata." + "it": "La condivisione dei dati diagnostici è disattivata.", + "de": "Die Freigabe von Diagnosedaten ist deaktiviert." } }, "diagnostics_enabled_message": { @@ -816,7 +899,8 @@ "en": "Diagnostics sharing is on.", "fr": "Le partage des diagnostics est activé.", "es": "El uso compartido de diagnósticos está activado.", - "it": "La condivisione dei dati diagnostici è attivata." + "it": "La condivisione dei dati diagnostici è attivata.", + "de": "Die Freigabe von Diagnosedaten ist aktiviert." } }, "diagnostics_title": { @@ -825,7 +909,8 @@ "en": "Share diagnostics", "fr": "Partager les diagnostics", "es": "Compartir diagnósticos", - "it": "Condividi dati diagnostici" + "it": "Condividi dati diagnostici", + "de": "Diagnosedaten teilen" } }, "error_camera": { @@ -834,7 +919,8 @@ "en": "Camera access is required to scan a QR code.", "fr": "L’accès à la caméra est nécessaire pour scanner un QR code.", "es": "Se necesita acceso a la cámara para escanear un código QR.", - "it": "Per scansionare un codice QR è necessario l’accesso alla fotocamera." + "it": "Per scansionare un codice QR è necessario l’accesso alla fotocamera.", + "de": "Für das Scannen eines QR-Codes ist Kamerazugriff erforderlich." } }, "error_device_info": { @@ -843,7 +929,8 @@ "en": "Could not load device information.", "fr": "Impossible de charger les informations de l’appareil.", "es": "No se pudo cargar la información del dispositivo.", - "it": "Impossibile caricare le informazioni sul dispositivo." + "it": "Impossibile caricare le informazioni sul dispositivo.", + "de": "Geräteinformationen konnten nicht geladen werden." } }, "error_filesystem": { @@ -852,7 +939,8 @@ "en": "VniDrop could not access the selected files or folder. Check permissions and try again.", "fr": "VniDrop n’a pas pu accéder aux fichiers ou au dossier sélectionnés. Vérifiez les autorisations et réessayez.", "es": "VniDrop no pudo acceder a los archivos o la carpeta seleccionados. Compruebe los permisos e inténtelo de nuevo.", - "it": "VniDrop non ha potuto accedere ai file o alla cartella selezionati. Controlli le autorizzazioni e riprovi." + "it": "VniDrop non ha potuto accedere ai file o alla cartella selezionati. Controlli le autorizzazioni e riprovi.", + "de": "VniDrop konnte nicht auf die ausgewählten Dateien oder den Ordner zugreifen. Überprüfen Sie die Berechtigungen und versuchen Sie es erneut." } }, "error_generic": { @@ -861,7 +949,8 @@ "en": "Something went wrong. Try again.", "fr": "Une erreur est survenue. Réessayez.", "es": "Algo salió mal. Inténtelo de nuevo.", - "it": "Qualcosa è andato storto. Riprovi." + "it": "Qualcosa è andato storto. Riprovi.", + "de": "Etwas ist schiefgelaufen. Versuchen Sie es erneut." } }, "error_initialization": { @@ -870,7 +959,8 @@ "en": "VniDrop could not finish starting up. Close the app and try again.", "fr": "VniDrop n’a pas pu terminer son démarrage. Fermez l’app et réessayez.", "es": "VniDrop no pudo terminar de iniciarse. Cierre la app e inténtelo de nuevo.", - "it": "VniDrop non ha potuto completare l’avvio. Chiuda l’app e riprovi." + "it": "VniDrop non ha potuto completare l’avvio. Chiuda l’app e riprovi.", + "de": "VniDrop konnte den Start nicht abschließen. Schließen Sie die App und versuchen Sie es erneut." } }, "error_invalid_ticket": { @@ -879,7 +969,8 @@ "en": "This invitation could not be read. Ask the sender for a new one.", "fr": "Cette invitation n’a pas pu être lue. Demandez-en une nouvelle à l’expéditeur.", "es": "No se pudo leer esta invitación. Pida al remitente una nueva.", - "it": "Impossibile leggere questo invito. Ne chieda uno nuovo al mittente." + "it": "Impossibile leggere questo invito. Ne chieda uno nuovo al mittente.", + "de": "Diese Einladung konnte nicht gelesen werden. Bitten Sie den Absender um eine neue." } }, "error_invitation_empty": { @@ -888,7 +979,8 @@ "en": "That invitation is empty. Try opening it again.", "fr": "Cette invitation est vide. Essayez de l’ouvrir à nouveau.", "es": "Esa invitación está vacía. Intente abrirla de nuevo.", - "it": "Questo invito è vuoto. Provi ad aprirlo di nuovo." + "it": "Questo invito è vuoto. Provi ad aprirlo di nuovo.", + "de": "Diese Einladung ist leer. Versuchen Sie, sie erneut zu öffnen." } }, "error_missing_native_library": { @@ -897,7 +989,8 @@ "en": "The native VniDrop library is missing from this build.", "fr": "La bibliothèque native de VniDrop est absente de cette version.", "es": "Falta la biblioteca nativa de VniDrop en esta versión.", - "it": "La libreria nativa di VniDrop non è presente in questa build." + "it": "La libreria nativa di VniDrop non è presente in questa build.", + "de": "Die native VniDrop-Bibliothek fehlt in diesem Build." } }, "error_nfc": { @@ -906,7 +999,8 @@ "en": "This NFC tag could not be used. Try another tag.", "fr": "Ce tag NFC n’a pas pu être utilisé. Essayez-en un autre.", "es": "No se pudo usar esta etiqueta NFC. Pruebe con otra.", - "it": "Impossibile usare questo tag NFC. Ne provi un altro." + "it": "Impossibile usare questo tag NFC. Ne provi un altro.", + "de": "Dieses NFC-Tag konnte nicht verwendet werden. Versuchen Sie ein anderes." } }, "error_permission": { @@ -915,7 +1009,8 @@ "en": "The sender has not approved this transfer, or it was refused.", "fr": "L’expéditeur n’a pas approuvé ce transfert, ou il a été refusé.", "es": "El remitente no ha aprobado esta transferencia, o fue rechazada.", - "it": "Il mittente non ha approvato questo trasferimento, oppure è stato rifiutato." + "it": "Il mittente non ha approvato questo trasferimento, oppure è stato rifiutato.", + "de": "Der Absender hat diese Übertragung nicht genehmigt oder sie wurde abgelehnt." } }, "error_repository": { @@ -924,7 +1019,8 @@ "en": "VniDrop could not save transfer data on this device.", "fr": "VniDrop n’a pas pu enregistrer les données de transfert sur cet appareil.", "es": "VniDrop no pudo guardar los datos de la transferencia en este dispositivo.", - "it": "VniDrop non ha potuto salvare i dati del trasferimento su questo dispositivo." + "it": "VniDrop non ha potuto salvare i dati del trasferimento su questo dispositivo.", + "de": "VniDrop konnte die Übertragungsdaten auf diesem Gerät nicht speichern." } }, "error_selection_failed": { @@ -933,7 +1029,8 @@ "en": "Could not open the selected item. Try choosing it again.", "fr": "Impossible d’ouvrir l’élément sélectionné. Essayez de le choisir à nouveau.", "es": "No se pudo abrir el elemento seleccionado. Intente elegirlo de nuevo.", - "it": "Impossibile aprire l’elemento selezionato. Provi a sceglierlo di nuovo." + "it": "Impossibile aprire l’elemento selezionato. Provi a sceglierlo di nuovo.", + "de": "Das ausgewählte Objekt konnte nicht geöffnet werden. Versuchen Sie, es erneut auszuwählen." } }, "error_share_empty": { @@ -942,7 +1039,8 @@ "en": "Select at least one item to share.", "fr": "Sélectionnez au moins un élément à partager.", "es": "Seleccione al menos un elemento para compartir.", - "it": "Selezioni almeno un elemento da condividere." + "it": "Selezioni almeno un elemento da condividere.", + "de": "Wählen Sie mindestens ein Objekt zum Teilen aus." } }, "error_socket_bind": { @@ -951,7 +1049,8 @@ "en": "VniDrop could not open its network sockets on this device.", "fr": "VniDrop n’a pas pu ouvrir ses sockets réseau sur cet appareil.", "es": "VniDrop no pudo abrir sus sockets de red en este dispositivo.", - "it": "VniDrop non ha potuto aprire i suoi socket di rete su questo dispositivo." + "it": "VniDrop non ha potuto aprire i suoi socket di rete su questo dispositivo.", + "de": "VniDrop konnte seine Netzwerk-Sockets auf diesem Gerät nicht öffnen." } }, "error_starting_up": { @@ -960,7 +1059,8 @@ "en": "VniDrop is still starting. Open the invitation again in a moment.", "fr": "VniDrop démarre encore. Rouvrez l’invitation dans un instant.", "es": "VniDrop todavía se está iniciando. Vuelva a abrir la invitación en un momento.", - "it": "VniDrop è ancora in fase di avvio. Riapra l’invito tra un momento." + "it": "VniDrop è ancora in fase di avvio. Riapra l’invito tra un momento.", + "de": "VniDrop startet noch. Öffnen Sie die Einladung gleich erneut." } }, "error_transfer": { @@ -969,7 +1069,8 @@ "en": "The transfer could not be completed. Check your connection and try again.", "fr": "Le transfert n’a pas pu être terminé. Vérifiez votre connexion et réessayez.", "es": "No se pudo completar la transferencia. Compruebe su conexión e inténtelo de nuevo.", - "it": "Impossibile completare il trasferimento. Controlli la connessione e riprovi." + "it": "Impossibile completare il trasferimento. Controlli la connessione e riprovi.", + "de": "Die Übertragung konnte nicht abgeschlossen werden. Überprüfen Sie Ihre Verbindung und versuchen Sie es erneut." } }, "field_receiver_name": { @@ -978,7 +1079,8 @@ "en": "Receiver name", "fr": "Nom du destinataire", "es": "Nombre del destinatario", - "it": "Nome del destinatario" + "it": "Nome del destinatario", + "de": "Empfängername" } }, "field_sender_name": { @@ -987,7 +1089,8 @@ "en": "Sender name", "fr": "Nom de l’expéditeur", "es": "Nombre del remitente", - "it": "Nome del mittente" + "it": "Nome del mittente", + "de": "Absendername" } }, "field_transfer_name": { @@ -996,7 +1099,8 @@ "en": "Transfer name", "fr": "Nom du transfert", "es": "Nombre de la transferencia", - "it": "Nome del trasferimento" + "it": "Nome del trasferimento", + "de": "Übertragungsname" } }, "field_username": { @@ -1005,7 +1109,8 @@ "en": "Display name", "fr": "Nom d’affichage", "es": "Nombre visible", - "it": "Nome visualizzato" + "it": "Nome visualizzato", + "de": "Anzeigename" } }, "folder_status_permission_required": { @@ -1014,7 +1119,8 @@ "en": "Permission needed", "fr": "Autorisation requise", "es": "Permiso necesario", - "it": "Autorizzazione necessaria" + "it": "Autorizzazione necessaria", + "de": "Berechtigung erforderlich" } }, "folder_status_unavailable": { @@ -1023,7 +1129,8 @@ "en": "Unavailable", "fr": "Indisponible", "es": "No disponible", - "it": "Non disponibile" + "it": "Non disponibile", + "de": "Nicht verfügbar" } }, "folder_status_validating": { @@ -1032,7 +1139,8 @@ "en": "Checking folder…", "fr": "Vérification du dossier…", "es": "Comprobando carpeta…", - "it": "Controllo della cartella…" + "it": "Controllo della cartella…", + "de": "Ordner wird geprüft…" } }, "folder_status_writable": { @@ -1041,7 +1149,8 @@ "en": "Ready", "fr": "Prêt", "es": "Listo", - "it": "Pronta" + "it": "Pronta", + "de": "Bereit" } }, "metadata_files": { @@ -1050,7 +1159,8 @@ "en": "Files", "fr": "Fichiers", "es": "Archivos", - "it": "File" + "it": "File", + "de": "Dateien" } }, "metadata_size": { @@ -1059,7 +1169,8 @@ "en": "Size", "fr": "Taille", "es": "Tamaño", - "it": "Dimensione" + "it": "Dimensione", + "de": "Größe" } }, "metadata_status": { @@ -1068,7 +1179,8 @@ "en": "Status", "fr": "Statut", "es": "Estado", - "it": "Stato" + "it": "Stato", + "de": "Status" } }, "nav_receive": { @@ -1077,7 +1189,8 @@ "en": "Receive", "fr": "Recevoir", "es": "Recibir", - "it": "Ricevi" + "it": "Ricevi", + "de": "Empfangen" } }, "nav_send": { @@ -1086,7 +1199,8 @@ "en": "Send", "fr": "Envoyer", "es": "Enviar", - "it": "Invia" + "it": "Invia", + "de": "Senden" } }, "nav_settings": { @@ -1095,7 +1209,8 @@ "en": "Settings", "fr": "Réglages", "es": "Ajustes", - "it": "Impostazioni" + "it": "Impostazioni", + "de": "Einstellungen" } }, "network_title": { @@ -1104,7 +1219,8 @@ "en": "Network", "fr": "Réseau", "es": "Red", - "it": "Rete" + "it": "Rete", + "de": "Netzwerk" } }, "notifications_description": { @@ -1113,7 +1229,8 @@ "en": "Get notified about new receive requests while VniDrop is in the background.", "fr": "Soyez averti des nouvelles demandes de réception lorsque VniDrop est en arrière-plan.", "es": "Reciba avisos sobre nuevas solicitudes de recepción cuando VniDrop está en segundo plano.", - "it": "Ricevi avvisi sulle nuove richieste di ricezione quando VniDrop è in background." + "it": "Ricevi avvisi sulle nuove richieste di ricezione quando VniDrop è in background.", + "de": "Werden Sie über neue Empfangsanfragen benachrichtigt, während VniDrop im Hintergrund läuft." } }, "notifications_enabled_message": { @@ -1122,7 +1239,8 @@ "en": "Notifications enabled.", "fr": "Notifications activées.", "es": "Notificaciones activadas.", - "it": "Notifiche attivate." + "it": "Notifiche attivate.", + "de": "Mitteilungen aktiviert." } }, "notifications_local_title": { @@ -1131,7 +1249,8 @@ "en": "Allow notifications", "fr": "Autoriser les notifications", "es": "Permitir notificaciones", - "it": "Consenti le notifiche" + "it": "Consenti le notifiche", + "de": "Mitteilungen erlauben" } }, "notifications_permission_denied": { @@ -1140,7 +1259,8 @@ "en": "Notifications are turned off for VniDrop. You can enable them in Settings.", "fr": "Les notifications sont désactivées pour VniDrop. Vous pouvez les activer dans les Réglages.", "es": "Las notificaciones están desactivadas para VniDrop. Puede activarlas en Ajustes.", - "it": "Le notifiche sono disattivate per VniDrop. Può attivarle in Impostazioni." + "it": "Le notifiche sono disattivate per VniDrop. Può attivarle in Impostazioni.", + "de": "Mitteilungen sind für VniDrop deaktiviert. Sie können sie in den Einstellungen aktivieren." } }, "notifications_settings_open_failed": { @@ -1149,7 +1269,8 @@ "en": "Could not open notification settings.", "fr": "Impossible d’ouvrir les réglages de notifications.", "es": "No se pudieron abrir los ajustes de notificaciones.", - "it": "Impossibile aprire le impostazioni delle notifiche." + "it": "Impossibile aprire le impostazioni delle notifiche.", + "de": "Die Mitteilungseinstellungen konnten nicht geöffnet werden." } }, "notifications_title": { @@ -1158,7 +1279,8 @@ "en": "Notifications", "fr": "Notifications", "es": "Notificaciones", - "it": "Notifiche" + "it": "Notifiche", + "de": "Mitteilungen" } }, "notifications_unsupported": { @@ -1167,7 +1289,8 @@ "en": "Notifications are not available on this device.", "fr": "Les notifications ne sont pas disponibles sur cet appareil.", "es": "Las notificaciones no están disponibles en este dispositivo.", - "it": "Le notifiche non sono disponibili su questo dispositivo." + "it": "Le notifiche non sono disponibili su questo dispositivo.", + "de": "Mitteilungen sind auf diesem Gerät nicht verfügbar." } }, "os_version_title": { @@ -1176,7 +1299,8 @@ "en": "Operating system", "fr": "Système d’exploitation", "es": "Sistema operativo", - "it": "Sistema operativo" + "it": "Sistema operativo", + "de": "Betriebssystem" } }, "preferences_receive_folder_title": { @@ -1185,7 +1309,8 @@ "en": "Save received transfers to", "fr": "Enregistrer les transferts reçus dans", "es": "Guardar las transferencias recibidas en", - "it": "Salva i trasferimenti ricevuti in" + "it": "Salva i trasferimenti ricevuti in", + "de": "Empfangene Übertragungen sichern in" } }, "preferences_title": { @@ -1194,7 +1319,8 @@ "en": "Preferences", "fr": "Préférences", "es": "Preferencias", - "it": "Preferenze" + "it": "Preferenze", + "de": "Voreinstellungen" } }, "progress_cancelled": { @@ -1203,7 +1329,8 @@ "en": "Cancelled", "fr": "Annulé", "es": "Cancelado", - "it": "Annullato" + "it": "Annullato", + "de": "Abgebrochen" } }, "progress_completed": { @@ -1212,7 +1339,8 @@ "en": "Completed", "fr": "Terminé", "es": "Completado", - "it": "Completato" + "it": "Completato", + "de": "Abgeschlossen" } }, "progress_connected": { @@ -1221,7 +1349,8 @@ "en": "Connected", "fr": "Connecté", "es": "Conectado", - "it": "Connesso" + "it": "Connesso", + "de": "Verbunden" } }, "progress_connecting": { @@ -1230,7 +1359,8 @@ "en": "Connecting", "fr": "Connexion", "es": "Conectando", - "it": "Connessione" + "it": "Connessione", + "de": "Verbinden" } }, "progress_downloading": { @@ -1239,7 +1369,8 @@ "en": "Downloading", "fr": "Téléchargement", "es": "Descargando", - "it": "Download" + "it": "Download", + "de": "Wird geladen" } }, "progress_failed": { @@ -1248,7 +1379,8 @@ "en": "Failed", "fr": "Échec", "es": "Fallido", - "it": "Non riuscito" + "it": "Non riuscito", + "de": "Fehlgeschlagen" } }, "progress_getting_ready": { @@ -1257,7 +1389,8 @@ "en": "Getting ready", "fr": "Préparation", "es": "Preparándose", - "it": "Preparazione" + "it": "Preparazione", + "de": "Wird bereitgemacht" } }, "progress_interrupted": { @@ -1266,7 +1399,8 @@ "en": "Transfer interrupted", "fr": "Transfert interrompu", "es": "Transferencia interrumpida", - "it": "Trasferimento interrotto" + "it": "Trasferimento interrotto", + "de": "Übertragung unterbrochen" } }, "progress_preparing": { @@ -1275,7 +1409,8 @@ "en": "Preparing", "fr": "Préparation", "es": "Preparando", - "it": "Preparazione" + "it": "Preparazione", + "de": "Wird vorbereitet" } }, "progress_ready": { @@ -1284,7 +1419,8 @@ "en": "Ready", "fr": "Prêt", "es": "Listo", - "it": "Pronto" + "it": "Pronto", + "de": "Bereit" } }, "progress_receiving": { @@ -1293,7 +1429,8 @@ "en": "Receiving", "fr": "Réception", "es": "Recibiendo", - "it": "Ricezione" + "it": "Ricezione", + "de": "Wird empfangen" } }, "progress_requesting_access": { @@ -1302,7 +1439,8 @@ "en": "Requesting access", "fr": "Demande d’accès", "es": "Solicitando acceso", - "it": "Richiesta di accesso" + "it": "Richiesta di accesso", + "de": "Zugriff wird angefragt" } }, "progress_saving": { @@ -1311,7 +1449,8 @@ "en": "Saving", "fr": "Enregistrement", "es": "Guardando", - "it": "Salvataggio" + "it": "Salvataggio", + "de": "Wird gesichert" } }, "progress_sending": { @@ -1320,7 +1459,8 @@ "en": "Sending", "fr": "Envoi", "es": "Enviando", - "it": "Invio" + "it": "Invio", + "de": "Wird gesendet" } }, "progress_sending_to_count": { @@ -1329,7 +1469,8 @@ "en": "Sending to {count}", "fr": "Envoi à {count}", "es": "Enviando a {count}", - "it": "Invio a {count}" + "it": "Invio a {count}", + "de": "Senden an {count}" }, "args": [ { @@ -1344,7 +1485,8 @@ "en": "Ready to share", "fr": "Prêt à partager", "es": "Listo para compartir", - "it": "Pronto per la condivisione" + "it": "Pronto per la condivisione", + "de": "Bereit zum Teilen" } }, "progress_working": { @@ -1353,7 +1495,8 @@ "en": "Working…", "fr": "En cours…", "es": "Trabajando…", - "it": "Elaborazione…" + "it": "Elaborazione…", + "de": "Wird bearbeitet…" } }, "receive_choose_method_body": { @@ -1362,7 +1505,8 @@ "en": "Choose the invitation method available to you.", "fr": "Choisissez la méthode d’invitation à votre disposition.", "es": "Elija el método de invitación de que disponga.", - "it": "Scelga il metodo di invito a sua disposizione." + "it": "Scelga il metodo di invito a sua disposizione.", + "de": "Wählen Sie die Ihnen zur Verfügung stehende Einladungsmethode." } }, "receive_choose_method_title": { @@ -1371,7 +1515,8 @@ "en": "How would you like to connect?", "fr": "Comment souhaitez-vous vous connecter ?", "es": "¿Cómo quiere conectarse?", - "it": "Come vuole connettersi?" + "it": "Come vuole connettersi?", + "de": "Wie möchten Sie sich verbinden?" } }, "receive_clear_history": { @@ -1380,7 +1525,8 @@ "en": "Clear history", "fr": "Effacer l’historique", "es": "Borrar historial", - "it": "Cancella cronologia" + "it": "Cancella cronologia", + "de": "Verlauf löschen" } }, "receive_clear_history_description": { @@ -1389,7 +1535,8 @@ "en": "All completed, failed, and cancelled receives will be removed from VniDrop’s history. Downloaded files will remain on this device.", "fr": "Toutes les réceptions terminées, échouées et annulées seront retirées de l’historique de VniDrop. Les fichiers téléchargés resteront sur cet appareil.", "es": "Todas las recepciones completadas, fallidas y canceladas se eliminarán del historial de VniDrop. Los archivos descargados permanecerán en este dispositivo.", - "it": "Tutte le ricezioni completate, non riuscite e annullate verranno rimosse dalla cronologia di VniDrop. I file scaricati rimarranno su questo dispositivo." + "it": "Tutte le ricezioni completate, non riuscite e annullate verranno rimosse dalla cronologia di VniDrop. I file scaricati rimarranno su questo dispositivo.", + "de": "Alle abgeschlossenen, fehlgeschlagenen und abgebrochenen Empfänge werden aus dem Verlauf von VniDrop entfernt. Heruntergeladene Dateien verbleiben auf diesem Gerät." } }, "receive_clear_history_title": { @@ -1398,7 +1545,8 @@ "en": "Clear receive history?", "fr": "Effacer l’historique de réception ?", "es": "¿Borrar el historial de recepción?", - "it": "Cancellare la cronologia di ricezione?" + "it": "Cancellare la cronologia di ricezione?", + "de": "Empfangsverlauf löschen?" } }, "receive_completed": { @@ -1407,7 +1555,8 @@ "en": "Transfer received.", "fr": "Transfert reçu.", "es": "Transferencia recibida.", - "it": "Trasferimento ricevuto." + "it": "Trasferimento ricevuto.", + "de": "Übertragung empfangen." } }, "receive_delete_history_description": { @@ -1422,7 +1571,8 @@ "en": "“{arg1}” will be removed from VniDrop’s history. The downloaded file will remain on this device.", "fr": "« {arg1} » sera retiré de l’historique de VniDrop. Le fichier téléchargé restera sur cet appareil.", "es": "«{arg1}» se eliminará del historial de VniDrop. El archivo descargado permanecerá en este dispositivo.", - "it": "«{arg1}» verrà rimosso dalla cronologia di VniDrop. Il file scaricato rimarrà su questo dispositivo." + "it": "«{arg1}» verrà rimosso dalla cronologia di VniDrop. Il file scaricato rimarrà su questo dispositivo.", + "de": "„{arg1}“ wird aus dem Verlauf von VniDrop entfernt. Die heruntergeladene Datei verbleibt auf diesem Gerät." } }, "receive_delete_history_item": { @@ -1431,7 +1581,8 @@ "en": "Delete from receive history", "fr": "Supprimer de l’historique de réception", "es": "Eliminar del historial de recepción", - "it": "Elimina dalla cronologia di ricezione" + "it": "Elimina dalla cronologia di ricezione", + "de": "Aus Empfangsverlauf löschen" } }, "receive_delete_history_title": { @@ -1440,7 +1591,8 @@ "en": "Remove from history?", "fr": "Retirer de l’historique ?", "es": "¿Quitar del historial?", - "it": "Rimuovere dalla cronologia?" + "it": "Rimuovere dalla cronologia?", + "de": "Aus dem Verlauf entfernen?" } }, "receive_empty_body": { @@ -1449,7 +1601,8 @@ "en": "Open a VniDrop invitation, scan a QR code, or hold near an NFC tag.", "fr": "Ouvrez une invitation VniDrop, scannez un QR code ou approchez un tag NFC.", "es": "Abra una invitación de VniDrop, escanee un código QR o acerque una etiqueta NFC.", - "it": "Apra un invito VniDrop, scansioni un codice QR o avvicini un tag NFC." + "it": "Apra un invito VniDrop, scansioni un codice QR o avvicini un tag NFC.", + "de": "Öffnen Sie eine VniDrop-Einladung, scannen Sie einen QR-Code oder halten Sie das Gerät an ein NFC-Tag." } }, "receive_empty_title": { @@ -1458,7 +1611,8 @@ "en": "Nothing received yet", "fr": "Rien reçu pour l’instant", "es": "Aún no se ha recibido nada", - "it": "Ancora nulla di ricevuto" + "it": "Ancora nulla di ricevuto", + "de": "Noch nichts empfangen" } }, "receive_history_cleared": { @@ -1467,7 +1621,8 @@ "en": "Receive history cleared.", "fr": "Historique de réception effacé.", "es": "Historial de recepción borrado.", - "it": "Cronologia di ricezione cancellata." + "it": "Cronologia di ricezione cancellata.", + "de": "Empfangsverlauf gelöscht." } }, "receive_history_title": { @@ -1476,7 +1631,8 @@ "en": "History", "fr": "Historique", "es": "Historial", - "it": "Cronologia" + "it": "Cronologia", + "de": "Verlauf" } }, "receive_method_file": { @@ -1485,7 +1641,8 @@ "en": "Open a .vnd invitation", "fr": "Ouvrir une invitation .vnd", "es": "Abrir una invitación .vnd", - "it": "Apri un invito .vnd" + "it": "Apri un invito .vnd", + "de": "Eine .vnd-Einladung öffnen" } }, "receive_method_file_description": { @@ -1494,7 +1651,8 @@ "en": "Choose an invitation saved or shared to this device.", "fr": "Choisissez une invitation enregistrée ou partagée sur cet appareil.", "es": "Elija una invitación guardada o compartida en este dispositivo.", - "it": "Scelga un invito salvato o condiviso su questo dispositivo." + "it": "Scelga un invito salvato o condiviso su questo dispositivo.", + "de": "Wählen Sie eine auf diesem Gerät gespeicherte oder geteilte Einladung." } }, "receive_method_nfc": { @@ -1503,7 +1661,8 @@ "en": "Read NFC tag", "fr": "Lire un tag NFC", "es": "Leer etiqueta NFC", - "it": "Leggi tag NFC" + "it": "Leggi tag NFC", + "de": "NFC-Tag lesen" } }, "receive_method_nfc_description": { @@ -1512,7 +1671,8 @@ "en": "Hold this device near the sender’s invitation tag.", "fr": "Approchez cet appareil du tag d’invitation de l’expéditeur.", "es": "Acerque este dispositivo a la etiqueta de invitación del remitente.", - "it": "Avvicini questo dispositivo al tag di invito del mittente." + "it": "Avvicini questo dispositivo al tag di invito del mittente.", + "de": "Halten Sie dieses Gerät an das Einladungs-Tag des Absenders." } }, "receive_method_scan": { @@ -1521,7 +1681,8 @@ "en": "Scan QR code", "fr": "Scanner un QR code", "es": "Escanear código QR", - "it": "Scansiona codice QR" + "it": "Scansiona codice QR", + "de": "QR-Code scannen" } }, "receive_method_scan_description": { @@ -1530,7 +1691,8 @@ "en": "Use the camera to scan the sender’s VniDrop code.", "fr": "Utilisez la caméra pour scanner le code VniDrop de l’expéditeur.", "es": "Use la cámara para escanear el código de VniDrop del remitente.", - "it": "Usi la fotocamera per scansionare il codice VniDrop del mittente." + "it": "Usi la fotocamera per scansionare il codice VniDrop del mittente.", + "de": "Verwenden Sie die Kamera, um den VniDrop-Code des Absenders zu scannen." } }, "receive_new_subtitle": { @@ -1539,7 +1701,8 @@ "en": "Transfers you’ve received on this device.", "fr": "Transferts que vous avez reçus sur cet appareil.", "es": "Transferencias que ha recibido en este dispositivo.", - "it": "Trasferimenti che ha ricevuto su questo dispositivo." + "it": "Trasferimenti che ha ricevuto su questo dispositivo.", + "de": "Übertragungen, die Sie auf diesem Gerät empfangen haben." } }, "receive_nfc_waiting": { @@ -1548,7 +1711,8 @@ "en": "Hold near the NFC tag…", "fr": "Approchez du tag NFC…", "es": "Acerque a la etiqueta NFC…", - "it": "Avvicini al tag NFC…" + "it": "Avvicini al tag NFC…", + "de": "Halten Sie das Gerät an das NFC-Tag…" } }, "receive_open_files_failed": { @@ -1557,7 +1721,8 @@ "en": "Couldn’t open VniDrop in Files.", "fr": "Impossible d’ouvrir VniDrop dans Fichiers.", "es": "No se pudo abrir VniDrop en Archivos.", - "it": "Impossibile aprire VniDrop in File." + "it": "Impossibile aprire VniDrop in File.", + "de": "VniDrop konnte in „Dateien“ nicht geöffnet werden." } }, "receive_review_title": { @@ -1566,7 +1731,8 @@ "en": "Review transfer", "fr": "Vérifier le transfert", "es": "Revisar transferencia", - "it": "Rivedi trasferimento" + "it": "Rivedi trasferimento", + "de": "Übertragung prüfen" } }, "receive_title": { @@ -1575,7 +1741,8 @@ "en": "Receive", "fr": "Recevoir", "es": "Recibir", - "it": "Ricevi" + "it": "Ricevi", + "de": "Empfangen" } }, "receive_unknown_transfer": { @@ -1584,7 +1751,8 @@ "en": "VniDrop transfer", "fr": "Transfert VniDrop", "es": "Transferencia de VniDrop", - "it": "Trasferimento VniDrop" + "it": "Trasferimento VniDrop", + "de": "VniDrop-Übertragung" } }, "send_access_anyone": { @@ -1593,7 +1761,8 @@ "en": "Anyone with this transfer", "fr": "Toute personne disposant de ce transfert", "es": "Cualquiera que tenga esta transferencia", - "it": "Chiunque abbia questo trasferimento" + "it": "Chiunque abbia questo trasferimento", + "de": "Jeder mit dieser Übertragung" } }, "send_access_anyone_description": { @@ -1602,7 +1771,8 @@ "en": "No approval is required. Only use this for items you are comfortable sharing.", "fr": "Aucune approbation requise. À n’utiliser que pour des éléments que vous êtes à l’aise de partager.", "es": "No se requiere aprobación. Úselo solo para elementos que no le importe compartir.", - "it": "Nessuna approvazione richiesta. Da usare solo per elementi che non ha problemi a condividere." + "it": "Nessuna approvazione richiesta. Da usare solo per elementi che non ha problemi a condividere.", + "de": "Keine Genehmigung erforderlich. Verwenden Sie dies nur für Objekte, die Sie unbedenklich teilen können." } }, "send_access_anyone_warning": { @@ -1611,7 +1781,8 @@ "en": "Anyone with the invitation can download until you stop sharing. Do not use this for private or sensitive items.", "fr": "Toute personne disposant de l’invitation peut télécharger jusqu’à ce que vous arrêtiez le partage. Ne l’utilisez pas pour des éléments privés ou sensibles.", "es": "Cualquiera que tenga la invitación puede descargar hasta que deje de compartir. No lo use para elementos privados o sensibles.", - "it": "Chiunque abbia l’invito può scaricare finché non interrompe la condivisione. Non lo usi per elementi privati o sensibili." + "it": "Chiunque abbia l’invito può scaricare finché non interrompe la condivisione. Non lo usi per elementi privati o sensibili.", + "de": "Jeder mit der Einladung kann herunterladen, bis Sie die Freigabe beenden. Verwenden Sie dies nicht für private oder sensible Objekte." } }, "send_access_approval": { @@ -1620,7 +1791,8 @@ "en": "Ask before each download", "fr": "Demander avant chaque téléchargement", "es": "Preguntar antes de cada descarga", - "it": "Chiedi prima di ogni download" + "it": "Chiedi prima di ogni download", + "de": "Vor jedem Download fragen" } }, "send_access_approval_description": { @@ -1629,7 +1801,8 @@ "en": "You approve or refuse every new receiver.", "fr": "Vous approuvez ou refusez chaque nouveau destinataire.", "es": "Usted aprueba o rechaza a cada nuevo destinatario.", - "it": "Approva o rifiuta ogni nuovo destinatario." + "it": "Approva o rifiuta ogni nuovo destinatario.", + "de": "Sie genehmigen oder lehnen jeden neuen Empfänger ab." } }, "send_access_title": { @@ -1638,7 +1811,8 @@ "en": "Who can receive it?", "fr": "Qui peut le recevoir ?", "es": "¿Quién puede recibirla?", - "it": "Chi può riceverlo?" + "it": "Chi può riceverlo?", + "de": "Wer kann sie empfangen?" } }, "send_choose_file_body": { @@ -1647,7 +1821,8 @@ "en": "Select files or a folder from this device. You can review the selection before creating the transfer.", "fr": "Sélectionnez des fichiers ou un dossier sur cet appareil. Vous pourrez vérifier la sélection avant de créer le transfert.", "es": "Seleccione archivos o una carpeta de este dispositivo. Podrá revisar la selección antes de crear la transferencia.", - "it": "Selezioni file o una cartella da questo dispositivo. Potrà rivedere la selezione prima di creare il trasferimento." + "it": "Selezioni file o una cartella da questo dispositivo. Potrà rivedere la selezione prima di creare il trasferimento.", + "de": "Wählen Sie Dateien oder einen Ordner auf diesem Gerät aus. Sie können die Auswahl überprüfen, bevor Sie die Übertragung erstellen." } }, "send_choose_file_title": { @@ -1656,7 +1831,8 @@ "en": "Choose what to share", "fr": "Choisissez quoi partager", "es": "Elija qué compartir", - "it": "Scelga cosa condividere" + "it": "Scelga cosa condividere", + "de": "Wählen Sie, was Sie teilen möchten" } }, "send_empty_body": { @@ -1665,7 +1841,8 @@ "en": "Create a transfer, decide who can receive it, then invite them with a QR code, NFC tag, or invitation file.", "fr": "Créez un transfert, décidez qui peut le recevoir, puis invitez-les avec un QR code, un tag NFC ou un fichier d’invitation.", "es": "Cree una transferencia, decida quién puede recibirla y luego invite a esas personas con un código QR, una etiqueta NFC o un archivo de invitación.", - "it": "Crei un trasferimento, decida chi può riceverlo, poi inviti queste persone con un codice QR, un tag NFC o un file di invito." + "it": "Crei un trasferimento, decida chi può riceverlo, poi inviti queste persone con un codice QR, un tag NFC o un file di invito.", + "de": "Erstellen Sie eine Übertragung, entscheiden Sie, wer sie empfangen darf, und laden Sie diese Personen dann mit einem QR-Code, einem NFC-Tag oder einer Einladungsdatei ein." } }, "send_empty_title": { @@ -1674,7 +1851,8 @@ "en": "Nothing shared yet", "fr": "Rien partagé pour l’instant", "es": "Aún no se ha compartido nada", - "it": "Ancora nulla di condiviso" + "it": "Ancora nulla di condiviso", + "de": "Noch nichts geteilt" } }, "send_file_size_unknown": { @@ -1683,7 +1861,8 @@ "en": "Size unavailable", "fr": "Taille indisponible", "es": "Tamaño no disponible", - "it": "Dimensione non disponibile" + "it": "Dimensione non disponibile", + "de": "Größe nicht verfügbar" } }, "send_folder_label": { @@ -1692,7 +1871,8 @@ "en": "Folder", "fr": "Dossier", "es": "Carpeta", - "it": "Cartella" + "it": "Cartella", + "de": "Ordner" } }, "send_new_transfer_description": { @@ -1701,7 +1881,8 @@ "en": "Create a new transfer", "fr": "Créer un nouveau transfert", "es": "Crear una nueva transferencia", - "it": "Crea un nuovo trasferimento" + "it": "Crea un nuovo trasferimento", + "de": "Eine neue Übertragung erstellen" } }, "send_new_transfer_title": { @@ -1710,7 +1891,8 @@ "en": "New transfer", "fr": "Nouveau transfert", "es": "Nueva transferencia", - "it": "Nuovo trasferimento" + "it": "Nuovo trasferimento", + "de": "Neue Übertragung" } }, "send_review_title": { @@ -1719,7 +1901,8 @@ "en": "Review transfer", "fr": "Vérifier le transfert", "es": "Revisar transferencia", - "it": "Rivedi trasferimento" + "it": "Rivedi trasferimento", + "de": "Übertragung prüfen" } }, "send_selected_files_count": { @@ -1734,7 +1917,8 @@ "en": "{count} files selected", "fr": "{count} fichiers sélectionnés", "es": "{count} archivos seleccionados", - "it": "{count} file selezionati" + "it": "{count} file selezionati", + "de": "{count} Dateien ausgewählt" } }, "send_stop_sharing": { @@ -1743,7 +1927,8 @@ "en": "Stop sharing", "fr": "Arrêter le partage", "es": "Dejar de compartir", - "it": "Interrompi condivisione" + "it": "Interrompi condivisione", + "de": "Freigabe beenden" } }, "send_stop_sharing_description": { @@ -1752,7 +1937,8 @@ "en": "This stops the transfer and interrupts anyone currently downloading it. It stays in your history as Stopped.", "fr": "Cela arrête le transfert et interrompt toute personne en train de le télécharger. Il reste dans votre historique en tant qu’Arrêté.", "es": "Esto detiene la transferencia e interrumpe a quien esté descargándola. Permanece en su historial como Detenida.", - "it": "Questo interrompe il trasferimento e blocca chiunque lo stia scaricando. Rimane nella sua cronologia come Interrotto." + "it": "Questo interrompe il trasferimento e blocca chiunque lo stia scaricando. Rimane nella sua cronologia come Interrotto.", + "de": "Dies beendet die Übertragung und unterbricht alle, die sie gerade herunterladen. Sie verbleibt in Ihrem Verlauf als „Beendet“." } }, "send_subtitle": { @@ -1761,7 +1947,8 @@ "en": "Transfers you’re sharing from this device.", "fr": "Transferts que vous partagez depuis cet appareil.", "es": "Transferencias que está compartiendo desde este dispositivo.", - "it": "Trasferimenti che sta condividendo da questo dispositivo." + "it": "Trasferimenti che sta condividendo da questo dispositivo.", + "de": "Übertragungen, die Sie von diesem Gerät aus teilen." } }, "send_title": { @@ -1770,7 +1957,8 @@ "en": "Send", "fr": "Envoyer", "es": "Enviar", - "it": "Invia" + "it": "Invia", + "de": "Senden" } }, "send_transfer_created": { @@ -1779,7 +1967,8 @@ "en": "Transfer created.", "fr": "Transfert créé.", "es": "Transferencia creada.", - "it": "Trasferimento creato." + "it": "Trasferimento creato.", + "de": "Übertragung erstellt." } }, "send_transfer_details_title": { @@ -1788,7 +1977,8 @@ "en": "Transfer details", "fr": "Détails du transfert", "es": "Detalles de la transferencia", - "it": "Dettagli del trasferimento" + "it": "Dettagli del trasferimento", + "de": "Übertragungsdetails" } }, "send_transfers_title": { @@ -1797,7 +1987,8 @@ "en": "Your transfers", "fr": "Vos transferts", "es": "Sus transferencias", - "it": "I suoi trasferimenti" + "it": "I suoi trasferimenti", + "de": "Ihre Übertragungen" } }, "settings_subtitle": { @@ -1806,7 +1997,8 @@ "en": "Your name, where transfers are saved, appearance, and notifications.", "fr": "Votre nom, l’emplacement d’enregistrement des transferts, l’apparence et les notifications.", "es": "Su nombre, dónde se guardan las transferencias, la apariencia y las notificaciones.", - "it": "Il suo nome, dove vengono salvati i trasferimenti, l’aspetto e le notifiche." + "it": "Il suo nome, dove vengono salvati i trasferimenti, l’aspetto e le notifiche.", + "de": "Ihr Name, wo Übertragungen gesichert werden, Darstellung und Mitteilungen." } }, "settings_title": { @@ -1815,7 +2007,8 @@ "en": "Settings", "fr": "Réglages", "es": "Ajustes", - "it": "Impostazioni" + "it": "Impostazioni", + "de": "Einstellungen" } }, "snackbar_dismiss": { @@ -1824,7 +2017,8 @@ "en": "Dismiss", "fr": "Ignorer", "es": "Descartar", - "it": "Ignora" + "it": "Ignora", + "de": "Ausblenden" } }, "status_available": { @@ -1833,7 +2027,8 @@ "en": "Available", "fr": "Disponible", "es": "Disponible", - "it": "Disponibile" + "it": "Disponibile", + "de": "Verfügbar" } }, "status_cancelled": { @@ -1842,7 +2037,8 @@ "en": "Cancelled", "fr": "Annulé", "es": "Cancelado", - "it": "Annullato" + "it": "Annullato", + "de": "Abgebrochen" } }, "status_completed": { @@ -1851,7 +2047,8 @@ "en": "Completed", "fr": "Terminé", "es": "Completado", - "it": "Completato" + "it": "Completato", + "de": "Abgeschlossen" } }, "status_failed": { @@ -1860,7 +2057,8 @@ "en": "Failed", "fr": "Échec", "es": "Fallido", - "it": "Non riuscito" + "it": "Non riuscito", + "de": "Fehlgeschlagen" } }, "status_preparing": { @@ -1869,7 +2067,8 @@ "en": "Preparing", "fr": "Préparation", "es": "Preparando", - "it": "Preparazione" + "it": "Preparazione", + "de": "Wird vorbereitet" } }, "status_receiving": { @@ -1878,7 +2077,8 @@ "en": "Receiving", "fr": "Réception", "es": "Recibiendo", - "it": "Ricezione" + "it": "Ricezione", + "de": "Wird empfangen" } }, "status_stopped": { @@ -1887,7 +2087,8 @@ "en": "Stopped", "fr": "Arrêté", "es": "Detenido", - "it": "Interrotto" + "it": "Interrotto", + "de": "Beendet" } }, "storage_calculating": { @@ -1896,7 +2097,8 @@ "en": "Calculating…", "fr": "Calcul…", "es": "Calculando…", - "it": "Calcolo…" + "it": "Calcolo…", + "de": "Wird berechnet…" } }, "storage_delete_transfers": { @@ -1905,7 +2107,8 @@ "en": "Delete all transfers", "fr": "Supprimer tous les transferts", "es": "Eliminar todas las transferencias", - "it": "Elimina tutti i trasferimenti" + "it": "Elimina tutti i trasferimenti", + "de": "Alle Übertragungen löschen" } }, "storage_delete_transfers_description": { @@ -1914,7 +2117,8 @@ "en": "This clears all sent and received transfer records from your history. Your received files are not deleted. Note: the transfer engine keeps its stored content, so Transfer data may not decrease. This can’t be undone.", "fr": "Cela efface tous les enregistrements de transferts envoyés et reçus de votre historique. Vos fichiers reçus ne sont pas supprimés. Remarque : le moteur de transfert conserve son contenu stocké, donc les données de transfert peuvent ne pas diminuer. Cette action est irréversible.", "es": "Esto borra todos los registros de transferencias enviadas y recibidas de su historial. Sus archivos recibidos no se eliminan. Nota: el motor de transferencia conserva su contenido almacenado, por lo que los datos de transferencia pueden no disminuir. Esto no se puede deshacer.", - "it": "Questo cancella dalla cronologia tutti i record dei trasferimenti inviati e ricevuti. I suoi file ricevuti non vengono eliminati. Nota: il motore di trasferimento conserva il contenuto memorizzato, quindi i dati di trasferimento potrebbero non diminuire. Questa operazione non può essere annullata." + "it": "Questo cancella dalla cronologia tutti i record dei trasferimenti inviati e ricevuti. I suoi file ricevuti non vengono eliminati. Nota: il motore di trasferimento conserva il contenuto memorizzato, quindi i dati di trasferimento potrebbero non diminuire. Questa operazione non può essere annullata.", + "de": "Dies löscht alle Datensätze gesendeter und empfangener Übertragungen aus Ihrem Verlauf. Ihre empfangenen Dateien werden nicht gelöscht. Hinweis: Die Übertragungs-Engine behält ihre gespeicherten Inhalte, sodass die Übertragungsdaten möglicherweise nicht abnehmen. Dies kann nicht rückgängig gemacht werden." } }, "storage_deleting": { @@ -1923,7 +2127,8 @@ "en": "Deleting…", "fr": "Suppression…", "es": "Eliminando…", - "it": "Eliminazione…" + "it": "Eliminazione…", + "de": "Wird gelöscht…" } }, "storage_footer": { @@ -1932,7 +2137,8 @@ "en": "Transfer data is managed by the transfer engine — your history plus the content of files you’ve shared. The button below clears your transfer records; the engine keeps its stored content, so this value may not drop. Received files are your downloaded files and are never deleted here.", "fr": "Les données de transfert sont gérées par le moteur de transfert — votre historique ainsi que le contenu des fichiers que vous avez partagés. Le bouton ci-dessous efface vos enregistrements de transferts ; le moteur conserve son contenu stocké, donc cette valeur peut ne pas baisser. Les fichiers reçus sont vos fichiers téléchargés et ne sont jamais supprimés ici.", "es": "Los datos de transferencia los gestiona el motor de transferencia: su historial más el contenido de los archivos que ha compartido. El botón de abajo borra sus registros de transferencias; el motor conserva su contenido almacenado, por lo que este valor puede no bajar. Los archivos recibidos son los archivos que ha descargado y nunca se eliminan aquí.", - "it": "I dati di trasferimento sono gestiti dal motore di trasferimento: la sua cronologia più il contenuto dei file che ha condiviso. Il pulsante qui sotto cancella i record dei trasferimenti; il motore conserva il contenuto memorizzato, quindi questo valore potrebbe non diminuire. I file ricevuti sono i file che ha scaricato e non vengono mai eliminati qui." + "it": "I dati di trasferimento sono gestiti dal motore di trasferimento: la sua cronologia più il contenuto dei file che ha condiviso. Il pulsante qui sotto cancella i record dei trasferimenti; il motore conserva il contenuto memorizzato, quindi questo valore potrebbe non diminuire. I file ricevuti sono i file che ha scaricato e non vengono mai eliminati qui.", + "de": "Übertragungsdaten werden von der Übertragungs-Engine verwaltet – Ihr Verlauf sowie der Inhalt der von Ihnen geteilten Dateien. Die Schaltfläche unten löscht Ihre Übertragungsdatensätze; die Engine behält ihre gespeicherten Inhalte, sodass dieser Wert möglicherweise nicht sinkt. Empfangene Dateien sind Ihre heruntergeladenen Dateien und werden hier niemals gelöscht." } }, "storage_received_files": { @@ -1941,7 +2147,8 @@ "en": "Received files", "fr": "Fichiers reçus", "es": "Archivos recibidos", - "it": "File ricevuti" + "it": "File ricevuti", + "de": "Empfangene Dateien" } }, "storage_temporary": { @@ -1950,7 +2157,8 @@ "en": "Temporary files", "fr": "Fichiers temporaires", "es": "Archivos temporales", - "it": "File temporanei" + "it": "File temporanei", + "de": "Temporäre Dateien" } }, "storage_title": { @@ -1959,7 +2167,8 @@ "en": "Storage", "fr": "Stockage", "es": "Almacenamiento", - "it": "Archiviazione" + "it": "Archiviazione", + "de": "Speicher" } }, "storage_total": { @@ -1968,7 +2177,8 @@ "en": "Total", "fr": "Total", "es": "Total", - "it": "Totale" + "it": "Totale", + "de": "Gesamt" } }, "storage_transfer_data": { @@ -1977,7 +2187,8 @@ "en": "Transfer data", "fr": "Données de transfert", "es": "Datos de transferencia", - "it": "Dati di trasferimento" + "it": "Dati di trasferimento", + "de": "Übertragungsdaten" } }, "storage_transfers_deleted": { @@ -1986,7 +2197,8 @@ "en": "All transfers deleted", "fr": "Tous les transferts supprimés", "es": "Todas las transferencias eliminadas", - "it": "Tutti i trasferimenti eliminati" + "it": "Tutti i trasferimenti eliminati", + "de": "Alle Übertragungen gelöscht" } }, "transfer_activity_description": { @@ -1995,7 +2207,8 @@ "en": "See important updates for this transfer", "fr": "Consultez les mises à jour importantes de ce transfert", "es": "Vea las actualizaciones importantes de esta transferencia", - "it": "Veda gli aggiornamenti importanti di questo trasferimento" + "it": "Veda gli aggiornamenti importanti di questo trasferimento", + "de": "Wichtige Aktualisierungen zu dieser Übertragung ansehen" } }, "transfer_activity_title": { @@ -2004,7 +2217,8 @@ "en": "Activity", "fr": "Activité", "es": "Actividad", - "it": "Attività" + "it": "Attività", + "de": "Aktivität" } }, "transfer_delete_description": { @@ -2019,7 +2233,8 @@ "en": "“{arg1}” will stop being shared and its transfer history will be removed from this device.", "fr": "« {arg1} » cessera d’être partagé et son historique de transfert sera retiré de cet appareil.", "es": "«{arg1}» dejará de compartirse y su historial de transferencia se eliminará de este dispositivo.", - "it": "«{arg1}» non verrà più condiviso e la sua cronologia di trasferimento verrà rimossa da questo dispositivo." + "it": "«{arg1}» non verrà più condiviso e la sua cronologia di trasferimento verrà rimossa da questo dispositivo.", + "de": "„{arg1}“ wird nicht mehr geteilt und sein Übertragungsverlauf wird von diesem Gerät entfernt." } }, "transfer_delete_title": { @@ -2028,7 +2243,8 @@ "en": "Delete transfer?", "fr": "Supprimer le transfert ?", "es": "¿Eliminar la transferencia?", - "it": "Eliminare il trasferimento?" + "it": "Eliminare il trasferimento?", + "de": "Übertragung löschen?" } }, "transfer_deleted": { @@ -2037,7 +2253,8 @@ "en": "Transfer deleted.", "fr": "Transfert supprimé.", "es": "Transferencia eliminada.", - "it": "Trasferimento eliminato." + "it": "Trasferimento eliminato.", + "de": "Übertragung gelöscht." } }, "transfer_deleting": { @@ -2046,7 +2263,8 @@ "en": "Deleting…", "fr": "Suppression…", "es": "Eliminando…", - "it": "Eliminazione…" + "it": "Eliminazione…", + "de": "Wird gelöscht…" } }, "transfer_details_title": { @@ -2055,7 +2273,8 @@ "en": "Transfer details", "fr": "Détails du transfert", "es": "Detalles de la transferencia", - "it": "Dettagli del trasferimento" + "it": "Dettagli del trasferimento", + "de": "Übertragungsdetails" } }, "transfer_event_approved": { @@ -2064,7 +2283,8 @@ "en": "Receiver access approved", "fr": "Accès du destinataire approuvé", "es": "Acceso del destinatario aprobado", - "it": "Accesso del destinatario approvato" + "it": "Accesso del destinatario approvato", + "de": "Empfängerzugriff genehmigt" } }, "transfer_event_completed": { @@ -2073,7 +2293,8 @@ "en": "A receiver completed the transfer", "fr": "Un destinataire a terminé le transfert", "es": "Un destinatario completó la transferencia", - "it": "Un destinatario ha completato il trasferimento" + "it": "Un destinatario ha completato il trasferimento", + "de": "Ein Empfänger hat die Übertragung abgeschlossen" } }, "transfer_event_connecting": { @@ -2082,7 +2303,8 @@ "en": "Connecting to sender", "fr": "Connexion à l’expéditeur", "es": "Conectando con el remitente", - "it": "Connessione al mittente" + "it": "Connessione al mittente", + "de": "Verbindung zum Absender" } }, "transfer_event_downloading": { @@ -2091,7 +2313,8 @@ "en": "Downloading", "fr": "Téléchargement", "es": "Descargando", - "it": "Download" + "it": "Download", + "de": "Wird geladen" } }, "transfer_event_failed": { @@ -2100,7 +2323,8 @@ "en": "The transfer encountered a problem", "fr": "Le transfert a rencontré un problème", "es": "La transferencia tuvo un problema", - "it": "Il trasferimento ha riscontrato un problema" + "it": "Il trasferimento ha riscontrato un problema", + "de": "Bei der Übertragung ist ein Problem aufgetreten" } }, "transfer_event_preparing": { @@ -2109,7 +2333,8 @@ "en": "Preparing your transfer", "fr": "Préparation de votre transfert", "es": "Preparando su transferencia", - "it": "Preparazione del trasferimento" + "it": "Preparazione del trasferimento", + "de": "Ihre Übertragung wird vorbereitet" } }, "transfer_event_ready": { @@ -2118,7 +2343,8 @@ "en": "Ready to share", "fr": "Prêt à partager", "es": "Listo para compartir", - "it": "Pronto per la condivisione" + "it": "Pronto per la condivisione", + "de": "Bereit zum Teilen" } }, "transfer_event_refused": { @@ -2127,7 +2353,8 @@ "en": "Receiver access refused", "fr": "Accès du destinataire refusé", "es": "Acceso del destinatario rechazado", - "it": "Accesso del destinatario rifiutato" + "it": "Accesso del destinatario rifiutato", + "de": "Empfängerzugriff abgelehnt" } }, "transfer_event_requested": { @@ -2136,7 +2363,8 @@ "en": "A receiver requested access", "fr": "Un destinataire a demandé l’accès", "es": "Un destinatario solicitó acceso", - "it": "Un destinatario ha richiesto l’accesso" + "it": "Un destinatario ha richiesto l’accesso", + "de": "Ein Empfänger hat Zugriff angefragt" } }, "transfer_event_saving": { @@ -2145,7 +2373,8 @@ "en": "Saving", "fr": "Enregistrement", "es": "Guardando", - "it": "Salvataggio" + "it": "Salvataggio", + "de": "Wird gesichert" } }, "transfer_event_stopped": { @@ -2154,7 +2383,8 @@ "en": "Sharing stopped", "fr": "Partage arrêté", "es": "Se dejó de compartir", - "it": "Condivisione interrotta" + "it": "Condivisione interrotta", + "de": "Freigabe beendet" } }, "transfer_event_updated": { @@ -2163,7 +2393,8 @@ "en": "Transfer updated", "fr": "Transfert mis à jour", "es": "Transferencia actualizada", - "it": "Trasferimento aggiornato" + "it": "Trasferimento aggiornato", + "de": "Übertragung aktualisiert" } }, "transfer_file_count": { @@ -2190,6 +2421,10 @@ "it": { "one": "{count} file", "other": "{count} file" + }, + "de": { + "one": "{count} Datei", + "other": "{count} Dateien" } } }, @@ -2199,7 +2434,8 @@ "en": "Invitation saved.", "fr": "Invitation enregistrée.", "es": "Invitación guardada.", - "it": "Invito salvato." + "it": "Invito salvato.", + "de": "Einladung gesichert." } }, "transfer_nearby_device": { @@ -2208,7 +2444,8 @@ "en": "Nearby device", "fr": "Appareil à proximité", "es": "Dispositivo cercano", - "it": "Dispositivo nelle vicinanze" + "it": "Dispositivo nelle vicinanze", + "de": "Gerät in der Nähe" } }, "transfer_nfc_unavailable": { @@ -2217,7 +2454,8 @@ "en": "NFC tag writing is not available on this device.", "fr": "L’écriture de tag NFC n’est pas disponible sur cet appareil.", "es": "La escritura de etiquetas NFC no está disponible en este dispositivo.", - "it": "La scrittura dei tag NFC non è disponibile su questo dispositivo." + "it": "La scrittura dei tag NFC non è disponibile su questo dispositivo.", + "de": "Das Beschreiben von NFC-Tags ist auf diesem Gerät nicht verfügbar." } }, "transfer_nfc_waiting": { @@ -2226,7 +2464,8 @@ "en": "Hold your device near a writable NFC tag.", "fr": "Approchez votre appareil d’un tag NFC inscriptible.", "es": "Acerque su dispositivo a una etiqueta NFC grabable.", - "it": "Avvicini il dispositivo a un tag NFC scrivibile." + "it": "Avvicini il dispositivo a un tag NFC scrivibile.", + "de": "Halten Sie Ihr Gerät an ein beschreibbares NFC-Tag." } }, "transfer_nfc_written": { @@ -2235,7 +2474,8 @@ "en": "Invitation written to the NFC tag.", "fr": "Invitation écrite sur le tag NFC.", "es": "Invitación escrita en la etiqueta NFC.", - "it": "Invito scritto sul tag NFC." + "it": "Invito scritto sul tag NFC.", + "de": "Einladung auf das NFC-Tag geschrieben." } }, "transfer_no_activity": { @@ -2244,7 +2484,8 @@ "en": "There is no activity to show yet.", "fr": "Aucune activité à afficher pour l’instant.", "es": "Todavía no hay actividad que mostrar.", - "it": "Non c’è ancora alcuna attività da mostrare." + "it": "Non c’è ancora alcuna attività da mostrare.", + "de": "Es gibt noch keine Aktivität anzuzeigen." } }, "transfer_no_receivers": { @@ -2253,7 +2494,8 @@ "en": "Nobody has requested this transfer yet.", "fr": "Personne n’a encore demandé ce transfert.", "es": "Nadie ha solicitado aún esta transferencia.", - "it": "Nessuno ha ancora richiesto questo trasferimento." + "it": "Nessuno ha ancora richiesto questo trasferimento.", + "de": "Noch niemand hat diese Übertragung angefragt." } }, "transfer_receiver_accepted": { @@ -2262,7 +2504,8 @@ "en": "Approved — waiting for completion", "fr": "Approuvé — en attente de la fin", "es": "Aprobado: esperando a que se complete", - "it": "Approvato: in attesa del completamento" + "it": "Approvato: in attesa del completamento", + "de": "Genehmigt – wartet auf Abschluss" } }, "transfer_receiver_completed": { @@ -2271,7 +2514,8 @@ "en": "Received successfully", "fr": "Reçu avec succès", "es": "Recibido correctamente", - "it": "Ricevuto correttamente" + "it": "Ricevuto correttamente", + "de": "Erfolgreich empfangen" } }, "transfer_receiver_expired": { @@ -2280,7 +2524,8 @@ "en": "Request expired", "fr": "Demande expirée", "es": "Solicitud caducada", - "it": "Richiesta scaduta" + "it": "Richiesta scaduta", + "de": "Anfrage abgelaufen" } }, "transfer_receiver_refused": { @@ -2289,7 +2534,8 @@ "en": "Request refused", "fr": "Demande refusée", "es": "Solicitud rechazada", - "it": "Richiesta rifiutata" + "it": "Richiesta rifiutata", + "de": "Anfrage abgelehnt" } }, "transfer_receiver_requested": { @@ -2298,7 +2544,8 @@ "en": "Waiting for your approval", "fr": "En attente de votre approbation", "es": "Esperando su aprobación", - "it": "In attesa della sua approvazione" + "it": "In attesa della sua approvazione", + "de": "Wartet auf Ihre Genehmigung" } }, "transfer_receiver_unknown": { @@ -2307,7 +2554,8 @@ "en": "Status unavailable", "fr": "Statut indisponible", "es": "Estado no disponible", - "it": "Stato non disponibile" + "it": "Stato non disponibile", + "de": "Status nicht verfügbar" } }, "transfer_receivers_completed_count": { @@ -2322,7 +2570,8 @@ "en": "{count} completed", "fr": "{count} terminés", "es": "{count} completados", - "it": "{count} completati" + "it": "{count} completati", + "de": "{count} abgeschlossen" } }, "transfer_receivers_description": { @@ -2331,7 +2580,8 @@ "en": "Requests, approvals, and completed deliveries", "fr": "Demandes, approbations et livraisons terminées", "es": "Solicitudes, aprobaciones y entregas completadas", - "it": "Richieste, approvazioni e consegne completate" + "it": "Richieste, approvazioni e consegne completate", + "de": "Anfragen, Genehmigungen und abgeschlossene Zustellungen" } }, "transfer_receivers_pending": { @@ -2346,7 +2596,8 @@ "en": "{count} waiting", "fr": "{count} en attente", "es": "{count} en espera", - "it": "{count} in attesa" + "it": "{count} in attesa", + "de": "{count} warten" } }, "transfer_receivers_title": { @@ -2355,7 +2606,8 @@ "en": "Receivers", "fr": "Destinataires", "es": "Destinatarios", - "it": "Destinatari" + "it": "Destinatari", + "de": "Empfänger" } }, "transfer_scan_qr": { @@ -2364,7 +2616,8 @@ "en": "Scan with VniDrop to receive this transfer", "fr": "Scannez avec VniDrop pour recevoir ce transfert", "es": "Escanee con VniDrop para recibir esta transferencia", - "it": "Scansioni con VniDrop per ricevere questo trasferimento" + "it": "Scansioni con VniDrop per ricevere questo trasferimento", + "de": "Mit VniDrop scannen, um diese Übertragung zu empfangen" } }, "transfer_share_description": { @@ -2373,7 +2626,8 @@ "en": "QR code, invitation file, and nearby options", "fr": "QR code, fichier d’invitation et options à proximité", "es": "Código QR, archivo de invitación y opciones cercanas", - "it": "Codice QR, file di invito e opzioni nelle vicinanze" + "it": "Codice QR, file di invito e opzioni nelle vicinanze", + "de": "QR-Code, Einladungsdatei und Optionen in der Nähe" } }, "transfer_share_title": { @@ -2382,7 +2636,8 @@ "en": "Share", "fr": "Partager", "es": "Compartir", - "it": "Condividi" + "it": "Condividi", + "de": "Teilen" } }, "value_unavailable": { @@ -2391,7 +2646,8 @@ "en": "Not available", "fr": "Non disponible", "es": "No disponible", - "it": "Non disponibile" + "it": "Non disponibile", + "de": "Nicht verfügbar" } }, "version_title": { @@ -2400,7 +2656,8 @@ "en": "App version", "fr": "Version de l’app", "es": "Versión de la app", - "it": "Versione dell’app" + "it": "Versione dell’app", + "de": "App-Version" } } } diff --git a/shared/src/commonMain/composeResources/values-de/strings.xml b/shared/src/commonMain/composeResources/values-de/strings.xml new file mode 100644 index 0000000..7e4c535 --- /dev/null +++ b/shared/src/commonMain/composeResources/values-de/strings.xml @@ -0,0 +1,257 @@ + + + Fehler melden + VniDrop überträgt Dateien und Ordner direkt von einem Gerät auf ein anderes über das Netzwerk, ohne sie auf einen Hosting-Dienst hochzuladen. Es muss kein Konto erstellt werden, und nach Abschluss verbleibt keine Kopie Ihrer Übertragung in der Cloud. + Eine direkte Gerät-zu-Gerät-Übertragung – Ihre Dateien gehen direkt an den Empfänger. + Verbindungen sind authentifiziert und Ende-zu-Ende-verschlüsselt (über Iroh), und eingehende Dateien werden anhand ihres Inhalts-Hashs überprüft. + Sie entscheiden, wer empfängt: Genehmigen Sie jede Anfrage oder öffnen Sie eine Übertragung für alle, die die Einladung besitzen. + Ohne Konto – es gibt nichts zu registrieren. + Open Source, veröffentlicht unter der Apache-2.0-Lizenz. + Was VniDrop ist + Kein Cloud-Speicher – kein Server hält Ihre Dateien, und nach einer Übertragung wartet nichts in der Cloud. + Keine öffentliche Übertragung – eine Einladung ist ein privater Zugangslink, keine Ankündigung an alle in der Nähe. + Kein Synchronisierungs- oder Backup-Dienst. + Was VniDrop nicht ist + Lizenz + Datenschutzrichtlinie + Einladungen sind Zugangsschlüssel. Behandeln Sie einen QR-Code, ein NFC-Tag oder eine .vnd-Datei wie einen privaten Zugangslink und teilen Sie ihn nur mit den vorgesehenen Personen – insbesondere bei „Jeder mit dieser Übertragung“. + Standardmäßig ablehnen – VniDrop stellt nur den Inhalt einer aktiven Freigabe bereit und weist unbekannte Anfragen ab. + Empfangene Dateien werden auf Ihrem Gerät gespeichert und überschreiben niemals eine vorhandene Datei. + Datenschutzrichtlinie + Wenn zwei Geräte sich nicht direkt verbinden können, kann die verschlüsselte Verbindung weitergeleitet werden. Relays leiten nur verschlüsselte Pakete weiter; sie speichern niemals Ihre Dateien. + Datenschutz & Sicherheit + Senden Sie Dateien direkt. Behalten Sie die Kontrolle darüber, wer sie empfängt. + Über + Der hellen oder dunklen Darstellung dieses Geräts folgen. + Dunkelmodus + Hellmodus + System + Darstellung + Empfangsanfrage + Geräte-ID: %1$s + Ein Gerät in der Nähe + %1$d Anfragen warten + %1$s möchte „%2$s“ empfangen. + Batteriestand + name@beispiel.com + Kontakt-E-Mail (optional) + Sagen Sie uns, was schiefgelaufen ist. Wir hängen Geräteinformationen und optional aktuelle Protokolle an (sensible Werte werden geschwärzt). + Geräteinformationen + Beschreiben Sie, was Sie erwartet haben + Was haben Sie erwartet? + Aktuelle Protokolle einschließen + Hilft uns, das Problem zu diagnostizieren. Sensible Werte werden vor dem Senden geschwärzt. + Größe des Protokollanhangs + Bitte beschreiben Sie, was Sie erwartet haben. + Bitte beschreiben Sie, was passiert ist. + Listen Sie die Schritte zum Reproduzieren des Problems auf + Schritte zum Reproduzieren (optional) + Bericht senden + Der Fehlerbericht konnte nicht gesendet werden. Bitte versuchen Sie es später erneut. + Danke – Ihr Fehlerbericht wurde erfasst. + Wird gesendet… + Beschreiben Sie, was passiert ist + Was ist passiert? + Genehmigen + Zurück + Abbrechen + Abbrechen + Dateien ändern + Dateien auswählen + Ordner auswählen + Löschen + Schließen + Neue Übertragung + Übertragung löschen + .vnd-Datei sichern + Einladung teilen + Einstellungen öffnen + Empfangen + Empfang starten + Ablehnen + Datei entfernen + Standard verwenden + Wiederholen + Freigabe starten + Übertragung wird vorbereitet… + In „Dateien“ anzeigen + Auf NFC-Tag schreiben + Gerätemodell + Gerätename + Anonyme Absturzberichte und Nutzungsereignisse senden, damit wir VniDrop verbessern können. Sie können dies jederzeit deaktivieren. Einladungen, Dateipfade und Übertragungsinhalte werden niemals einbezogen. + Die Freigabe von Diagnosedaten ist deaktiviert. + Die Freigabe von Diagnosedaten ist aktiviert. + Diagnosedaten teilen + Für das Scannen eines QR-Codes ist Kamerazugriff erforderlich. + Geräteinformationen konnten nicht geladen werden. + VniDrop konnte nicht auf die ausgewählten Dateien oder den Ordner zugreifen. Überprüfen Sie die Berechtigungen und versuchen Sie es erneut. + Etwas ist schiefgelaufen. Versuchen Sie es erneut. + VniDrop konnte den Start nicht abschließen. Schließen Sie die App und versuchen Sie es erneut. + Diese Einladung konnte nicht gelesen werden. Bitten Sie den Absender um eine neue. + Diese Einladung ist leer. Versuchen Sie, sie erneut zu öffnen. + Die native VniDrop-Bibliothek fehlt in diesem Build. + Dieses NFC-Tag konnte nicht verwendet werden. Versuchen Sie ein anderes. + Der Absender hat diese Übertragung nicht genehmigt oder sie wurde abgelehnt. + VniDrop konnte die Übertragungsdaten auf diesem Gerät nicht speichern. + Das ausgewählte Objekt konnte nicht geöffnet werden. Versuchen Sie, es erneut auszuwählen. + Wählen Sie mindestens ein Objekt zum Teilen aus. + VniDrop konnte seine Netzwerk-Sockets auf diesem Gerät nicht öffnen. + VniDrop startet noch. Öffnen Sie die Einladung gleich erneut. + Die Übertragung konnte nicht abgeschlossen werden. Überprüfen Sie Ihre Verbindung und versuchen Sie es erneut. + Empfängername + Absendername + Übertragungsname + Anzeigename + Berechtigung erforderlich + Nicht verfügbar + Ordner wird geprüft… + Bereit + Dateien + Größe + Status + Empfangen + Senden + Einstellungen + Netzwerk + Werden Sie über neue Empfangsanfragen benachrichtigt, während VniDrop im Hintergrund läuft. + Mitteilungen aktiviert. + Mitteilungen erlauben + Mitteilungen sind für VniDrop deaktiviert. Sie können sie in den Einstellungen aktivieren. + Die Mitteilungseinstellungen konnten nicht geöffnet werden. + Mitteilungen + Mitteilungen sind auf diesem Gerät nicht verfügbar. + Betriebssystem + Empfangene Übertragungen sichern in + Voreinstellungen + Abgebrochen + Abgeschlossen + Verbunden + Verbinden + Wird geladen + Fehlgeschlagen + Wird bereitgemacht + Übertragung unterbrochen + Wird vorbereitet + Bereit + Wird empfangen + Zugriff wird angefragt + Wird gesichert + Wird gesendet + Senden an %1$d + Bereit zum Teilen + Wird bearbeitet… + Wählen Sie die Ihnen zur Verfügung stehende Einladungsmethode. + Wie möchten Sie sich verbinden? + Verlauf löschen + Alle abgeschlossenen, fehlgeschlagenen und abgebrochenen Empfänge werden aus dem Verlauf von VniDrop entfernt. Heruntergeladene Dateien verbleiben auf diesem Gerät. + Empfangsverlauf löschen? + Übertragung empfangen. + „%1$s“ wird aus dem Verlauf von VniDrop entfernt. Die heruntergeladene Datei verbleibt auf diesem Gerät. + Aus Empfangsverlauf löschen + Aus dem Verlauf entfernen? + Öffnen Sie eine VniDrop-Einladung, scannen Sie einen QR-Code oder halten Sie das Gerät an ein NFC-Tag. + Noch nichts empfangen + Empfangsverlauf gelöscht. + Verlauf + Eine .vnd-Einladung öffnen + Wählen Sie eine auf diesem Gerät gespeicherte oder geteilte Einladung. + NFC-Tag lesen + Halten Sie dieses Gerät an das Einladungs-Tag des Absenders. + QR-Code scannen + Verwenden Sie die Kamera, um den VniDrop-Code des Absenders zu scannen. + Übertragungen, die Sie auf diesem Gerät empfangen haben. + Halten Sie das Gerät an das NFC-Tag… + VniDrop konnte in „Dateien“ nicht geöffnet werden. + Übertragung prüfen + Empfangen + VniDrop-Übertragung + Jeder mit dieser Übertragung + Keine Genehmigung erforderlich. Verwenden Sie dies nur für Objekte, die Sie unbedenklich teilen können. + Jeder mit der Einladung kann herunterladen, bis Sie die Freigabe beenden. Verwenden Sie dies nicht für private oder sensible Objekte. + Vor jedem Download fragen + Sie genehmigen oder lehnen jeden neuen Empfänger ab. + Wer kann sie empfangen? + Wählen Sie Dateien oder einen Ordner auf diesem Gerät aus. Sie können die Auswahl überprüfen, bevor Sie die Übertragung erstellen. + Wählen Sie, was Sie teilen möchten + Erstellen Sie eine Übertragung, entscheiden Sie, wer sie empfangen darf, und laden Sie diese Personen dann mit einem QR-Code, einem NFC-Tag oder einer Einladungsdatei ein. + Noch nichts geteilt + Größe nicht verfügbar + Ordner + Eine neue Übertragung erstellen + Neue Übertragung + Übertragung prüfen + %1$d Dateien ausgewählt + Freigabe beenden + Dies beendet die Übertragung und unterbricht alle, die sie gerade herunterladen. Sie verbleibt in Ihrem Verlauf als „Beendet“. + Übertragungen, die Sie von diesem Gerät aus teilen. + Senden + Übertragung erstellt. + Übertragungsdetails + Ihre Übertragungen + Ihr Name, wo Übertragungen gesichert werden, Darstellung und Mitteilungen. + Einstellungen + Ausblenden + Verfügbar + Abgebrochen + Abgeschlossen + Fehlgeschlagen + Wird vorbereitet + Wird empfangen + Beendet + Wird berechnet… + Alle Übertragungen löschen + Dies löscht alle Datensätze gesendeter und empfangener Übertragungen aus Ihrem Verlauf. Ihre empfangenen Dateien werden nicht gelöscht. Hinweis: Die Übertragungs-Engine behält ihre gespeicherten Inhalte, sodass die Übertragungsdaten möglicherweise nicht abnehmen. Dies kann nicht rückgängig gemacht werden. + Wird gelöscht… + Übertragungsdaten werden von der Übertragungs-Engine verwaltet – Ihr Verlauf sowie der Inhalt der von Ihnen geteilten Dateien. Die Schaltfläche unten löscht Ihre Übertragungsdatensätze; die Engine behält ihre gespeicherten Inhalte, sodass dieser Wert möglicherweise nicht sinkt. Empfangene Dateien sind Ihre heruntergeladenen Dateien und werden hier niemals gelöscht. + Empfangene Dateien + Temporäre Dateien + Speicher + Gesamt + Übertragungsdaten + Alle Übertragungen gelöscht + Wichtige Aktualisierungen zu dieser Übertragung ansehen + Aktivität + „%1$s“ wird nicht mehr geteilt und sein Übertragungsverlauf wird von diesem Gerät entfernt. + Übertragung löschen? + Übertragung gelöscht. + Wird gelöscht… + Übertragungsdetails + Empfängerzugriff genehmigt + Ein Empfänger hat die Übertragung abgeschlossen + Verbindung zum Absender + Wird geladen + Bei der Übertragung ist ein Problem aufgetreten + Ihre Übertragung wird vorbereitet + Bereit zum Teilen + Empfängerzugriff abgelehnt + Ein Empfänger hat Zugriff angefragt + Wird gesichert + Freigabe beendet + Übertragung aktualisiert + Einladung gesichert. + Gerät in der Nähe + Das Beschreiben von NFC-Tags ist auf diesem Gerät nicht verfügbar. + Halten Sie Ihr Gerät an ein beschreibbares NFC-Tag. + Einladung auf das NFC-Tag geschrieben. + Es gibt noch keine Aktivität anzuzeigen. + Noch niemand hat diese Übertragung angefragt. + Genehmigt – wartet auf Abschluss + Erfolgreich empfangen + Anfrage abgelaufen + Anfrage abgelehnt + Wartet auf Ihre Genehmigung + Status nicht verfügbar + %1$d abgeschlossen + Anfragen, Genehmigungen und abgeschlossene Zustellungen + %1$d warten + Empfänger + Mit VniDrop scannen, um diese Übertragung zu empfangen + QR-Code, Einladungsdatei und Optionen in der Nähe + Teilen + Nicht verfügbar + App-Version + + %1$d Datei + %1$d Dateien + +