From 25152ddb61a89ea3ea29d3aef5de13343429d32a Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Fri, 9 Oct 2026 18:23:52 +0200 Subject: feat: back up the phone's photos to a group, once a day on Wi-Fi MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Android application sends the photos taken on the phone to one folder of one group chosen by the member (docs/MESHBAY_DESIGN.md §9.12). The phone lists MediaStore, keeps a ledger of what was sent and hands each photo's bytes to the page by an opaque token on the packaged origin; the page decides when a run is due and uploads through the existing path, one photo at a time under a slot. - Once a day from the last finished run, on an unmetered network only; "Back up now" asks first on mobile data. Leaving Wi-Fi stops after the file in flight. - Photos already on the phone are sent by default, newest first, under /YYYY/MM; edits are sent beside the original as -edited-. - Additive by construction: nothing is ever deleted, renamed or replaced on the node, and a photo deleted on the node is not sent again. - A confirmation names the group, owner, members, folder and size when the destination or starting point changes; a lasting refusal (disk full, folder read-only or gone, no longer a member) is said once and retried a day later. - No ACCESS_MEDIA_LOCATION, so the platform redacts photo locations. - A dataSync foreground service keeps a run going with the screen off. HEIC/HEIF photos are sent but not shown in Photos yet (§15.2). Co-Authored-By: Claude Opus 5.5 --- .../src/meshbay_hub/static/locales/pl.js | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js') diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js index 6efebb8..a750c2f 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js @@ -1318,4 +1318,49 @@ export default { 'native.node_account_confirm': 'Node na tym komputerze jest skonfigurowany dla {current}. Skonfigurować go zamiast tego dla {next}? Przestanie obsługiwać grupy, które hostuje dla {current}.', 'native.browser_access_confirm': 'Zezwolić na logowanie z przeglądarki? Aplikacja pozostawi Twoją tożsamość na każdym używanym node, zapieczętowaną tak, by otworzyć ją mogło tylko Twoje hasło wraz z kontem na hubie.', 'native.declined': 'Anulowano — nic nie zostało zmienione.', + + // Photo backup, Android only (photo-sync.js, photo-sync-settings.js). + 'photosync.heading': "Kopia zdjęć", + 'photosync.intro': "Wysyłaj zdjęcia zrobione tym telefonem do folderu jednej z Twoich grup, raz dziennie, przez Wi-Fi. Zdjęcia usunięte z telefonu zostają w grupie.", + 'photosync.setup': "Skonfiguruj", + 'photosync.change': "Zmień", + 'photosync.turn_off': "Wyłącz", + 'photosync.now': "Utwórz kopię teraz", + 'photosync.permission_needed': "MeshBay potrzebuje dostępu do zdjęć na tym telefonie.", + 'photosync.permission_allow': "Zezwól na dostęp", + 'photosync.permission_partial': "Dostęp jest ograniczony do wybranych zdjęć: nowe zdjęcia nie będą kopiowane, dopóki nie zezwolisz na dostęp do wszystkich.", + 'photosync.group': "Grupa", + 'photosync.choose_group': "Wybierz grupę", + 'photosync.checking_group': "Odczytywanie folderów grupy…", + 'photosync.group_offline': "Żaden node hostujący tę grupę nie jest teraz dostępny. Spróbuj ponownie, gdy będzie.", + 'photosync.no_folder': "Ta grupa nie ma folderu, do którego możesz przesyłać pliki i który pokazuje jej karta Zdjęcia.", + 'photosync.folder': "Folder", + 'photosync.albums': "Albumy na tym telefonie", + 'photosync.album_camera': "Aparat", + 'photosync.album_count': "Zdjęcia: {n} · {size}", + 'photosync.scope_existing': "Zdjęcia, które już są na tym telefonie, a potem nowe", + 'photosync.scope_new': "Tylko zdjęcia zrobione od teraz", + 'photosync.start': "Rozpocznij kopię", + 'photosync.confirm': "Twoje zdjęcia zostaną wysłane do grupy {group} (hostowanej przez @{owner}, członkowie: {members}), do folderu {folder}. Wszyscy członkowie tej grupy będą mogli je oglądać i pobierać.\n\nZdjęcia do wysłania: {count} ({size}), a potem nowe raz dziennie.\n\nMożesz później usunąć to, co wysłałeś, ale nie kopie, które inni już pobrali.", + 'photosync.confirm_new': "Twoje zdjęcia zostaną wysłane do grupy {group} (hostowanej przez @{owner}, członkowie: {members}), do folderu {folder}. Wszyscy członkowie tej grupy będą mogli je oglądać i pobierać.\n\nNowe zdjęcia będą wysyłane raz dziennie.\n\nMożesz później usunąć to, co wysłałeś, ale nie kopie, które inni już pobrali.", + 'photosync.metered_confirm': "Korzystasz z danych komórkowych — zdjęcia: {count}, {size}. Wysłać mimo to?", + 'photosync.summary': "{group} (@{owner}) → {folder}", + 'photosync.other_account': "Skonfigurowano dla @{account}. Zaloguj się jako @{account}, aby ją kontynuować, albo skonfiguruj ją tu ponownie.", + 'photosync.sent_total': "Wysłane zdjęcia: {n}", + 'photosync.last_run': "Ostatnia kopia: {when}", + 'photosync.never': "Jeszcze bez kopii", + 'photosync.state_waiting_wifi': "Oczekiwanie na Wi-Fi", + 'photosync.state_connecting': "Łączenie z grupą…", + 'photosync.state_sending': "Wysyłanie {done} / {total}", + 'photosync.state_offline': "Żaden node grupy nie jest dostępny; kolejna próba później", + 'photosync.state_interrupted': "Przerwano — będzie kontynuowana przy następnej okazji", + 'photosync.state_up_to_date': "Aktualna", + 'photosync.notif_progress': "Kopia zdjęć — {done} / {total}", + 'photosync.fail_disk_full': "Kopia zdjęć zatrzymana: dysk, na którym działa node, jest pełny.", + 'photosync.fail_read_only': "Kopia zdjęć zatrzymana: folder nie przyjmuje już plików.", + 'photosync.fail_no_folder': "Kopia zdjęć zatrzymana: folder już nie istnieje w grupie.", + 'photosync.fail_unavailable': "Kopia zdjęć zatrzymana: dysk z folderem nie jest podłączony do node.", + 'photosync.fail_not_member': "Kopia zdjęć zatrzymana: nie jesteś już członkiem tej grupy.", + 'photosync.fail_permission': "Kopia zdjęć zatrzymana: MeshBay nie ma już dostępu do zdjęć.", + 'photosync.fail_other': "Kopia zdjęć zatrzymana.", }; -- cgit v1.2.3