mirror of
https://github.com/netbirdio/netbird.git
synced 2026-09-21 06:09:07 +02:00
Add peer-to-peer file drop
Files move directly between peers over the overlay, with no server in the path. The receiver listens on the WireGuard address only, so the port is unreachable from outside the tunnel, and every offer is matched to a known peer before anything is read. Consent is the default: an offer carries metadata alone, and no payload moves until the receiver accepts. Policy is per profile and device-local — off, ask, or auto-accept, with per-sender exceptions on top. Policy and history live in the profile's preferences, so removing a profile takes its file drop state with it. Transfers interrupted by a restart are settled on load; nothing survives to finish them, and left alone they would sit in the log as permanently pending. The Android bindings pull payload bytes through a chunk-returning stream: gomobile copies a []byte argument into a fresh Java array and never copies it back, so a fill-my-buffer method would hand back the right length with no data.
This commit is contained in:
@@ -1338,5 +1338,174 @@
|
||||
},
|
||||
"error.unknown": {
|
||||
"message": "Vorgang fehlgeschlagen."
|
||||
},
|
||||
"nav.files.title": {
|
||||
"message": "Dateien"
|
||||
},
|
||||
"files.search.placeholder": {
|
||||
"message": "Übertragungen nach Datei oder Peer suchen"
|
||||
},
|
||||
"files.empty.title": {
|
||||
"message": "Noch keine Übertragungen"
|
||||
},
|
||||
"files.empty.description": {
|
||||
"message": "Gesendete und empfangene Dateien erscheinen hier."
|
||||
},
|
||||
"files.group.today": {
|
||||
"message": "Heute"
|
||||
},
|
||||
"files.group.yesterday": {
|
||||
"message": "Gestern"
|
||||
},
|
||||
"files.offer.subtitle": {
|
||||
"message": "{peer} möchte etwas senden"
|
||||
},
|
||||
"files.offer.accept": {
|
||||
"message": "Annehmen"
|
||||
},
|
||||
"files.offer.decline": {
|
||||
"message": "Ablehnen"
|
||||
},
|
||||
"files.row.to": {
|
||||
"message": "an {peer}"
|
||||
},
|
||||
"files.row.from": {
|
||||
"message": "von {peer}"
|
||||
},
|
||||
"files.state.pending": {
|
||||
"message": "Wartet"
|
||||
},
|
||||
"files.state.transferring": {
|
||||
"message": "Überträgt"
|
||||
},
|
||||
"files.state.progress": {
|
||||
"message": "{percent}%"
|
||||
},
|
||||
"files.state.received": {
|
||||
"message": "Empfangen"
|
||||
},
|
||||
"files.state.sent": {
|
||||
"message": "Gesendet"
|
||||
},
|
||||
"files.state.declined": {
|
||||
"message": "Abgelehnt"
|
||||
},
|
||||
"files.state.expired": {
|
||||
"message": "Keine Antwort"
|
||||
},
|
||||
"files.state.cancelled": {
|
||||
"message": "Abgebrochen"
|
||||
},
|
||||
"files.state.failed": {
|
||||
"message": "Fehlgeschlagen"
|
||||
},
|
||||
"files.action.copy": {
|
||||
"message": "Kopieren"
|
||||
},
|
||||
"files.action.reveal": {
|
||||
"message": "Im Ordner anzeigen"
|
||||
},
|
||||
"files.action.cancel": {
|
||||
"message": "Abbrechen"
|
||||
},
|
||||
"files.action.more": {
|
||||
"message": "Mehr"
|
||||
},
|
||||
"files.action.open": {
|
||||
"message": "Öffnen"
|
||||
},
|
||||
"files.action.alwaysAccept": {
|
||||
"message": "Von diesem Peer immer annehmen"
|
||||
},
|
||||
"files.action.block": {
|
||||
"message": "Diesen Peer blockieren"
|
||||
},
|
||||
"files.action.delete": {
|
||||
"message": "Löschen"
|
||||
},
|
||||
"peers.dropToSend": {
|
||||
"message": "Zum Senden ablegen"
|
||||
},
|
||||
"peers.details.sendFile": {
|
||||
"message": "Datei senden…"
|
||||
},
|
||||
"peers.details.sendClipboard": {
|
||||
"message": "Zwischenablage senden"
|
||||
},
|
||||
"peers.details.sendClipboard.empty": {
|
||||
"message": "Zwischenablage ist leer"
|
||||
},
|
||||
"settings.tabs.fileSharing": {
|
||||
"message": "Dateifreigabe"
|
||||
},
|
||||
"settings.fileSharing.section": {
|
||||
"message": "Dateiempfang"
|
||||
},
|
||||
"settings.fileSharing.loading": {
|
||||
"message": "Lädt…"
|
||||
},
|
||||
"settings.fileSharing.mode.label": {
|
||||
"message": "Dateien von Peers empfangen"
|
||||
},
|
||||
"settings.fileSharing.mode.help": {
|
||||
"message": "Wie dieses Gerät eingehende Dateiangebote behandelt."
|
||||
},
|
||||
"settings.fileSharing.mode.off": {
|
||||
"message": "Aus"
|
||||
},
|
||||
"settings.fileSharing.mode.off.help": {
|
||||
"message": "Dieses Gerät nimmt keine Dateien an."
|
||||
},
|
||||
"settings.fileSharing.mode.ask": {
|
||||
"message": "Jedes Mal fragen"
|
||||
},
|
||||
"settings.fileSharing.mode.ask.help": {
|
||||
"message": "Jedes Angebot fragt zuerst nach Ihrer Zustimmung."
|
||||
},
|
||||
"settings.fileSharing.mode.auto": {
|
||||
"message": "Automatisch annehmen"
|
||||
},
|
||||
"settings.fileSharing.mode.auto.help": {
|
||||
"message": "Dateien kommen ohne Interaktion an."
|
||||
},
|
||||
"settings.fileSharing.destination.label": {
|
||||
"message": "Empfangene Dateien speichern unter"
|
||||
},
|
||||
"settings.fileSharing.destination.help": {
|
||||
"message": "Empfangene Dateien werden in diesen Ordner zugestellt."
|
||||
},
|
||||
"settings.fileSharing.destination.unset": {
|
||||
"message": "Nicht festgelegt"
|
||||
},
|
||||
"settings.fileSharing.destination.change": {
|
||||
"message": "Ändern…"
|
||||
},
|
||||
"settings.fileSharing.exceptions.label": {
|
||||
"message": "Ausnahmen pro Peer"
|
||||
},
|
||||
"settings.fileSharing.exceptions.help": {
|
||||
"message": "Überschreibungen zusätzlich zum Empfangsmodus."
|
||||
},
|
||||
"settings.fileSharing.exceptions.empty": {
|
||||
"message": "Keine Ausnahmen."
|
||||
},
|
||||
"settings.fileSharing.exceptions.blocked": {
|
||||
"message": "Blockiert"
|
||||
},
|
||||
"settings.fileSharing.exceptions.always": {
|
||||
"message": "Immer angenommen"
|
||||
},
|
||||
"settings.fileSharing.exceptions.remove": {
|
||||
"message": "Ausnahme entfernen"
|
||||
},
|
||||
"files.state.unreachable": {
|
||||
"message": "Abgelehnt",
|
||||
"description": "Failed-transfer reason: the peer's file drop port refused the offer."
|
||||
},
|
||||
"notify.filedrop.offer.title": {
|
||||
"message": "Eingehende Datei"
|
||||
},
|
||||
"notify.filedrop.always": {
|
||||
"message": "Immer annehmen"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1810,5 +1810,229 @@
|
||||
"settings.ssh.privilege.oneWayInverted": {
|
||||
"message": "You can switch this on, but switching it back off needs {actor}:",
|
||||
"description": "Warning under the SSH authentication setting, which an unprivileged user may re-enable but not disable again. {actor} is 'root' on Linux/macOS or 'administrator privileges' on Windows. Followed by a copyable command."
|
||||
},
|
||||
"nav.files.title": {
|
||||
"message": "Files",
|
||||
"description": "Navigation label for the Files section (file transfers)."
|
||||
},
|
||||
"files.search.placeholder": {
|
||||
"message": "Search transfers by file or peer",
|
||||
"description": "Placeholder of the transfer search field."
|
||||
},
|
||||
"files.empty.title": {
|
||||
"message": "No transfers yet",
|
||||
"description": "Empty state title of the Files section."
|
||||
},
|
||||
"files.empty.description": {
|
||||
"message": "Files you send or receive will show up here.",
|
||||
"description": "Empty state description of the Files section."
|
||||
},
|
||||
"files.group.today": {
|
||||
"message": "Today",
|
||||
"description": "Day group header for today's transfers."
|
||||
},
|
||||
"files.group.yesterday": {
|
||||
"message": "Yesterday",
|
||||
"description": "Day group header for yesterday's transfers."
|
||||
},
|
||||
"files.offer.subtitle": {
|
||||
"message": "{peer} wants to send",
|
||||
"description": "Subtitle of a pending incoming offer. {peer} is the sender's name."
|
||||
},
|
||||
"files.offer.accept": {
|
||||
"message": "Accept",
|
||||
"description": "Accept button of a pending offer."
|
||||
},
|
||||
"files.offer.decline": {
|
||||
"message": "Decline",
|
||||
"description": "Decline button of a pending offer."
|
||||
},
|
||||
"files.row.to": {
|
||||
"message": "to {peer}",
|
||||
"description": "Direction label of a sent transfer. {peer} is the receiver's name."
|
||||
},
|
||||
"files.row.from": {
|
||||
"message": "from {peer}",
|
||||
"description": "Direction label of a received transfer. {peer} is the sender's name."
|
||||
},
|
||||
"files.state.pending": {
|
||||
"message": "Waiting",
|
||||
"description": "Transfer state: waiting for the receiver's decision."
|
||||
},
|
||||
"files.state.transferring": {
|
||||
"message": "Transferring",
|
||||
"description": "Transfer state: payload is streaming."
|
||||
},
|
||||
"files.state.progress": {
|
||||
"message": "{percent}%",
|
||||
"description": "Transfer progress. {percent} is a number."
|
||||
},
|
||||
"files.state.received": {
|
||||
"message": "Received",
|
||||
"description": "Transfer state: completed incoming transfer."
|
||||
},
|
||||
"files.state.sent": {
|
||||
"message": "Sent",
|
||||
"description": "Transfer state: completed outgoing transfer."
|
||||
},
|
||||
"files.state.declined": {
|
||||
"message": "Declined",
|
||||
"description": "Transfer state: the receiver declined."
|
||||
},
|
||||
"files.state.expired": {
|
||||
"message": "No response",
|
||||
"description": "Transfer state: the offer expired unanswered."
|
||||
},
|
||||
"files.state.cancelled": {
|
||||
"message": "Cancelled",
|
||||
"description": "Transfer state: cancelled by a user."
|
||||
},
|
||||
"files.state.failed": {
|
||||
"message": "Failed",
|
||||
"description": "Transfer state: the transfer failed."
|
||||
},
|
||||
"files.action.copy": {
|
||||
"message": "Copy",
|
||||
"description": "Copy a received text snippet."
|
||||
},
|
||||
"files.action.reveal": {
|
||||
"message": "Show in folder",
|
||||
"description": "Open the file manager at the delivered file."
|
||||
},
|
||||
"files.action.cancel": {
|
||||
"message": "Cancel",
|
||||
"description": "Cancel a running transfer."
|
||||
},
|
||||
"files.action.more": {
|
||||
"message": "More",
|
||||
"description": "Open the row's overflow menu."
|
||||
},
|
||||
"files.action.open": {
|
||||
"message": "Open",
|
||||
"description": "Open the delivered file."
|
||||
},
|
||||
"files.action.alwaysAccept": {
|
||||
"message": "Always accept from this peer",
|
||||
"description": "Per-sender exception shortcut."
|
||||
},
|
||||
"files.action.block": {
|
||||
"message": "Block this peer",
|
||||
"description": "Per-sender block shortcut."
|
||||
},
|
||||
"files.action.delete": {
|
||||
"message": "Delete",
|
||||
"description": "Remove the entry from the history."
|
||||
},
|
||||
"peers.dropToSend": {
|
||||
"message": "Drop to send",
|
||||
"description": "Overlay shown while dragging files over a peer row."
|
||||
},
|
||||
"peers.details.sendFile": {
|
||||
"message": "Send file…",
|
||||
"description": "Peer action opening the file picker."
|
||||
},
|
||||
"peers.details.sendClipboard": {
|
||||
"message": "Send clipboard",
|
||||
"description": "Peer action sending the clipboard text."
|
||||
},
|
||||
"peers.details.sendClipboard.empty": {
|
||||
"message": "Clipboard is empty",
|
||||
"description": "Error when the clipboard has no text."
|
||||
},
|
||||
"settings.tabs.fileSharing": {
|
||||
"message": "File sharing",
|
||||
"description": "Settings tab for file transfer policy."
|
||||
},
|
||||
"settings.fileSharing.section": {
|
||||
"message": "File receiving",
|
||||
"description": "Section title of the file receiving policy."
|
||||
},
|
||||
"settings.fileSharing.loading": {
|
||||
"message": "Loading…",
|
||||
"description": "Shown while the policy is being fetched."
|
||||
},
|
||||
"settings.fileSharing.mode.label": {
|
||||
"message": "Receive files from peers",
|
||||
"description": "Label of the receiving mode selector."
|
||||
},
|
||||
"settings.fileSharing.mode.help": {
|
||||
"message": "How this device handles incoming file offers.",
|
||||
"description": "Help text of the receiving mode selector."
|
||||
},
|
||||
"settings.fileSharing.mode.off": {
|
||||
"message": "Off",
|
||||
"description": "Receiving mode: no files are accepted."
|
||||
},
|
||||
"settings.fileSharing.mode.off.help": {
|
||||
"message": "This device does not accept files.",
|
||||
"description": "Help text of the Off mode."
|
||||
},
|
||||
"settings.fileSharing.mode.ask": {
|
||||
"message": "Ask every time",
|
||||
"description": "Receiving mode: each offer asks for consent."
|
||||
},
|
||||
"settings.fileSharing.mode.ask.help": {
|
||||
"message": "Every offer asks for your consent first.",
|
||||
"description": "Help text of the Ask mode."
|
||||
},
|
||||
"settings.fileSharing.mode.auto": {
|
||||
"message": "Auto-accept",
|
||||
"description": "Receiving mode: files arrive without interaction."
|
||||
},
|
||||
"settings.fileSharing.mode.auto.help": {
|
||||
"message": "Files arrive without interaction.",
|
||||
"description": "Help text of the Auto-accept mode."
|
||||
},
|
||||
"settings.fileSharing.destination.label": {
|
||||
"message": "Save received files to",
|
||||
"description": "Label of the delivery directory row."
|
||||
},
|
||||
"settings.fileSharing.destination.help": {
|
||||
"message": "Received files are delivered into this folder.",
|
||||
"description": "Help text of the delivery directory row."
|
||||
},
|
||||
"settings.fileSharing.destination.unset": {
|
||||
"message": "Not set",
|
||||
"description": "Placeholder when no delivery directory is configured."
|
||||
},
|
||||
"settings.fileSharing.destination.change": {
|
||||
"message": "Change…",
|
||||
"description": "Button opening the directory picker."
|
||||
},
|
||||
"settings.fileSharing.exceptions.label": {
|
||||
"message": "Per-peer exceptions",
|
||||
"description": "Label of the exception list."
|
||||
},
|
||||
"settings.fileSharing.exceptions.help": {
|
||||
"message": "Overrides on top of the receiving mode.",
|
||||
"description": "Help text of the exception list."
|
||||
},
|
||||
"settings.fileSharing.exceptions.empty": {
|
||||
"message": "No exceptions.",
|
||||
"description": "Shown when the exception list is empty."
|
||||
},
|
||||
"settings.fileSharing.exceptions.blocked": {
|
||||
"message": "Blocked",
|
||||
"description": "Exception kind: sender is blocked."
|
||||
},
|
||||
"settings.fileSharing.exceptions.always": {
|
||||
"message": "Always accepted",
|
||||
"description": "Exception kind: sender is always accepted."
|
||||
},
|
||||
"settings.fileSharing.exceptions.remove": {
|
||||
"message": "Remove exception",
|
||||
"description": "Button removing one exception."
|
||||
},
|
||||
"files.state.unreachable": {
|
||||
"message": "Declined",
|
||||
"description": "Failed-transfer reason: the peer's file drop port refused the offer."
|
||||
},
|
||||
"notify.filedrop.offer.title": {
|
||||
"message": "Incoming file",
|
||||
"description": "Title of the consent notification for an incoming file offer."
|
||||
},
|
||||
"notify.filedrop.always": {
|
||||
"message": "Always accept",
|
||||
"description": "Consent-notification button: accept this offer and auto-accept this sender from now on."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1338,5 +1338,174 @@
|
||||
},
|
||||
"error.unknown": {
|
||||
"message": "La operación falló."
|
||||
},
|
||||
"nav.files.title": {
|
||||
"message": "Archivos"
|
||||
},
|
||||
"files.search.placeholder": {
|
||||
"message": "Buscar transferencias por archivo o peer"
|
||||
},
|
||||
"files.empty.title": {
|
||||
"message": "Aún no hay transferencias"
|
||||
},
|
||||
"files.empty.description": {
|
||||
"message": "Los archivos que envíes o recibas aparecerán aquí."
|
||||
},
|
||||
"files.group.today": {
|
||||
"message": "Hoy"
|
||||
},
|
||||
"files.group.yesterday": {
|
||||
"message": "Ayer"
|
||||
},
|
||||
"files.offer.subtitle": {
|
||||
"message": "{peer} quiere enviar"
|
||||
},
|
||||
"files.offer.accept": {
|
||||
"message": "Aceptar"
|
||||
},
|
||||
"files.offer.decline": {
|
||||
"message": "Rechazar"
|
||||
},
|
||||
"files.row.to": {
|
||||
"message": "a {peer}"
|
||||
},
|
||||
"files.row.from": {
|
||||
"message": "de {peer}"
|
||||
},
|
||||
"files.state.pending": {
|
||||
"message": "Esperando"
|
||||
},
|
||||
"files.state.transferring": {
|
||||
"message": "Transfiriendo"
|
||||
},
|
||||
"files.state.progress": {
|
||||
"message": "{percent}%"
|
||||
},
|
||||
"files.state.received": {
|
||||
"message": "Recibido"
|
||||
},
|
||||
"files.state.sent": {
|
||||
"message": "Enviado"
|
||||
},
|
||||
"files.state.declined": {
|
||||
"message": "Rechazado"
|
||||
},
|
||||
"files.state.expired": {
|
||||
"message": "Sin respuesta"
|
||||
},
|
||||
"files.state.cancelled": {
|
||||
"message": "Cancelado"
|
||||
},
|
||||
"files.state.failed": {
|
||||
"message": "Fallido"
|
||||
},
|
||||
"files.action.copy": {
|
||||
"message": "Copiar"
|
||||
},
|
||||
"files.action.reveal": {
|
||||
"message": "Mostrar en la carpeta"
|
||||
},
|
||||
"files.action.cancel": {
|
||||
"message": "Cancelar"
|
||||
},
|
||||
"files.action.more": {
|
||||
"message": "Más"
|
||||
},
|
||||
"files.action.open": {
|
||||
"message": "Abrir"
|
||||
},
|
||||
"files.action.alwaysAccept": {
|
||||
"message": "Aceptar siempre de este peer"
|
||||
},
|
||||
"files.action.block": {
|
||||
"message": "Bloquear este peer"
|
||||
},
|
||||
"files.action.delete": {
|
||||
"message": "Eliminar"
|
||||
},
|
||||
"peers.dropToSend": {
|
||||
"message": "Suelta para enviar"
|
||||
},
|
||||
"peers.details.sendFile": {
|
||||
"message": "Enviar archivo…"
|
||||
},
|
||||
"peers.details.sendClipboard": {
|
||||
"message": "Enviar portapapeles"
|
||||
},
|
||||
"peers.details.sendClipboard.empty": {
|
||||
"message": "El portapapeles está vacío"
|
||||
},
|
||||
"settings.tabs.fileSharing": {
|
||||
"message": "Compartir archivos"
|
||||
},
|
||||
"settings.fileSharing.section": {
|
||||
"message": "Recepción de archivos"
|
||||
},
|
||||
"settings.fileSharing.loading": {
|
||||
"message": "Cargando…"
|
||||
},
|
||||
"settings.fileSharing.mode.label": {
|
||||
"message": "Recibir archivos de peers"
|
||||
},
|
||||
"settings.fileSharing.mode.help": {
|
||||
"message": "Cómo maneja este dispositivo las ofertas de archivos entrantes."
|
||||
},
|
||||
"settings.fileSharing.mode.off": {
|
||||
"message": "Desactivado"
|
||||
},
|
||||
"settings.fileSharing.mode.off.help": {
|
||||
"message": "Este dispositivo no acepta archivos."
|
||||
},
|
||||
"settings.fileSharing.mode.ask": {
|
||||
"message": "Preguntar cada vez"
|
||||
},
|
||||
"settings.fileSharing.mode.ask.help": {
|
||||
"message": "Cada oferta pide primero tu consentimiento."
|
||||
},
|
||||
"settings.fileSharing.mode.auto": {
|
||||
"message": "Aceptar automáticamente"
|
||||
},
|
||||
"settings.fileSharing.mode.auto.help": {
|
||||
"message": "Los archivos llegan sin interacción."
|
||||
},
|
||||
"settings.fileSharing.destination.label": {
|
||||
"message": "Guardar archivos recibidos en"
|
||||
},
|
||||
"settings.fileSharing.destination.help": {
|
||||
"message": "Los archivos recibidos se entregan en esta carpeta."
|
||||
},
|
||||
"settings.fileSharing.destination.unset": {
|
||||
"message": "Sin configurar"
|
||||
},
|
||||
"settings.fileSharing.destination.change": {
|
||||
"message": "Cambiar…"
|
||||
},
|
||||
"settings.fileSharing.exceptions.label": {
|
||||
"message": "Excepciones por peer"
|
||||
},
|
||||
"settings.fileSharing.exceptions.help": {
|
||||
"message": "Anulaciones sobre el modo de recepción."
|
||||
},
|
||||
"settings.fileSharing.exceptions.empty": {
|
||||
"message": "Sin excepciones."
|
||||
},
|
||||
"settings.fileSharing.exceptions.blocked": {
|
||||
"message": "Bloqueado"
|
||||
},
|
||||
"settings.fileSharing.exceptions.always": {
|
||||
"message": "Siempre aceptado"
|
||||
},
|
||||
"settings.fileSharing.exceptions.remove": {
|
||||
"message": "Eliminar excepción"
|
||||
},
|
||||
"files.state.unreachable": {
|
||||
"message": "Rechazado",
|
||||
"description": "Failed-transfer reason: the peer's file drop port refused the offer."
|
||||
},
|
||||
"notify.filedrop.offer.title": {
|
||||
"message": "Archivo entrante"
|
||||
},
|
||||
"notify.filedrop.always": {
|
||||
"message": "Aceptar siempre"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1338,5 +1338,174 @@
|
||||
},
|
||||
"error.unknown": {
|
||||
"message": "L’opération a échoué."
|
||||
},
|
||||
"nav.files.title": {
|
||||
"message": "Fichiers"
|
||||
},
|
||||
"files.search.placeholder": {
|
||||
"message": "Rechercher des transferts par fichier ou pair"
|
||||
},
|
||||
"files.empty.title": {
|
||||
"message": "Aucun transfert pour l'instant"
|
||||
},
|
||||
"files.empty.description": {
|
||||
"message": "Les fichiers envoyés ou reçus apparaîtront ici."
|
||||
},
|
||||
"files.group.today": {
|
||||
"message": "Aujourd'hui"
|
||||
},
|
||||
"files.group.yesterday": {
|
||||
"message": "Hier"
|
||||
},
|
||||
"files.offer.subtitle": {
|
||||
"message": "{peer} veut envoyer"
|
||||
},
|
||||
"files.offer.accept": {
|
||||
"message": "Accepter"
|
||||
},
|
||||
"files.offer.decline": {
|
||||
"message": "Refuser"
|
||||
},
|
||||
"files.row.to": {
|
||||
"message": "vers {peer}"
|
||||
},
|
||||
"files.row.from": {
|
||||
"message": "de {peer}"
|
||||
},
|
||||
"files.state.pending": {
|
||||
"message": "En attente"
|
||||
},
|
||||
"files.state.transferring": {
|
||||
"message": "Transfert"
|
||||
},
|
||||
"files.state.progress": {
|
||||
"message": "{percent}%"
|
||||
},
|
||||
"files.state.received": {
|
||||
"message": "Reçu"
|
||||
},
|
||||
"files.state.sent": {
|
||||
"message": "Envoyé"
|
||||
},
|
||||
"files.state.declined": {
|
||||
"message": "Refusé"
|
||||
},
|
||||
"files.state.expired": {
|
||||
"message": "Sans réponse"
|
||||
},
|
||||
"files.state.cancelled": {
|
||||
"message": "Annulé"
|
||||
},
|
||||
"files.state.failed": {
|
||||
"message": "Échoué"
|
||||
},
|
||||
"files.action.copy": {
|
||||
"message": "Copier"
|
||||
},
|
||||
"files.action.reveal": {
|
||||
"message": "Afficher dans le dossier"
|
||||
},
|
||||
"files.action.cancel": {
|
||||
"message": "Annuler"
|
||||
},
|
||||
"files.action.more": {
|
||||
"message": "Plus"
|
||||
},
|
||||
"files.action.open": {
|
||||
"message": "Ouvrir"
|
||||
},
|
||||
"files.action.alwaysAccept": {
|
||||
"message": "Toujours accepter de ce pair"
|
||||
},
|
||||
"files.action.block": {
|
||||
"message": "Bloquer ce pair"
|
||||
},
|
||||
"files.action.delete": {
|
||||
"message": "Supprimer"
|
||||
},
|
||||
"peers.dropToSend": {
|
||||
"message": "Déposer pour envoyer"
|
||||
},
|
||||
"peers.details.sendFile": {
|
||||
"message": "Envoyer un fichier…"
|
||||
},
|
||||
"peers.details.sendClipboard": {
|
||||
"message": "Envoyer le presse-papiers"
|
||||
},
|
||||
"peers.details.sendClipboard.empty": {
|
||||
"message": "Le presse-papiers est vide"
|
||||
},
|
||||
"settings.tabs.fileSharing": {
|
||||
"message": "Partage de fichiers"
|
||||
},
|
||||
"settings.fileSharing.section": {
|
||||
"message": "Réception de fichiers"
|
||||
},
|
||||
"settings.fileSharing.loading": {
|
||||
"message": "Chargement…"
|
||||
},
|
||||
"settings.fileSharing.mode.label": {
|
||||
"message": "Recevoir des fichiers des pairs"
|
||||
},
|
||||
"settings.fileSharing.mode.help": {
|
||||
"message": "Comment cet appareil traite les offres de fichiers entrantes."
|
||||
},
|
||||
"settings.fileSharing.mode.off": {
|
||||
"message": "Désactivé"
|
||||
},
|
||||
"settings.fileSharing.mode.off.help": {
|
||||
"message": "Cet appareil n'accepte pas de fichiers."
|
||||
},
|
||||
"settings.fileSharing.mode.ask": {
|
||||
"message": "Demander à chaque fois"
|
||||
},
|
||||
"settings.fileSharing.mode.ask.help": {
|
||||
"message": "Chaque offre demande d'abord votre accord."
|
||||
},
|
||||
"settings.fileSharing.mode.auto": {
|
||||
"message": "Acceptation automatique"
|
||||
},
|
||||
"settings.fileSharing.mode.auto.help": {
|
||||
"message": "Les fichiers arrivent sans interaction."
|
||||
},
|
||||
"settings.fileSharing.destination.label": {
|
||||
"message": "Enregistrer les fichiers reçus dans"
|
||||
},
|
||||
"settings.fileSharing.destination.help": {
|
||||
"message": "Les fichiers reçus sont déposés dans ce dossier."
|
||||
},
|
||||
"settings.fileSharing.destination.unset": {
|
||||
"message": "Non défini"
|
||||
},
|
||||
"settings.fileSharing.destination.change": {
|
||||
"message": "Modifier…"
|
||||
},
|
||||
"settings.fileSharing.exceptions.label": {
|
||||
"message": "Exceptions par pair"
|
||||
},
|
||||
"settings.fileSharing.exceptions.help": {
|
||||
"message": "Dérogations au mode de réception."
|
||||
},
|
||||
"settings.fileSharing.exceptions.empty": {
|
||||
"message": "Aucune exception."
|
||||
},
|
||||
"settings.fileSharing.exceptions.blocked": {
|
||||
"message": "Bloqué"
|
||||
},
|
||||
"settings.fileSharing.exceptions.always": {
|
||||
"message": "Toujours accepté"
|
||||
},
|
||||
"settings.fileSharing.exceptions.remove": {
|
||||
"message": "Supprimer l'exception"
|
||||
},
|
||||
"files.state.unreachable": {
|
||||
"message": "Refusé",
|
||||
"description": "Failed-transfer reason: the peer's file drop port refused the offer."
|
||||
},
|
||||
"notify.filedrop.offer.title": {
|
||||
"message": "Fichier entrant"
|
||||
},
|
||||
"notify.filedrop.always": {
|
||||
"message": "Toujours accepter"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1338,5 +1338,174 @@
|
||||
},
|
||||
"error.unknown": {
|
||||
"message": "A művelet meghiúsult."
|
||||
},
|
||||
"nav.files.title": {
|
||||
"message": "Fájlok"
|
||||
},
|
||||
"files.search.placeholder": {
|
||||
"message": "Keresés fájl vagy peer szerint"
|
||||
},
|
||||
"files.empty.title": {
|
||||
"message": "Még nincs átvitel"
|
||||
},
|
||||
"files.empty.description": {
|
||||
"message": "Az elküldött és fogadott fájlok itt jelennek meg."
|
||||
},
|
||||
"files.group.today": {
|
||||
"message": "Ma"
|
||||
},
|
||||
"files.group.yesterday": {
|
||||
"message": "Tegnap"
|
||||
},
|
||||
"files.offer.subtitle": {
|
||||
"message": "{peer} küldeni szeretne"
|
||||
},
|
||||
"files.offer.accept": {
|
||||
"message": "Elfogadás"
|
||||
},
|
||||
"files.offer.decline": {
|
||||
"message": "Elutasítás"
|
||||
},
|
||||
"files.row.to": {
|
||||
"message": "ide: {peer}"
|
||||
},
|
||||
"files.row.from": {
|
||||
"message": "tőle: {peer}"
|
||||
},
|
||||
"files.state.pending": {
|
||||
"message": "Várakozás"
|
||||
},
|
||||
"files.state.transferring": {
|
||||
"message": "Átvitel folyamatban"
|
||||
},
|
||||
"files.state.progress": {
|
||||
"message": "{percent}%"
|
||||
},
|
||||
"files.state.received": {
|
||||
"message": "Fogadva"
|
||||
},
|
||||
"files.state.sent": {
|
||||
"message": "Elküldve"
|
||||
},
|
||||
"files.state.declined": {
|
||||
"message": "Elutasítva"
|
||||
},
|
||||
"files.state.expired": {
|
||||
"message": "Nincs válasz"
|
||||
},
|
||||
"files.state.cancelled": {
|
||||
"message": "Megszakítva"
|
||||
},
|
||||
"files.state.failed": {
|
||||
"message": "Sikertelen"
|
||||
},
|
||||
"files.action.copy": {
|
||||
"message": "Másolás"
|
||||
},
|
||||
"files.action.reveal": {
|
||||
"message": "Megjelenítés a mappában"
|
||||
},
|
||||
"files.action.cancel": {
|
||||
"message": "Megszakítás"
|
||||
},
|
||||
"files.action.more": {
|
||||
"message": "Továbbiak"
|
||||
},
|
||||
"files.action.open": {
|
||||
"message": "Megnyitás"
|
||||
},
|
||||
"files.action.alwaysAccept": {
|
||||
"message": "Mindig elfogadás ettől a peertől"
|
||||
},
|
||||
"files.action.block": {
|
||||
"message": "Peer tiltása"
|
||||
},
|
||||
"files.action.delete": {
|
||||
"message": "Törlés"
|
||||
},
|
||||
"peers.dropToSend": {
|
||||
"message": "Engedd el a küldéshez"
|
||||
},
|
||||
"peers.details.sendFile": {
|
||||
"message": "Fájl küldése…"
|
||||
},
|
||||
"peers.details.sendClipboard": {
|
||||
"message": "Vágólap küldése"
|
||||
},
|
||||
"peers.details.sendClipboard.empty": {
|
||||
"message": "A vágólap üres"
|
||||
},
|
||||
"settings.tabs.fileSharing": {
|
||||
"message": "Fájlmegosztás"
|
||||
},
|
||||
"settings.fileSharing.section": {
|
||||
"message": "Fájlfogadás"
|
||||
},
|
||||
"settings.fileSharing.loading": {
|
||||
"message": "Betöltés…"
|
||||
},
|
||||
"settings.fileSharing.mode.label": {
|
||||
"message": "Fájlok fogadása peerektől"
|
||||
},
|
||||
"settings.fileSharing.mode.help": {
|
||||
"message": "Így kezeli az eszköz a bejövő fájlfelajánlásokat."
|
||||
},
|
||||
"settings.fileSharing.mode.off": {
|
||||
"message": "Kikapcsolva"
|
||||
},
|
||||
"settings.fileSharing.mode.off.help": {
|
||||
"message": "Az eszköz nem fogad fájlokat."
|
||||
},
|
||||
"settings.fileSharing.mode.ask": {
|
||||
"message": "Mindig kérdezzen"
|
||||
},
|
||||
"settings.fileSharing.mode.ask.help": {
|
||||
"message": "Minden felajánlás először engedélyt kér."
|
||||
},
|
||||
"settings.fileSharing.mode.auto": {
|
||||
"message": "Automatikus elfogadás"
|
||||
},
|
||||
"settings.fileSharing.mode.auto.help": {
|
||||
"message": "A fájlok beavatkozás nélkül érkeznek."
|
||||
},
|
||||
"settings.fileSharing.destination.label": {
|
||||
"message": "Fogadott fájlok mentése ide"
|
||||
},
|
||||
"settings.fileSharing.destination.help": {
|
||||
"message": "A fogadott fájlok ebbe a mappába kerülnek."
|
||||
},
|
||||
"settings.fileSharing.destination.unset": {
|
||||
"message": "Nincs beállítva"
|
||||
},
|
||||
"settings.fileSharing.destination.change": {
|
||||
"message": "Módosítás…"
|
||||
},
|
||||
"settings.fileSharing.exceptions.label": {
|
||||
"message": "Peerenkénti kivételek"
|
||||
},
|
||||
"settings.fileSharing.exceptions.help": {
|
||||
"message": "A fogadási módot felülíró szabályok."
|
||||
},
|
||||
"settings.fileSharing.exceptions.empty": {
|
||||
"message": "Nincsenek kivételek."
|
||||
},
|
||||
"settings.fileSharing.exceptions.blocked": {
|
||||
"message": "Tiltva"
|
||||
},
|
||||
"settings.fileSharing.exceptions.always": {
|
||||
"message": "Mindig elfogadva"
|
||||
},
|
||||
"settings.fileSharing.exceptions.remove": {
|
||||
"message": "Kivétel eltávolítása"
|
||||
},
|
||||
"files.state.unreachable": {
|
||||
"message": "Elutasítva",
|
||||
"description": "Failed-transfer reason: the peer's file drop port refused the offer."
|
||||
},
|
||||
"notify.filedrop.offer.title": {
|
||||
"message": "Bejövő fájl"
|
||||
},
|
||||
"notify.filedrop.always": {
|
||||
"message": "Mindig elfogadás"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1338,5 +1338,174 @@
|
||||
},
|
||||
"error.unknown": {
|
||||
"message": "Operazione non riuscita."
|
||||
},
|
||||
"nav.files.title": {
|
||||
"message": "File"
|
||||
},
|
||||
"files.search.placeholder": {
|
||||
"message": "Cerca trasferimenti per file o peer"
|
||||
},
|
||||
"files.empty.title": {
|
||||
"message": "Nessun trasferimento"
|
||||
},
|
||||
"files.empty.description": {
|
||||
"message": "I file inviati o ricevuti appariranno qui."
|
||||
},
|
||||
"files.group.today": {
|
||||
"message": "Oggi"
|
||||
},
|
||||
"files.group.yesterday": {
|
||||
"message": "Ieri"
|
||||
},
|
||||
"files.offer.subtitle": {
|
||||
"message": "{peer} vuole inviare"
|
||||
},
|
||||
"files.offer.accept": {
|
||||
"message": "Accetta"
|
||||
},
|
||||
"files.offer.decline": {
|
||||
"message": "Rifiuta"
|
||||
},
|
||||
"files.row.to": {
|
||||
"message": "a {peer}"
|
||||
},
|
||||
"files.row.from": {
|
||||
"message": "da {peer}"
|
||||
},
|
||||
"files.state.pending": {
|
||||
"message": "In attesa"
|
||||
},
|
||||
"files.state.transferring": {
|
||||
"message": "Trasferimento"
|
||||
},
|
||||
"files.state.progress": {
|
||||
"message": "{percent}%"
|
||||
},
|
||||
"files.state.received": {
|
||||
"message": "Ricevuto"
|
||||
},
|
||||
"files.state.sent": {
|
||||
"message": "Inviato"
|
||||
},
|
||||
"files.state.declined": {
|
||||
"message": "Rifiutato"
|
||||
},
|
||||
"files.state.expired": {
|
||||
"message": "Nessuna risposta"
|
||||
},
|
||||
"files.state.cancelled": {
|
||||
"message": "Annullato"
|
||||
},
|
||||
"files.state.failed": {
|
||||
"message": "Non riuscito"
|
||||
},
|
||||
"files.action.copy": {
|
||||
"message": "Copia"
|
||||
},
|
||||
"files.action.reveal": {
|
||||
"message": "Mostra nella cartella"
|
||||
},
|
||||
"files.action.cancel": {
|
||||
"message": "Annulla"
|
||||
},
|
||||
"files.action.more": {
|
||||
"message": "Altro"
|
||||
},
|
||||
"files.action.open": {
|
||||
"message": "Apri"
|
||||
},
|
||||
"files.action.alwaysAccept": {
|
||||
"message": "Accetta sempre da questo peer"
|
||||
},
|
||||
"files.action.block": {
|
||||
"message": "Blocca questo peer"
|
||||
},
|
||||
"files.action.delete": {
|
||||
"message": "Elimina"
|
||||
},
|
||||
"peers.dropToSend": {
|
||||
"message": "Rilascia per inviare"
|
||||
},
|
||||
"peers.details.sendFile": {
|
||||
"message": "Invia file…"
|
||||
},
|
||||
"peers.details.sendClipboard": {
|
||||
"message": "Invia appunti"
|
||||
},
|
||||
"peers.details.sendClipboard.empty": {
|
||||
"message": "Gli appunti sono vuoti"
|
||||
},
|
||||
"settings.tabs.fileSharing": {
|
||||
"message": "Condivisione file"
|
||||
},
|
||||
"settings.fileSharing.section": {
|
||||
"message": "Ricezione file"
|
||||
},
|
||||
"settings.fileSharing.loading": {
|
||||
"message": "Caricamento…"
|
||||
},
|
||||
"settings.fileSharing.mode.label": {
|
||||
"message": "Ricevi file dai peer"
|
||||
},
|
||||
"settings.fileSharing.mode.help": {
|
||||
"message": "Come questo dispositivo gestisce le offerte di file in arrivo."
|
||||
},
|
||||
"settings.fileSharing.mode.off": {
|
||||
"message": "Disattivato"
|
||||
},
|
||||
"settings.fileSharing.mode.off.help": {
|
||||
"message": "Questo dispositivo non accetta file."
|
||||
},
|
||||
"settings.fileSharing.mode.ask": {
|
||||
"message": "Chiedi ogni volta"
|
||||
},
|
||||
"settings.fileSharing.mode.ask.help": {
|
||||
"message": "Ogni offerta chiede prima il tuo consenso."
|
||||
},
|
||||
"settings.fileSharing.mode.auto": {
|
||||
"message": "Accettazione automatica"
|
||||
},
|
||||
"settings.fileSharing.mode.auto.help": {
|
||||
"message": "I file arrivano senza interazione."
|
||||
},
|
||||
"settings.fileSharing.destination.label": {
|
||||
"message": "Salva i file ricevuti in"
|
||||
},
|
||||
"settings.fileSharing.destination.help": {
|
||||
"message": "I file ricevuti vengono consegnati in questa cartella."
|
||||
},
|
||||
"settings.fileSharing.destination.unset": {
|
||||
"message": "Non impostato"
|
||||
},
|
||||
"settings.fileSharing.destination.change": {
|
||||
"message": "Cambia…"
|
||||
},
|
||||
"settings.fileSharing.exceptions.label": {
|
||||
"message": "Eccezioni per peer"
|
||||
},
|
||||
"settings.fileSharing.exceptions.help": {
|
||||
"message": "Sostituzioni rispetto alla modalità di ricezione."
|
||||
},
|
||||
"settings.fileSharing.exceptions.empty": {
|
||||
"message": "Nessuna eccezione."
|
||||
},
|
||||
"settings.fileSharing.exceptions.blocked": {
|
||||
"message": "Bloccato"
|
||||
},
|
||||
"settings.fileSharing.exceptions.always": {
|
||||
"message": "Sempre accettato"
|
||||
},
|
||||
"settings.fileSharing.exceptions.remove": {
|
||||
"message": "Rimuovi eccezione"
|
||||
},
|
||||
"files.state.unreachable": {
|
||||
"message": "Rifiutato",
|
||||
"description": "Failed-transfer reason: the peer's file drop port refused the offer."
|
||||
},
|
||||
"notify.filedrop.offer.title": {
|
||||
"message": "File in arrivo"
|
||||
},
|
||||
"notify.filedrop.always": {
|
||||
"message": "Accetta sempre"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1338,5 +1338,174 @@
|
||||
},
|
||||
"error.unknown": {
|
||||
"message": "操作に失敗しました。"
|
||||
},
|
||||
"nav.files.title": {
|
||||
"message": "ファイル"
|
||||
},
|
||||
"files.search.placeholder": {
|
||||
"message": "ファイルまたはピアで転送を検索"
|
||||
},
|
||||
"files.empty.title": {
|
||||
"message": "転送はまだありません"
|
||||
},
|
||||
"files.empty.description": {
|
||||
"message": "送受信したファイルがここに表示されます。"
|
||||
},
|
||||
"files.group.today": {
|
||||
"message": "今日"
|
||||
},
|
||||
"files.group.yesterday": {
|
||||
"message": "昨日"
|
||||
},
|
||||
"files.offer.subtitle": {
|
||||
"message": "{peer} が送信を希望しています"
|
||||
},
|
||||
"files.offer.accept": {
|
||||
"message": "承認"
|
||||
},
|
||||
"files.offer.decline": {
|
||||
"message": "拒否"
|
||||
},
|
||||
"files.row.to": {
|
||||
"message": "{peer} へ"
|
||||
},
|
||||
"files.row.from": {
|
||||
"message": "{peer} から"
|
||||
},
|
||||
"files.state.pending": {
|
||||
"message": "待機中"
|
||||
},
|
||||
"files.state.transferring": {
|
||||
"message": "転送中"
|
||||
},
|
||||
"files.state.progress": {
|
||||
"message": "{percent}%"
|
||||
},
|
||||
"files.state.received": {
|
||||
"message": "受信済み"
|
||||
},
|
||||
"files.state.sent": {
|
||||
"message": "送信済み"
|
||||
},
|
||||
"files.state.declined": {
|
||||
"message": "拒否されました"
|
||||
},
|
||||
"files.state.expired": {
|
||||
"message": "応答なし"
|
||||
},
|
||||
"files.state.cancelled": {
|
||||
"message": "キャンセル済み"
|
||||
},
|
||||
"files.state.failed": {
|
||||
"message": "失敗"
|
||||
},
|
||||
"files.action.copy": {
|
||||
"message": "コピー"
|
||||
},
|
||||
"files.action.reveal": {
|
||||
"message": "フォルダーで表示"
|
||||
},
|
||||
"files.action.cancel": {
|
||||
"message": "キャンセル"
|
||||
},
|
||||
"files.action.more": {
|
||||
"message": "その他"
|
||||
},
|
||||
"files.action.open": {
|
||||
"message": "開く"
|
||||
},
|
||||
"files.action.alwaysAccept": {
|
||||
"message": "このピアからは常に承認"
|
||||
},
|
||||
"files.action.block": {
|
||||
"message": "このピアをブロック"
|
||||
},
|
||||
"files.action.delete": {
|
||||
"message": "削除"
|
||||
},
|
||||
"peers.dropToSend": {
|
||||
"message": "ドロップして送信"
|
||||
},
|
||||
"peers.details.sendFile": {
|
||||
"message": "ファイルを送信…"
|
||||
},
|
||||
"peers.details.sendClipboard": {
|
||||
"message": "クリップボードを送信"
|
||||
},
|
||||
"peers.details.sendClipboard.empty": {
|
||||
"message": "クリップボードは空です"
|
||||
},
|
||||
"settings.tabs.fileSharing": {
|
||||
"message": "ファイル共有"
|
||||
},
|
||||
"settings.fileSharing.section": {
|
||||
"message": "ファイル受信"
|
||||
},
|
||||
"settings.fileSharing.loading": {
|
||||
"message": "読み込み中…"
|
||||
},
|
||||
"settings.fileSharing.mode.label": {
|
||||
"message": "ピアからファイルを受信"
|
||||
},
|
||||
"settings.fileSharing.mode.help": {
|
||||
"message": "このデバイスが受信ファイルの提案を処理する方法。"
|
||||
},
|
||||
"settings.fileSharing.mode.off": {
|
||||
"message": "オフ"
|
||||
},
|
||||
"settings.fileSharing.mode.off.help": {
|
||||
"message": "このデバイスはファイルを受け付けません。"
|
||||
},
|
||||
"settings.fileSharing.mode.ask": {
|
||||
"message": "毎回確認"
|
||||
},
|
||||
"settings.fileSharing.mode.ask.help": {
|
||||
"message": "各提案はまず同意を求めます。"
|
||||
},
|
||||
"settings.fileSharing.mode.auto": {
|
||||
"message": "自動承認"
|
||||
},
|
||||
"settings.fileSharing.mode.auto.help": {
|
||||
"message": "ファイルは操作なしで届きます。"
|
||||
},
|
||||
"settings.fileSharing.destination.label": {
|
||||
"message": "受信ファイルの保存先"
|
||||
},
|
||||
"settings.fileSharing.destination.help": {
|
||||
"message": "受信したファイルはこのフォルダーに保存されます。"
|
||||
},
|
||||
"settings.fileSharing.destination.unset": {
|
||||
"message": "未設定"
|
||||
},
|
||||
"settings.fileSharing.destination.change": {
|
||||
"message": "変更…"
|
||||
},
|
||||
"settings.fileSharing.exceptions.label": {
|
||||
"message": "ピアごとの例外"
|
||||
},
|
||||
"settings.fileSharing.exceptions.help": {
|
||||
"message": "受信モードを上書きする設定。"
|
||||
},
|
||||
"settings.fileSharing.exceptions.empty": {
|
||||
"message": "例外はありません。"
|
||||
},
|
||||
"settings.fileSharing.exceptions.blocked": {
|
||||
"message": "ブロック済み"
|
||||
},
|
||||
"settings.fileSharing.exceptions.always": {
|
||||
"message": "常に承認"
|
||||
},
|
||||
"settings.fileSharing.exceptions.remove": {
|
||||
"message": "例外を削除"
|
||||
},
|
||||
"files.state.unreachable": {
|
||||
"message": "拒否されました",
|
||||
"description": "Failed-transfer reason: the peer's file drop port refused the offer."
|
||||
},
|
||||
"notify.filedrop.offer.title": {
|
||||
"message": "受信ファイル"
|
||||
},
|
||||
"notify.filedrop.always": {
|
||||
"message": "常に承認"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1338,5 +1338,174 @@
|
||||
},
|
||||
"error.unknown": {
|
||||
"message": "A operação falhou."
|
||||
},
|
||||
"nav.files.title": {
|
||||
"message": "Arquivos"
|
||||
},
|
||||
"files.search.placeholder": {
|
||||
"message": "Buscar transferências por arquivo ou peer"
|
||||
},
|
||||
"files.empty.title": {
|
||||
"message": "Nenhuma transferência ainda"
|
||||
},
|
||||
"files.empty.description": {
|
||||
"message": "Os arquivos enviados ou recebidos aparecerão aqui."
|
||||
},
|
||||
"files.group.today": {
|
||||
"message": "Hoje"
|
||||
},
|
||||
"files.group.yesterday": {
|
||||
"message": "Ontem"
|
||||
},
|
||||
"files.offer.subtitle": {
|
||||
"message": "{peer} quer enviar"
|
||||
},
|
||||
"files.offer.accept": {
|
||||
"message": "Aceitar"
|
||||
},
|
||||
"files.offer.decline": {
|
||||
"message": "Recusar"
|
||||
},
|
||||
"files.row.to": {
|
||||
"message": "para {peer}"
|
||||
},
|
||||
"files.row.from": {
|
||||
"message": "de {peer}"
|
||||
},
|
||||
"files.state.pending": {
|
||||
"message": "Aguardando"
|
||||
},
|
||||
"files.state.transferring": {
|
||||
"message": "Transferindo"
|
||||
},
|
||||
"files.state.progress": {
|
||||
"message": "{percent}%"
|
||||
},
|
||||
"files.state.received": {
|
||||
"message": "Recebido"
|
||||
},
|
||||
"files.state.sent": {
|
||||
"message": "Enviado"
|
||||
},
|
||||
"files.state.declined": {
|
||||
"message": "Recusado"
|
||||
},
|
||||
"files.state.expired": {
|
||||
"message": "Sem resposta"
|
||||
},
|
||||
"files.state.cancelled": {
|
||||
"message": "Cancelado"
|
||||
},
|
||||
"files.state.failed": {
|
||||
"message": "Falhou"
|
||||
},
|
||||
"files.action.copy": {
|
||||
"message": "Copiar"
|
||||
},
|
||||
"files.action.reveal": {
|
||||
"message": "Mostrar na pasta"
|
||||
},
|
||||
"files.action.cancel": {
|
||||
"message": "Cancelar"
|
||||
},
|
||||
"files.action.more": {
|
||||
"message": "Mais"
|
||||
},
|
||||
"files.action.open": {
|
||||
"message": "Abrir"
|
||||
},
|
||||
"files.action.alwaysAccept": {
|
||||
"message": "Sempre aceitar deste peer"
|
||||
},
|
||||
"files.action.block": {
|
||||
"message": "Bloquear este peer"
|
||||
},
|
||||
"files.action.delete": {
|
||||
"message": "Excluir"
|
||||
},
|
||||
"peers.dropToSend": {
|
||||
"message": "Solte para enviar"
|
||||
},
|
||||
"peers.details.sendFile": {
|
||||
"message": "Enviar arquivo…"
|
||||
},
|
||||
"peers.details.sendClipboard": {
|
||||
"message": "Enviar área de transferência"
|
||||
},
|
||||
"peers.details.sendClipboard.empty": {
|
||||
"message": "A área de transferência está vazia"
|
||||
},
|
||||
"settings.tabs.fileSharing": {
|
||||
"message": "Compartilhamento de arquivos"
|
||||
},
|
||||
"settings.fileSharing.section": {
|
||||
"message": "Recebimento de arquivos"
|
||||
},
|
||||
"settings.fileSharing.loading": {
|
||||
"message": "Carregando…"
|
||||
},
|
||||
"settings.fileSharing.mode.label": {
|
||||
"message": "Receber arquivos de peers"
|
||||
},
|
||||
"settings.fileSharing.mode.help": {
|
||||
"message": "Como este dispositivo trata ofertas de arquivos recebidas."
|
||||
},
|
||||
"settings.fileSharing.mode.off": {
|
||||
"message": "Desativado"
|
||||
},
|
||||
"settings.fileSharing.mode.off.help": {
|
||||
"message": "Este dispositivo não aceita arquivos."
|
||||
},
|
||||
"settings.fileSharing.mode.ask": {
|
||||
"message": "Perguntar sempre"
|
||||
},
|
||||
"settings.fileSharing.mode.ask.help": {
|
||||
"message": "Cada oferta pede primeiro o seu consentimento."
|
||||
},
|
||||
"settings.fileSharing.mode.auto": {
|
||||
"message": "Aceitar automaticamente"
|
||||
},
|
||||
"settings.fileSharing.mode.auto.help": {
|
||||
"message": "Os arquivos chegam sem interação."
|
||||
},
|
||||
"settings.fileSharing.destination.label": {
|
||||
"message": "Salvar arquivos recebidos em"
|
||||
},
|
||||
"settings.fileSharing.destination.help": {
|
||||
"message": "Os arquivos recebidos são entregues nesta pasta."
|
||||
},
|
||||
"settings.fileSharing.destination.unset": {
|
||||
"message": "Não definido"
|
||||
},
|
||||
"settings.fileSharing.destination.change": {
|
||||
"message": "Alterar…"
|
||||
},
|
||||
"settings.fileSharing.exceptions.label": {
|
||||
"message": "Exceções por peer"
|
||||
},
|
||||
"settings.fileSharing.exceptions.help": {
|
||||
"message": "Substituições sobre o modo de recebimento."
|
||||
},
|
||||
"settings.fileSharing.exceptions.empty": {
|
||||
"message": "Sem exceções."
|
||||
},
|
||||
"settings.fileSharing.exceptions.blocked": {
|
||||
"message": "Bloqueado"
|
||||
},
|
||||
"settings.fileSharing.exceptions.always": {
|
||||
"message": "Sempre aceito"
|
||||
},
|
||||
"settings.fileSharing.exceptions.remove": {
|
||||
"message": "Remover exceção"
|
||||
},
|
||||
"files.state.unreachable": {
|
||||
"message": "Recusado",
|
||||
"description": "Failed-transfer reason: the peer's file drop port refused the offer."
|
||||
},
|
||||
"notify.filedrop.offer.title": {
|
||||
"message": "Arquivo recebido"
|
||||
},
|
||||
"notify.filedrop.always": {
|
||||
"message": "Sempre aceitar"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1338,5 +1338,174 @@
|
||||
},
|
||||
"error.unknown": {
|
||||
"message": "Не удалось выполнить операцию."
|
||||
},
|
||||
"nav.files.title": {
|
||||
"message": "Файлы"
|
||||
},
|
||||
"files.search.placeholder": {
|
||||
"message": "Поиск передач по файлу или пиру"
|
||||
},
|
||||
"files.empty.title": {
|
||||
"message": "Передач пока нет"
|
||||
},
|
||||
"files.empty.description": {
|
||||
"message": "Отправленные и полученные файлы появятся здесь."
|
||||
},
|
||||
"files.group.today": {
|
||||
"message": "Сегодня"
|
||||
},
|
||||
"files.group.yesterday": {
|
||||
"message": "Вчера"
|
||||
},
|
||||
"files.offer.subtitle": {
|
||||
"message": "{peer} хочет отправить"
|
||||
},
|
||||
"files.offer.accept": {
|
||||
"message": "Принять"
|
||||
},
|
||||
"files.offer.decline": {
|
||||
"message": "Отклонить"
|
||||
},
|
||||
"files.row.to": {
|
||||
"message": "кому: {peer}"
|
||||
},
|
||||
"files.row.from": {
|
||||
"message": "от {peer}"
|
||||
},
|
||||
"files.state.pending": {
|
||||
"message": "Ожидание"
|
||||
},
|
||||
"files.state.transferring": {
|
||||
"message": "Передача"
|
||||
},
|
||||
"files.state.progress": {
|
||||
"message": "{percent}%"
|
||||
},
|
||||
"files.state.received": {
|
||||
"message": "Получено"
|
||||
},
|
||||
"files.state.sent": {
|
||||
"message": "Отправлено"
|
||||
},
|
||||
"files.state.declined": {
|
||||
"message": "Отклонено"
|
||||
},
|
||||
"files.state.expired": {
|
||||
"message": "Нет ответа"
|
||||
},
|
||||
"files.state.cancelled": {
|
||||
"message": "Отменено"
|
||||
},
|
||||
"files.state.failed": {
|
||||
"message": "Ошибка"
|
||||
},
|
||||
"files.action.copy": {
|
||||
"message": "Копировать"
|
||||
},
|
||||
"files.action.reveal": {
|
||||
"message": "Показать в папке"
|
||||
},
|
||||
"files.action.cancel": {
|
||||
"message": "Отменить"
|
||||
},
|
||||
"files.action.more": {
|
||||
"message": "Ещё"
|
||||
},
|
||||
"files.action.open": {
|
||||
"message": "Открыть"
|
||||
},
|
||||
"files.action.alwaysAccept": {
|
||||
"message": "Всегда принимать от этого пира"
|
||||
},
|
||||
"files.action.block": {
|
||||
"message": "Заблокировать этого пира"
|
||||
},
|
||||
"files.action.delete": {
|
||||
"message": "Удалить"
|
||||
},
|
||||
"peers.dropToSend": {
|
||||
"message": "Отпустите для отправки"
|
||||
},
|
||||
"peers.details.sendFile": {
|
||||
"message": "Отправить файл…"
|
||||
},
|
||||
"peers.details.sendClipboard": {
|
||||
"message": "Отправить буфер обмена"
|
||||
},
|
||||
"peers.details.sendClipboard.empty": {
|
||||
"message": "Буфер обмена пуст"
|
||||
},
|
||||
"settings.tabs.fileSharing": {
|
||||
"message": "Обмен файлами"
|
||||
},
|
||||
"settings.fileSharing.section": {
|
||||
"message": "Получение файлов"
|
||||
},
|
||||
"settings.fileSharing.loading": {
|
||||
"message": "Загрузка…"
|
||||
},
|
||||
"settings.fileSharing.mode.label": {
|
||||
"message": "Получать файлы от пиров"
|
||||
},
|
||||
"settings.fileSharing.mode.help": {
|
||||
"message": "Как это устройство обрабатывает входящие предложения файлов."
|
||||
},
|
||||
"settings.fileSharing.mode.off": {
|
||||
"message": "Выключено"
|
||||
},
|
||||
"settings.fileSharing.mode.off.help": {
|
||||
"message": "Это устройство не принимает файлы."
|
||||
},
|
||||
"settings.fileSharing.mode.ask": {
|
||||
"message": "Спрашивать каждый раз"
|
||||
},
|
||||
"settings.fileSharing.mode.ask.help": {
|
||||
"message": "Каждое предложение сначала запрашивает согласие."
|
||||
},
|
||||
"settings.fileSharing.mode.auto": {
|
||||
"message": "Автоприём"
|
||||
},
|
||||
"settings.fileSharing.mode.auto.help": {
|
||||
"message": "Файлы приходят без подтверждения."
|
||||
},
|
||||
"settings.fileSharing.destination.label": {
|
||||
"message": "Сохранять полученные файлы в"
|
||||
},
|
||||
"settings.fileSharing.destination.help": {
|
||||
"message": "Полученные файлы помещаются в эту папку."
|
||||
},
|
||||
"settings.fileSharing.destination.unset": {
|
||||
"message": "Не задано"
|
||||
},
|
||||
"settings.fileSharing.destination.change": {
|
||||
"message": "Изменить…"
|
||||
},
|
||||
"settings.fileSharing.exceptions.label": {
|
||||
"message": "Исключения для пиров"
|
||||
},
|
||||
"settings.fileSharing.exceptions.help": {
|
||||
"message": "Переопределения поверх режима приёма."
|
||||
},
|
||||
"settings.fileSharing.exceptions.empty": {
|
||||
"message": "Исключений нет."
|
||||
},
|
||||
"settings.fileSharing.exceptions.blocked": {
|
||||
"message": "Заблокирован"
|
||||
},
|
||||
"settings.fileSharing.exceptions.always": {
|
||||
"message": "Всегда принимается"
|
||||
},
|
||||
"settings.fileSharing.exceptions.remove": {
|
||||
"message": "Удалить исключение"
|
||||
},
|
||||
"files.state.unreachable": {
|
||||
"message": "Отклонено",
|
||||
"description": "Failed-transfer reason: the peer's file drop port refused the offer."
|
||||
},
|
||||
"notify.filedrop.offer.title": {
|
||||
"message": "Входящий файл"
|
||||
},
|
||||
"notify.filedrop.always": {
|
||||
"message": "Всегда принимать"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1338,5 +1338,174 @@
|
||||
},
|
||||
"error.unknown": {
|
||||
"message": "操作失败。"
|
||||
},
|
||||
"nav.files.title": {
|
||||
"message": "文件"
|
||||
},
|
||||
"files.search.placeholder": {
|
||||
"message": "按文件或对等设备搜索传输"
|
||||
},
|
||||
"files.empty.title": {
|
||||
"message": "暂无传输"
|
||||
},
|
||||
"files.empty.description": {
|
||||
"message": "您发送或接收的文件将显示在这里。"
|
||||
},
|
||||
"files.group.today": {
|
||||
"message": "今天"
|
||||
},
|
||||
"files.group.yesterday": {
|
||||
"message": "昨天"
|
||||
},
|
||||
"files.offer.subtitle": {
|
||||
"message": "{peer} 想要发送"
|
||||
},
|
||||
"files.offer.accept": {
|
||||
"message": "接受"
|
||||
},
|
||||
"files.offer.decline": {
|
||||
"message": "拒绝"
|
||||
},
|
||||
"files.row.to": {
|
||||
"message": "发送至 {peer}"
|
||||
},
|
||||
"files.row.from": {
|
||||
"message": "来自 {peer}"
|
||||
},
|
||||
"files.state.pending": {
|
||||
"message": "等待中"
|
||||
},
|
||||
"files.state.transferring": {
|
||||
"message": "传输中"
|
||||
},
|
||||
"files.state.progress": {
|
||||
"message": "{percent}%"
|
||||
},
|
||||
"files.state.received": {
|
||||
"message": "已接收"
|
||||
},
|
||||
"files.state.sent": {
|
||||
"message": "已发送"
|
||||
},
|
||||
"files.state.declined": {
|
||||
"message": "已拒绝"
|
||||
},
|
||||
"files.state.expired": {
|
||||
"message": "无响应"
|
||||
},
|
||||
"files.state.cancelled": {
|
||||
"message": "已取消"
|
||||
},
|
||||
"files.state.failed": {
|
||||
"message": "失败"
|
||||
},
|
||||
"files.action.copy": {
|
||||
"message": "复制"
|
||||
},
|
||||
"files.action.reveal": {
|
||||
"message": "在文件夹中显示"
|
||||
},
|
||||
"files.action.cancel": {
|
||||
"message": "取消"
|
||||
},
|
||||
"files.action.more": {
|
||||
"message": "更多"
|
||||
},
|
||||
"files.action.open": {
|
||||
"message": "打开"
|
||||
},
|
||||
"files.action.alwaysAccept": {
|
||||
"message": "始终接受此对等设备"
|
||||
},
|
||||
"files.action.block": {
|
||||
"message": "屏蔽此对等设备"
|
||||
},
|
||||
"files.action.delete": {
|
||||
"message": "删除"
|
||||
},
|
||||
"peers.dropToSend": {
|
||||
"message": "放开即发送"
|
||||
},
|
||||
"peers.details.sendFile": {
|
||||
"message": "发送文件…"
|
||||
},
|
||||
"peers.details.sendClipboard": {
|
||||
"message": "发送剪贴板"
|
||||
},
|
||||
"peers.details.sendClipboard.empty": {
|
||||
"message": "剪贴板为空"
|
||||
},
|
||||
"settings.tabs.fileSharing": {
|
||||
"message": "文件共享"
|
||||
},
|
||||
"settings.fileSharing.section": {
|
||||
"message": "文件接收"
|
||||
},
|
||||
"settings.fileSharing.loading": {
|
||||
"message": "加载中…"
|
||||
},
|
||||
"settings.fileSharing.mode.label": {
|
||||
"message": "接收对等设备的文件"
|
||||
},
|
||||
"settings.fileSharing.mode.help": {
|
||||
"message": "此设备如何处理传入的文件提议。"
|
||||
},
|
||||
"settings.fileSharing.mode.off": {
|
||||
"message": "关闭"
|
||||
},
|
||||
"settings.fileSharing.mode.off.help": {
|
||||
"message": "此设备不接受文件。"
|
||||
},
|
||||
"settings.fileSharing.mode.ask": {
|
||||
"message": "每次询问"
|
||||
},
|
||||
"settings.fileSharing.mode.ask.help": {
|
||||
"message": "每个提议都会先征求您的同意。"
|
||||
},
|
||||
"settings.fileSharing.mode.auto": {
|
||||
"message": "自动接受"
|
||||
},
|
||||
"settings.fileSharing.mode.auto.help": {
|
||||
"message": "文件无需交互即可到达。"
|
||||
},
|
||||
"settings.fileSharing.destination.label": {
|
||||
"message": "接收文件保存至"
|
||||
},
|
||||
"settings.fileSharing.destination.help": {
|
||||
"message": "接收的文件将存放到此文件夹。"
|
||||
},
|
||||
"settings.fileSharing.destination.unset": {
|
||||
"message": "未设置"
|
||||
},
|
||||
"settings.fileSharing.destination.change": {
|
||||
"message": "更改…"
|
||||
},
|
||||
"settings.fileSharing.exceptions.label": {
|
||||
"message": "按对等设备的例外"
|
||||
},
|
||||
"settings.fileSharing.exceptions.help": {
|
||||
"message": "覆盖接收模式的规则。"
|
||||
},
|
||||
"settings.fileSharing.exceptions.empty": {
|
||||
"message": "无例外。"
|
||||
},
|
||||
"settings.fileSharing.exceptions.blocked": {
|
||||
"message": "已屏蔽"
|
||||
},
|
||||
"settings.fileSharing.exceptions.always": {
|
||||
"message": "始终接受"
|
||||
},
|
||||
"settings.fileSharing.exceptions.remove": {
|
||||
"message": "移除例外"
|
||||
},
|
||||
"files.state.unreachable": {
|
||||
"message": "已拒绝",
|
||||
"description": "Failed-transfer reason: the peer's file drop port refused the offer."
|
||||
},
|
||||
"notify.filedrop.offer.title": {
|
||||
"message": "传入文件"
|
||||
},
|
||||
"notify.filedrop.always": {
|
||||
"message": "始终接受"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user