feat(core,fuse,gui): "On this day" strip above the photos timeline

Add a PhotosOnThisDay control request, served from the stored timeline:
photos whose local capture date matches today's in earlier years, one
row per group. The GUI shows a card per year ("3 years ago") with the
year's newest photo as its cover; clicking a card scrolls the timeline
to that day. The strip is revealed only at the top of the whole,
unfiltered timeline, so it gives the grid its room back once you
scroll or filter.
This commit is contained in:
nvrl committed 2026-09-28 02:12:59 +02:00
1 parent c3ec82392a
commit 7dbf818d83
17 files changed
+2017 -1551

No files matched your search

+190 -172
View File
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: proton-drive-linux 2.1.0\n"
"Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n"
"POT-Creation-Date: 2026-09-28 00:14+0200\n"
"POT-Creation-Date: 2026-09-28 00:44+0200\n"
"PO-Revision-Date: 2026-09-23 12:00+0200\n"
"Last-Translator: Proton Drive for Linux contributors\n"
"Language-Team: French\n"
@@ -15,99 +15,99 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: crates/pdfs-gui/src/app/main.rs:830
#: crates/pdfs-gui/src/app/main.rs:835
#: crates/pdfs-gui/src/app/pages/locations.rs:1133
#: crates/pdfs-gui/src/prompt.rs:169
msgid "My files"
msgstr "Mes fichiers"
#: crates/pdfs-gui/src/app/main.rs:833 crates/pdfs-gui/src/app/main.rs:1446
#: crates/pdfs-gui/src/app/main.rs:838 crates/pdfs-gui/src/app/main.rs:1451
#: crates/pdfs-gui/src/app/pages/albums.rs:633
#: crates/pdfs-gui/src/app/pages/photos.rs:730
#: crates/pdfs-gui/src/app/pages/photos.rs:746
msgid "Photos"
msgstr "Photos"
#: crates/pdfs-gui/src/app/main.rs:838
#: crates/pdfs-gui/src/app/main.rs:843
msgid "Shared with me"
msgstr "Partagés avec moi"
#: crates/pdfs-gui/src/app/main.rs:843
#: crates/pdfs-gui/src/app/main.rs:848
msgid "Shared by me"
msgstr "Partagés par moi"
#: crates/pdfs-gui/src/app/main.rs:846
#: crates/pdfs-gui/src/app/main.rs:851
#: crates/pdfs-gui/src/app/pages/devices.rs:109
msgid "Computers"
msgstr "Ordinateurs"
#: crates/pdfs-gui/src/app/main.rs:847
#: crates/pdfs-gui/src/app/main.rs:852
#: crates/pdfs-gui/src/app/pages/trash.rs:106
msgid "Trash"
msgstr "Corbeille"
#: crates/pdfs-gui/src/app/main.rs:851
#: crates/pdfs-gui/src/app/main.rs:856
msgid "Sync"
msgstr "Synchronisation"
#: crates/pdfs-gui/src/app/main.rs:856
#: crates/pdfs-gui/src/app/main.rs:861
#: crates/pdfs-gui/src/app/pages/activity.rs:153
msgid "Activity"
msgstr "Activité"
#: crates/pdfs-gui/src/app/main.rs:1002
#: crates/pdfs-gui/src/app/main.rs:1007
msgid "Refresh (F5)"
msgstr "Actualiser (F5)"
#. Translators: a failed action's toast. {what} says what failed, such as
#. "Couldn't rename"; {detail} is the reason, usually untranslated text
#. from the mount service.
#: crates/pdfs-gui/src/app/main.rs:1176
#: crates/pdfs-gui/src/app/main.rs:1181
#, rust-format
msgid "{what}: {detail}"
msgstr "{what} : {detail}"
#: crates/pdfs-gui/src/app/main.rs:1195
#: crates/pdfs-gui/src/app/main.rs:1200
msgid "You're offline"
msgstr "Vous êtes hors ligne"
#: crates/pdfs-gui/src/app/main.rs:1196
#: crates/pdfs-gui/src/app/main.rs:1201
msgid "That's not there any more"
msgstr "Cet élément n’existe plus"
#: crates/pdfs-gui/src/app/main.rs:1197
#: crates/pdfs-gui/src/app/main.rs:1202
msgid "You don't have access to that"
msgstr "Vous n’avez pas accès à cet élément"
#: crates/pdfs-gui/src/app/main.rs:1198
#: crates/pdfs-gui/src/app/main.rs:1203
msgid "Something changed this first"
msgstr "Quelque chose l’a modifié entre-temps"
#: crates/pdfs-gui/src/app/main.rs:1199
#: crates/pdfs-gui/src/app/main.rs:1204
msgid "Your Proton Drive is full"
msgstr "Votre Proton Drive est plein"
#: crates/pdfs-gui/src/app/main.rs:1240 crates/pdfs-gui/src/app/main.rs:1428
#: crates/pdfs-gui/src/app/main.rs:1245 crates/pdfs-gui/src/app/main.rs:1433
#: crates/pdfs-gui/src/app/pages/status.rs:353
msgid "Preferences"
msgstr "Préférences"
#: crates/pdfs-gui/src/app/main.rs:1241 crates/pdfs-gui/src/app/main.rs:1485
#: crates/pdfs-gui/src/app/main.rs:1246 crates/pdfs-gui/src/app/main.rs:1490
msgid "Keyboard Shortcuts"
msgstr "Raccourcis clavier"
#: crates/pdfs-gui/src/app/main.rs:1243
#: crates/pdfs-gui/src/app/main.rs:1248
msgid "About Proton Drive for Linux"
msgstr "À propos de Proton Drive for Linux"
#: crates/pdfs-gui/src/app/main.rs:1248
#: crates/pdfs-gui/src/app/main.rs:1253
msgid "Main menu"
msgstr "Menu principal"
#: crates/pdfs-gui/src/app/main.rs:1294
#: crates/pdfs-gui/src/app/main.rs:1299
msgid "Proton Drive for Linux"
msgstr "Proton Drive for Linux"
#: crates/pdfs-gui/src/app/main.rs:1302
#: crates/pdfs-gui/src/app/main.rs:1307
msgid ""
"Files-on-demand Proton Drive for the Linux desktop.\n"
"\n"
@@ -119,23 +119,23 @@ msgstr ""
"Client non officiel — non affilié à Proton AG, ni approuvé ni pris en charge "
"par Proton AG."
#: crates/pdfs-gui/src/app/main.rs:1307
#: crates/pdfs-gui/src/app/main.rs:1312
msgid "Source Code"
msgstr "Code source"
#: crates/pdfs-gui/src/app/main.rs:1311
#: crates/pdfs-gui/src/app/main.rs:1316
msgid "Proton Terms of Service"
msgstr "Conditions d’utilisation de Proton"
#: crates/pdfs-gui/src/app/main.rs:1315
#: crates/pdfs-gui/src/app/main.rs:1320
msgid "Proton Privacy Policy"
msgstr "Politique de confidentialité de Proton"
#: crates/pdfs-gui/src/app/main.rs:1320
#: crates/pdfs-gui/src/app/main.rs:1325
msgid "Disclaimer"
msgstr "Avertissement"
#: crates/pdfs-gui/src/app/main.rs:1324
#: crates/pdfs-gui/src/app/main.rs:1329
msgid ""
"This is an unofficial, community-built client. It is not affiliated with, "
"endorsed by, or supported by Proton AG.\n"
@@ -161,15 +161,15 @@ msgstr ""
#. Translators: replace with your name(s) and email address(es), one
#. per line, to be credited in the About dialog.
#: crates/pdfs-gui/src/app/main.rs:1335
#: crates/pdfs-gui/src/app/main.rs:1340
msgid "translator-credits"
msgstr "Les contributeurs de Proton Drive for Linux"
#: crates/pdfs-gui/src/app/main.rs:1366
#: crates/pdfs-gui/src/app/main.rs:1371
msgid "Stop Proton Drive?"
msgstr "Arrêter Proton Drive ?"
#: crates/pdfs-gui/src/app/main.rs:1367
#: crates/pdfs-gui/src/app/main.rs:1372
msgid ""
"The drive unmounts and nothing syncs until you connect again. Proton Drive "
"starts again at your next login."
@@ -178,7 +178,7 @@ msgstr ""
"vous reconnectiez. Proton Drive redémarrera à votre prochaine ouverture de "
"session."
#: crates/pdfs-gui/src/app/main.rs:1369 crates/pdfs-gui/src/app/main.rs:1642
#: crates/pdfs-gui/src/app/main.rs:1374 crates/pdfs-gui/src/app/main.rs:1647
#: crates/pdfs-gui/src/app/pages/albums.rs:242
#: crates/pdfs-gui/src/app/pages/albums.rs:423
#: crates/pdfs-gui/src/app/pages/browser.rs:2273
@@ -192,7 +192,7 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:670
#: crates/pdfs-gui/src/app/pages/locations.rs:1050
#: crates/pdfs-gui/src/app/pages/login.rs:312
#: crates/pdfs-gui/src/app/pages/photos.rs:1868
#: crates/pdfs-gui/src/app/pages/photos.rs:1842
#: crates/pdfs-gui/src/app/pages/shared.rs:717
#: crates/pdfs-gui/src/app/pages/shared.rs:748
#: crates/pdfs-gui/src/app/pages/shared.rs:789
@@ -206,67 +206,67 @@ msgstr ""
msgid "Cancel"
msgstr "Annuler"
#: crates/pdfs-gui/src/app/main.rs:1370
#: crates/pdfs-gui/src/app/main.rs:1375
msgctxt "verb"
msgid "Stop"
msgstr "Arrêter"
#: crates/pdfs-gui/src/app/main.rs:1387
#: crates/pdfs-gui/src/app/main.rs:1392
msgid "Couldn't stop Proton Drive"
msgstr "Impossible d’arrêter Proton Drive"
#: crates/pdfs-gui/src/app/main.rs:1388
#: crates/pdfs-gui/src/app/main.rs:1393
msgid "The mount service did not stop."
msgstr "Le service de montage ne s’est pas arrêté."
#: crates/pdfs-gui/src/app/main.rs:1424
#: crates/pdfs-gui/src/app/main.rs:1429
#: crates/pdfs-gui/src/app/pages/status.rs:226
msgid "General"
msgstr "Général"
#: crates/pdfs-gui/src/app/main.rs:1426
#: crates/pdfs-gui/src/app/main.rs:1431
#: crates/pdfs-gui/src/app/pages/browser.rs:270
msgid "Search Drive"
msgstr "Rechercher dans Drive"
#: crates/pdfs-gui/src/app/main.rs:1427
#: crates/pdfs-gui/src/app/main.rs:1432
#: crates/pdfs-gui/src/app/pages/browser.rs:1363
msgid "Refresh"
msgstr "Actualiser"
#: crates/pdfs-gui/src/app/main.rs:1429
#: crates/pdfs-gui/src/app/main.rs:1434
msgid "Keyboard shortcuts"
msgstr "Raccourcis clavier"
#: crates/pdfs-gui/src/app/main.rs:1433
#: crates/pdfs-gui/src/app/main.rs:1438
msgid "Files"
msgstr "Fichiers"
#: crates/pdfs-gui/src/app/main.rs:1435
#: crates/pdfs-gui/src/app/main.rs:1440
#: crates/pdfs-gui/src/app/pages/browser.rs:319
#: crates/pdfs-gui/src/app/pages/browser.rs:2586
msgid "New folder"
msgstr "Nouveau dossier"
#: crates/pdfs-gui/src/app/main.rs:1436
#: crates/pdfs-gui/src/app/main.rs:1441
#: crates/pdfs-gui/src/app/pages/browser.rs:315
msgid "Upload files"
msgstr "Téléverser des fichiers"
#: crates/pdfs-gui/src/app/main.rs:1437
#: crates/pdfs-gui/src/app/main.rs:1442
msgid "Back / forward"
msgstr "Précédent / suivant"
#: crates/pdfs-gui/src/app/main.rs:1438
#: crates/pdfs-gui/src/app/main.rs:1443
#: crates/pdfs-gui/src/app/pages/browser.rs:2320
msgid "Parent folder"
msgstr "Dossier parent"
#: crates/pdfs-gui/src/app/main.rs:1439
#: crates/pdfs-gui/src/app/main.rs:1444
msgid "Grid / list"
msgstr "Grille / liste"
#: crates/pdfs-gui/src/app/main.rs:1440
#: crates/pdfs-gui/src/app/main.rs:1445
#: crates/pdfs-gui/src/app/pages/albums.rs:297
#: crates/pdfs-gui/src/app/pages/browser.rs:2252
#: crates/pdfs-gui/src/app/pages/browser.rs:2274
@@ -275,62 +275,62 @@ msgstr "Grille / liste"
msgid "Rename"
msgstr "Renommer"
#: crates/pdfs-gui/src/app/main.rs:1441 crates/pdfs-gui/src/app/main.rs:1461
#: crates/pdfs-gui/src/app/main.rs:1446 crates/pdfs-gui/src/app/main.rs:1466
#: crates/pdfs-gui/src/app/pages/browser.rs:414
#: crates/pdfs-gui/src/app/pages/browser.rs:1306
#: crates/pdfs-gui/src/app/pages/browser.rs:1338
#: crates/pdfs-gui/src/app/pages/photos.rs:552
#: crates/pdfs-gui/src/app/pages/photos.rs:1865
#: crates/pdfs-gui/src/app/pages/photos.rs:1869
#: crates/pdfs-gui/src/app/pages/photos.rs:540
#: crates/pdfs-gui/src/app/pages/photos.rs:1839
#: crates/pdfs-gui/src/app/pages/photos.rs:1843
#: crates/pdfs-gui/src/app/widgets/details.rs:162
msgid "Move to Trash"
msgstr "Mettre à la corbeille"
#: crates/pdfs-gui/src/app/main.rs:1442
#: crates/pdfs-gui/src/app/main.rs:1447
msgid "Clear the selection"
msgstr "Effacer la sélection"
#: crates/pdfs-gui/src/app/main.rs:1448
#: crates/pdfs-gui/src/app/main.rs:1453
msgid "Larger thumbnails"
msgstr "Miniatures plus grandes"
#: crates/pdfs-gui/src/app/main.rs:1449
#: crates/pdfs-gui/src/app/main.rs:1454
msgid "Smaller thumbnails"
msgstr "Miniatures plus petites"
#: crates/pdfs-gui/src/app/main.rs:1450
#: crates/pdfs-gui/src/app/main.rs:1455
msgid "Reset thumbnail size"
msgstr "Réinitialiser la taille des miniatures"
#: crates/pdfs-gui/src/app/main.rs:1451
#: crates/pdfs-gui/src/app/main.rs:1456
msgid "Select all"
msgstr "Tout sélectionner"
#: crates/pdfs-gui/src/app/main.rs:1455
#: crates/pdfs-gui/src/app/main.rs:1460
msgid "Photo Viewer"
msgstr "Visionneuse de photos"
#: crates/pdfs-gui/src/app/main.rs:1457
#: crates/pdfs-gui/src/app/main.rs:1462
msgid "Previous / next photo"
msgstr "Photo précédente / suivante"
#: crates/pdfs-gui/src/app/main.rs:1458
#: crates/pdfs-gui/src/app/main.rs:1463
msgid "First / last photo"
msgstr "Première / dernière photo"
#: crates/pdfs-gui/src/app/main.rs:1459
#: crates/pdfs-gui/src/app/main.rs:1464
msgid "Show details"
msgstr "Afficher les détails"
#: crates/pdfs-gui/src/app/main.rs:1460
#: crates/pdfs-gui/src/app/main.rs:1465
msgid "Fullscreen"
msgstr "Plein écran"
#: crates/pdfs-gui/src/app/main.rs:1462
#: crates/pdfs-gui/src/app/main.rs:1467
msgid "Close"
msgstr "Fermer"
#: crates/pdfs-gui/src/app/main.rs:1565
#: crates/pdfs-gui/src/app/main.rs:1570
msgid "Select a single item to rename it"
msgstr "Sélectionnez un seul élément pour le renommer"
@@ -367,7 +367,7 @@ msgstr "Attention requise"
#: crates/pdfs-gui/src/app/pages/browser.rs:306
#: crates/pdfs-gui/src/app/pages/devices.rs:84
#: crates/pdfs-gui/src/app/pages/locations.rs:134
#: crates/pdfs-gui/src/app/pages/photos.rs:430
#: crates/pdfs-gui/src/app/pages/photos.rs:417
#: crates/pdfs-gui/src/app/pages/shared.rs:83
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:38
#: crates/pdfs-gui/src/app/pages/trash.rs:57 crates/pdfs-gui/src/prompt.rs:593
@@ -403,7 +403,7 @@ msgstr "Impossible de lire l’activité"
#: crates/pdfs-gui/src/app/pages/browser.rs:2880
#: crates/pdfs-gui/src/app/pages/browser.rs:3066
#: crates/pdfs-gui/src/app/pages/photo_viewer.rs:310
#: crates/pdfs-gui/src/app/pages/photos.rs:3077
#: crates/pdfs-gui/src/app/pages/photos.rs:3217
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:139
#: crates/pdfs-gui/src/app/pages/trash.rs:320
msgid "Unexpected reply from the mount service."
@@ -415,7 +415,7 @@ msgstr "Réponse inattendue du service de montage."
#: crates/pdfs-gui/src/app/pages/browser.rs:2914
#: crates/pdfs-gui/src/app/pages/devices.rs:209
#: crates/pdfs-gui/src/app/pages/locations.rs:844
#: crates/pdfs-gui/src/app/pages/photos.rs:3111
#: crates/pdfs-gui/src/app/pages/photos.rs:3251
#: crates/pdfs-gui/src/app/pages/shared.rs:523
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:156
#: crates/pdfs-gui/src/app/pages/status.rs:1301
@@ -427,7 +427,7 @@ msgstr "Non connecté"
#: crates/pdfs-gui/src/app/pages/browser.rs:2915
#: crates/pdfs-gui/src/app/pages/devices.rs:210
#: crates/pdfs-gui/src/app/pages/locations.rs:845
#: crates/pdfs-gui/src/app/pages/photos.rs:3112
#: crates/pdfs-gui/src/app/pages/photos.rs:3252
#: crates/pdfs-gui/src/app/pages/shared.rs:524
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:157
#: crates/pdfs-gui/src/app/pages/trash.rs:336
@@ -439,7 +439,7 @@ msgstr "Le service de montage de Proton Drive n’est pas en cours d’exécutio
#: crates/pdfs-gui/src/app/pages/browser.rs:2924
#: crates/pdfs-gui/src/app/pages/devices.rs:218
#: crates/pdfs-gui/src/app/pages/locations.rs:853
#: crates/pdfs-gui/src/app/pages/photos.rs:3120
#: crates/pdfs-gui/src/app/pages/photos.rs:3260
#: crates/pdfs-gui/src/app/pages/shared.rs:532
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:165
#: crates/pdfs-gui/src/app/pages/status.rs:305
@@ -452,7 +452,7 @@ msgstr "Connexion…"
#: crates/pdfs-gui/src/app/pages/browser.rs:2925
#: crates/pdfs-gui/src/app/pages/devices.rs:219
#: crates/pdfs-gui/src/app/pages/locations.rs:854
#: crates/pdfs-gui/src/app/pages/photos.rs:3121
#: crates/pdfs-gui/src/app/pages/photos.rs:3261
#: crates/pdfs-gui/src/app/pages/shared.rs:533
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:166
#: crates/pdfs-gui/src/app/pages/trash.rs:345
@@ -460,12 +460,12 @@ msgid "Waiting for the Proton Drive mount service to come up."
msgstr "En attente du démarrage du service de montage de Proton Drive."
#: crates/pdfs-gui/src/app/pages/activity.rs:419
#: crates/pdfs-gui/src/app/pages/photos.rs:2509
#: crates/pdfs-gui/src/app/pages/photos.rs:2504
msgid "Today"
msgstr "Aujourd’hui"
#: crates/pdfs-gui/src/app/pages/activity.rs:422
#: crates/pdfs-gui/src/app/pages/photos.rs:2514
#: crates/pdfs-gui/src/app/pages/photos.rs:2509
msgid "Yesterday"
msgstr "Hier"
@@ -524,7 +524,7 @@ msgstr "Résolu"
#. Translators: strftime format for the time of day in the activity feed, such as "14:05".
#. Translators: strftime format for the time a photo was taken, shown on its tile, such as "14:05".
#: crates/pdfs-gui/src/app/pages/activity.rs:580
#: crates/pdfs-gui/src/app/pages/photos.rs:2553
#: crates/pdfs-gui/src/app/pages/photos.rs:2548
msgid "%H:%M"
msgstr "%H:%M"
@@ -630,12 +630,12 @@ msgid "Reading your Proton Drive albums."
msgstr "Lecture de vos albums Proton Drive."
#: crates/pdfs-gui/src/app/pages/albums.rs:59
#: crates/pdfs-gui/src/app/pages/photos.rs:2990
#: crates/pdfs-gui/src/app/pages/photos.rs:3130
msgid "No photo library"
msgstr "Aucune photothèque"
#: crates/pdfs-gui/src/app/pages/albums.rs:60
#: crates/pdfs-gui/src/app/pages/photos.rs:2991
#: crates/pdfs-gui/src/app/pages/photos.rs:3131
msgid "This Proton account doesn't have Photos enabled."
msgstr "Photos n’est pas activé pour ce compte Proton."
@@ -668,7 +668,7 @@ msgstr[1] "{n} albums"
#: crates/pdfs-gui/src/app/pages/albums.rs:205
#: crates/pdfs-gui/src/app/pages/browser.rs:1246
#: crates/pdfs-gui/src/app/pages/photos.rs:2848
#: crates/pdfs-gui/src/app/pages/photos.rs:2984
#: crates/pdfs-gui/src/app/pages/shared.rs:384
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:244
#: crates/pdfs-gui/src/app/widgets/details.rs:155
@@ -734,10 +734,10 @@ msgstr "Impossible de créer l’album"
#: crates/pdfs-gui/src/app/pages/locations.rs:1090
#: crates/pdfs-gui/src/app/pages/locations.rs:1109
#: crates/pdfs-gui/src/app/pages/photo_viewer.rs:1424
#: crates/pdfs-gui/src/app/pages/photos.rs:1234
#: crates/pdfs-gui/src/app/pages/photos.rs:1947
#: crates/pdfs-gui/src/app/pages/photos.rs:2912
#: crates/pdfs-gui/src/app/pages/photos.rs:3083
#: crates/pdfs-gui/src/app/pages/photos.rs:1272
#: crates/pdfs-gui/src/app/pages/photos.rs:1921
#: crates/pdfs-gui/src/app/pages/photos.rs:3048
#: crates/pdfs-gui/src/app/pages/photos.rs:3223
#: crates/pdfs-gui/src/app/pages/shared.rs:510
#: crates/pdfs-gui/src/app/pages/shared.rs:838
#: crates/pdfs-gui/src/app/pages/status.rs:672
@@ -801,7 +801,7 @@ msgstr[0] "Choisissez un album pour {n} photo."
msgstr[1] "Choisissez un album pour {n} photos."
#: crates/pdfs-gui/src/app/pages/albums.rs:424
#: crates/pdfs-gui/src/app/pages/photos.rs:696
#: crates/pdfs-gui/src/app/pages/photos.rs:712
msgid "New Album…"
msgstr "Nouvel album…"
@@ -992,7 +992,7 @@ msgstr "Mes fichiers"
#. Translators: {n} is how many items are selected: files and folders in My Files, photos here.
#: crates/pdfs-gui/src/app/pages/browser.rs:638
#: crates/pdfs-gui/src/app/pages/browser.rs:1331
#: crates/pdfs-gui/src/app/pages/photos.rs:1801
#: crates/pdfs-gui/src/app/pages/photos.rs:1775
#, rust-format
msgid "{n} selected"
msgid_plural "{n} selected"
@@ -1001,8 +1001,8 @@ msgstr[1] "{n} sélectionnés"
#: crates/pdfs-gui/src/app/pages/browser.rs:674
#: crates/pdfs-gui/src/app/pages/browser.rs:709
#: crates/pdfs-gui/src/app/pages/photos.rs:1940
#: crates/pdfs-gui/src/app/pages/photos.rs:1946
#: crates/pdfs-gui/src/app/pages/photos.rs:1914
#: crates/pdfs-gui/src/app/pages/photos.rs:1920
msgid "Couldn't move to Trash"
msgstr "Impossible de mettre à la corbeille"
@@ -1038,7 +1038,7 @@ msgstr[0] "{n} élément mis à la corbeille"
msgstr[1] "{n} éléments mis à la corbeille"
#: crates/pdfs-gui/src/app/pages/browser.rs:727
#: crates/pdfs-gui/src/app/pages/photos.rs:1933
#: crates/pdfs-gui/src/app/pages/photos.rs:1907
msgid "Undo"
msgstr "Annuler"
@@ -1095,7 +1095,7 @@ msgid "Open With…"
msgstr "Ouvrir avec…"
#: crates/pdfs-gui/src/app/pages/browser.rs:1263
#: crates/pdfs-gui/src/app/pages/photos.rs:2846
#: crates/pdfs-gui/src/app/pages/photos.rs:2982
msgctxt "verb"
msgid "Play"
msgstr "Lire"
@@ -1391,7 +1391,7 @@ msgstr[0] "Téléversement de {n} élément…"
msgstr[1] "Téléversement de {n} éléments…"
#: crates/pdfs-gui/src/app/pages/browser.rs:2696
#: crates/pdfs-gui/src/app/pages/photos.rs:714
#: crates/pdfs-gui/src/app/pages/photos.rs:730
msgctxt "verb"
msgid "View"
msgstr "Afficher"
@@ -2564,140 +2564,144 @@ msgid "Hide details"
msgstr "Masquer les détails"
#: crates/pdfs-gui/src/app/pages/photo_viewer.rs:1429
#: crates/pdfs-gui/src/app/pages/photos.rs:2907
#: crates/pdfs-gui/src/app/pages/photos.rs:2911
#: crates/pdfs-gui/src/app/pages/photos.rs:3043
#: crates/pdfs-gui/src/app/pages/photos.rs:3047
msgid "Couldn't change the favorite"
msgstr "Impossible de modifier le favori"
#: crates/pdfs-gui/src/app/pages/photos.rs:440
#: crates/pdfs-gui/src/app/pages/photos.rs:519
#: crates/pdfs-gui/src/app/pages/photos.rs:427
#: crates/pdfs-gui/src/app/pages/photos.rs:507
msgid "Upload photos"
msgstr "Téléverser des photos"
#: crates/pdfs-gui/src/app/pages/photos.rs:445
#: crates/pdfs-gui/src/app/pages/photos.rs:432
#: crates/pdfs-gui/src/app/pages/takeout.rs:287
msgid "Import from Google Photos"
msgstr "Importer depuis Google Photos"
#: crates/pdfs-gui/src/app/pages/photos.rs:486
#: crates/pdfs-gui/src/app/pages/photos.rs:624
#: crates/pdfs-gui/src/app/pages/photos.rs:472
#: crates/pdfs-gui/src/app/pages/photos.rs:612
msgid "Jump to a month"
msgstr "Aller à un mois"
#: crates/pdfs-gui/src/app/pages/photos.rs:503
#: crates/pdfs-gui/src/app/pages/photos.rs:491
msgid "Back to albums"
msgstr "Retour aux albums"
#: crates/pdfs-gui/src/app/pages/photos.rs:515
#: crates/pdfs-gui/src/app/pages/photos.rs:503
msgctxt "verb"
msgid "Upload"
msgstr "Téléverser"
#: crates/pdfs-gui/src/app/pages/photos.rs:528
#: crates/pdfs-gui/src/app/pages/photos.rs:516
msgid "Import a Google Photos Takeout export"
msgstr "Importer une archive Google Takeout de Google Photos"
#: crates/pdfs-gui/src/app/pages/photos.rs:538
#: crates/pdfs-gui/src/app/pages/photos.rs:547
#: crates/pdfs-gui/src/app/pages/photos.rs:1799
#: crates/pdfs-gui/src/app/pages/photos.rs:526
#: crates/pdfs-gui/src/app/pages/photos.rs:535
#: crates/pdfs-gui/src/app/pages/photos.rs:1773
msgid "Select photos"
msgstr "Sélectionner des photos"
#: crates/pdfs-gui/src/app/pages/photos.rs:558
#: crates/pdfs-gui/src/app/pages/photos.rs:2864
#: crates/pdfs-gui/src/app/pages/photos.rs:546
#: crates/pdfs-gui/src/app/pages/photos.rs:3000
msgid "Add to Album…"
msgstr "Ajouter à un album…"
#: crates/pdfs-gui/src/app/pages/photos.rs:564
#: crates/pdfs-gui/src/app/pages/photos.rs:552
msgid "Leave selection (Esc)"
msgstr "Quitter la sélection (Échap)"
#: crates/pdfs-gui/src/app/pages/photos.rs:608
#: crates/pdfs-gui/src/app/pages/photos.rs:596
msgid "Show only favorites"
msgstr "Afficher uniquement les favoris"
#: crates/pdfs-gui/src/app/pages/photos.rs:615
#: crates/pdfs-gui/src/app/pages/photos.rs:603
msgid "Show only photos not in an album"
msgstr "Afficher uniquement les photos hors album"
#: crates/pdfs-gui/src/app/pages/photos.rs:622
#: crates/pdfs-gui/src/app/pages/photos.rs:827
#: crates/pdfs-gui/src/app/pages/photos.rs:610
#: crates/pdfs-gui/src/app/pages/photos.rs:845
msgid "All dates"
msgstr "Toutes les dates"
#: crates/pdfs-gui/src/app/pages/photos.rs:643
#: crates/pdfs-gui/src/app/pages/photos.rs:631
msgid "Timeline"
msgstr "Chronologie"
#: crates/pdfs-gui/src/app/pages/photos.rs:647
#: crates/pdfs-gui/src/app/pages/photos.rs:635
msgid "Albums"
msgstr "Albums"
#: crates/pdfs-gui/src/app/pages/photos.rs:713
#: crates/pdfs-gui/src/app/pages/photos.rs:654
msgid "On this day"
msgstr "Ce jour-là"
#: crates/pdfs-gui/src/app/pages/photos.rs:729
msgid "Importing from Google Photos…"
msgstr "Importation depuis Google Photos…"
#. Translators: strftime format for a month on its own, such as "June 2024". %OB is the month name in its standalone (nominative) form; use %B if your language has no separate form.
#: crates/pdfs-gui/src/app/pages/photos.rs:803
#: crates/pdfs-gui/src/app/pages/photos.rs:821
msgid "%OB %Y"
msgstr "%B %Y"
#. Translators: a row of the date jump; {month} is a month such as "June 2024", {count} how many photos it holds.
#: crates/pdfs-gui/src/app/pages/photos.rs:834
#: crates/pdfs-gui/src/app/pages/photos.rs:852
#, rust-format
msgid "{month} ({count})"
msgstr "{month} ({count})"
#. Translators: a Photos filter tab that shows photos, videos and raw files together.
#: crates/pdfs-gui/src/app/pages/photos.rs:871
#: crates/pdfs-gui/src/app/pages/photos.rs:889
msgctxt "photo filter"
msgid "All"
msgstr "Tout"
#: crates/pdfs-gui/src/app/pages/photos.rs:872
#: crates/pdfs-gui/src/app/pages/photos.rs:890
msgctxt "photo filter"
msgid "Photos"
msgstr "Photos"
#: crates/pdfs-gui/src/app/pages/photos.rs:873
#: crates/pdfs-gui/src/app/pages/photos.rs:891
msgctxt "photo filter"
msgid "Videos"
msgstr "Vidéos"
#. Translators: a Photos filter tab for raw camera files.
#: crates/pdfs-gui/src/app/pages/photos.rs:875
#: crates/pdfs-gui/src/app/pages/photos.rs:893
msgctxt "photo filter"
msgid "Raw"
msgstr "RAW"
#: crates/pdfs-gui/src/app/pages/photos.rs:1160
#: crates/pdfs-gui/src/app/pages/photos.rs:1198
msgid "Select Photo to Upload"
msgstr "Sélectionner une photo à téléverser"
#: crates/pdfs-gui/src/app/pages/photos.rs:1164
#: crates/pdfs-gui/src/app/pages/photos.rs:1202
#: crates/pdfs-gui/src/prompt.rs:60
msgid "Images"
msgstr "Images"
#: crates/pdfs-gui/src/app/pages/photos.rs:1220
#: crates/pdfs-gui/src/app/pages/photos.rs:1258
msgid "Photo uploaded"
msgstr "Photo téléversée"
#: crates/pdfs-gui/src/app/pages/photos.rs:1225
#: crates/pdfs-gui/src/app/pages/photos.rs:1233
#: crates/pdfs-gui/src/app/pages/photos.rs:1263
#: crates/pdfs-gui/src/app/pages/photos.rs:1271
msgid "Couldn't upload photo"
msgstr "Impossible de téléverser la photo"
#. Translators: badge on a photo tile whose shot includes a raw camera file.
#: crates/pdfs-gui/src/app/pages/photos.rs:1458
#: crates/pdfs-gui/src/app/pages/photos.rs:1432
msgid "RAW"
msgstr "RAW"
#: crates/pdfs-gui/src/app/pages/photos.rs:1843
#: crates/pdfs-gui/src/app/pages/photos.rs:1817
msgid "Move this photo to Trash?"
msgstr "Mettre cette photo à la corbeille ?"
#: crates/pdfs-gui/src/app/pages/photos.rs:1845
#: crates/pdfs-gui/src/app/pages/photos.rs:1819
#, rust-format
msgid "Move this photo to Trash? It is stored as {n} file."
msgid_plural "Move this photo to Trash? It is stored as {n} files."
@@ -2708,14 +2712,14 @@ msgstr[1] ""
"Mettre cette photo à la corbeille ? Elle est stockée sous forme de {n} "
"fichiers."
#: crates/pdfs-gui/src/app/pages/photos.rs:1851
#: crates/pdfs-gui/src/app/pages/photos.rs:1825
#, rust-format
msgid "Move {n} photo to Trash?"
msgid_plural "Move {n} photos to Trash?"
msgstr[0] "Mettre {n} photo à la corbeille ?"
msgstr[1] "Mettre {n} photos à la corbeille ?"
#: crates/pdfs-gui/src/app/pages/photos.rs:1858
#: crates/pdfs-gui/src/app/pages/photos.rs:1832
#, rust-format
msgid "Move {n} photo to Trash? They are stored as {files} files."
msgid_plural "Move {n} photos to Trash? They are stored as {files} files."
@@ -2726,15 +2730,15 @@ msgstr[1] ""
"Mettre {n} photos à la corbeille ? Elles sont stockées sous forme de {files} "
"fichiers."
#: crates/pdfs-gui/src/app/pages/photos.rs:1916
#: crates/pdfs-gui/src/app/pages/photos.rs:1890
msgid "The server refused."
msgstr "Le serveur a refusé."
#: crates/pdfs-gui/src/app/pages/photos.rs:1919
#: crates/pdfs-gui/src/app/pages/photos.rs:1893
msgid "Some photos couldn't be moved to Trash"
msgstr "Certaines photos n’ont pas pu être mises à la corbeille"
#: crates/pdfs-gui/src/app/pages/photos.rs:1928
#: crates/pdfs-gui/src/app/pages/photos.rs:1902
#, rust-format
msgid "Moved {n} photo to Trash"
msgid_plural "Moved {n} photos to Trash"
@@ -2742,7 +2746,7 @@ msgstr[0] "{n} photo mise à la corbeille"
msgstr[1] "{n} photos mises à la corbeille"
#. Translators: the Photos page subtitle, such as "12 videos".
#: crates/pdfs-gui/src/app/pages/photos.rs:2463
#: crates/pdfs-gui/src/app/pages/photos.rs:2458
#, rust-format
msgid "{count} video"
msgid_plural "{count} videos"
@@ -2750,7 +2754,7 @@ msgstr[0] "{count} vidéo"
msgstr[1] "{count} vidéos"
#. Translators: the Photos page subtitle, such as "12 raw photos".
#: crates/pdfs-gui/src/app/pages/photos.rs:2465
#: crates/pdfs-gui/src/app/pages/photos.rs:2460
#, rust-format
msgid "{count} raw photo"
msgid_plural "{count} raw photos"
@@ -2758,182 +2762,196 @@ msgstr[0] "{count} photo RAW"
msgstr[1] "{count} photos RAW"
#. Translators: the Photos page subtitle, such as "1,204 photos".
#: crates/pdfs-gui/src/app/pages/photos.rs:2467
#: crates/pdfs-gui/src/app/pages/photos.rs:2462
#, rust-format
msgid "{count} photo"
msgid_plural "{count} photos"
msgstr[0] "{count} photo"
msgstr[1] "{count} photos"
#: crates/pdfs-gui/src/app/pages/photos.rs:2495
#: crates/pdfs-gui/src/app/pages/photos.rs:2521
#: crates/pdfs-gui/src/app/pages/photos.rs:2490
#: crates/pdfs-gui/src/app/pages/photos.rs:2516
msgid "Unknown date"
msgstr "Date inconnue"
#. Translators: strftime format for a day heading in the photo timeline, such as "3 June 2026".
#: crates/pdfs-gui/src/app/pages/photos.rs:2518
#: crates/pdfs-gui/src/app/pages/photos.rs:2513
msgid "%-d %B %Y"
msgstr "%-d %B %Y"
#. Translators: strftime format for a photo's capture date and time, such as "2026-06-03 14:05:09".
#: crates/pdfs-gui/src/app/pages/photos.rs:2539
#: crates/pdfs-gui/src/app/pages/photos.rs:2534
msgid "%Y-%m-%d %H:%M:%S"
msgstr "%d/%m/%Y %H:%M:%S"
#: crates/pdfs-gui/src/app/pages/photos.rs:2543
#: crates/pdfs-gui/src/app/pages/photos.rs:2545
#: crates/pdfs-gui/src/app/pages/photos.rs:2538
#: crates/pdfs-gui/src/app/pages/photos.rs:2540
msgid "Unknown Date"
msgstr "Date inconnue"
#. Translators: strftime format for the day a photo was taken, shown on its tile when the timeline is grouped by month or year, such as "3 Jun".
#: crates/pdfs-gui/src/app/pages/photos.rs:2563
#: crates/pdfs-gui/src/app/pages/photos.rs:2558
msgid "%-d %b"
msgstr "%-d %b"
#: crates/pdfs-gui/src/app/pages/photos.rs:2585
#: crates/pdfs-gui/src/app/pages/photos.rs:2580
msgid "Every photo is in an album"
msgstr "Toutes les photos sont dans un album"
#: crates/pdfs-gui/src/app/pages/photos.rs:2586
#: crates/pdfs-gui/src/app/pages/photos.rs:2581
msgid "Turn off the album filter to see everything."
msgstr "Désactivez le filtre des albums pour tout afficher."
#: crates/pdfs-gui/src/app/pages/photos.rs:2591
#: crates/pdfs-gui/src/app/pages/photos.rs:2586
msgid "No photos yet"
msgstr "Aucune photo pour l’instant"
#: crates/pdfs-gui/src/app/pages/photos.rs:2592
#: crates/pdfs-gui/src/app/pages/photos.rs:2587
msgid "Photos you upload to Proton Drive appear here."
msgstr "Les photos que vous téléversez sur Proton Drive apparaissent ici."
#: crates/pdfs-gui/src/app/pages/photos.rs:2595
#: crates/pdfs-gui/src/app/pages/photos.rs:2590
msgid "No favorites yet"
msgstr "Aucun favori pour l’instant"
#: crates/pdfs-gui/src/app/pages/photos.rs:2596
#: crates/pdfs-gui/src/app/pages/photos.rs:2591
msgid "Star a photo in the viewer or from its menu to find it here."
msgstr ""
"Ajoutez une photo aux favoris dans la visionneuse ou depuis son menu pour la "
"retrouver ici."
#. Translators: {month} is a month and year, such as "June 2024".
#: crates/pdfs-gui/src/app/pages/photos.rs:2601
#: crates/pdfs-gui/src/app/pages/photos.rs:2596
#, rust-format
msgid "No favorite videos in {month}"
msgstr "Aucune vidéo favorite en {month}"
#: crates/pdfs-gui/src/app/pages/photos.rs:2602
#: crates/pdfs-gui/src/app/pages/photos.rs:2597
msgid "No favorite videos"
msgstr "Aucune vidéo favorite"
#. Translators: {month} is a month and year, such as "June 2024".
#: crates/pdfs-gui/src/app/pages/photos.rs:2604
#: crates/pdfs-gui/src/app/pages/photos.rs:2599
#, rust-format
msgid "No favorite raw files in {month}"
msgstr "Aucun fichier RAW favori en {month}"
#: crates/pdfs-gui/src/app/pages/photos.rs:2605
#: crates/pdfs-gui/src/app/pages/photos.rs:2600
msgid "No favorite raw files"
msgstr "Aucun fichier RAW favori"
#. Translators: {month} is a month and year, such as "June 2024".
#: crates/pdfs-gui/src/app/pages/photos.rs:2607
#: crates/pdfs-gui/src/app/pages/photos.rs:2602
#, rust-format
msgid "No favorite photos in {month}"
msgstr "Aucune photo favorite en {month}"
#: crates/pdfs-gui/src/app/pages/photos.rs:2608
#: crates/pdfs-gui/src/app/pages/photos.rs:2603
msgid "No favorite photos"
msgstr "Aucune photo favorite"
#: crates/pdfs-gui/src/app/pages/photos.rs:2610
#: crates/pdfs-gui/src/app/pages/photos.rs:2605
msgid "Turn off the favorites filter to see everything."
msgstr "Désactivez le filtre des favoris pour tout afficher."
#. Translators: {month} is a month and year, such as "June 2024".
#: crates/pdfs-gui/src/app/pages/photos.rs:2615
#: crates/pdfs-gui/src/app/pages/photos.rs:2610
#, rust-format
msgid "No videos in {month}"
msgstr "Aucune vidéo en {month}"
#: crates/pdfs-gui/src/app/pages/photos.rs:2616
#: crates/pdfs-gui/src/app/pages/photos.rs:2611
msgid "No videos"
msgstr "Aucune vidéo"
#. Translators: {month} is a month and year, such as "June 2024".
#: crates/pdfs-gui/src/app/pages/photos.rs:2618
#: crates/pdfs-gui/src/app/pages/photos.rs:2613
#, rust-format
msgid "No raw files in {month}"
msgstr "Aucun fichier RAW en {month}"
#: crates/pdfs-gui/src/app/pages/photos.rs:2619
#: crates/pdfs-gui/src/app/pages/photos.rs:2614
msgid "No raw files"
msgstr "Aucun fichier RAW"
#. Translators: {month} is a month and year, such as "June 2024".
#: crates/pdfs-gui/src/app/pages/photos.rs:2621
#: crates/pdfs-gui/src/app/pages/photos.rs:2616
#, rust-format
msgid "No photos in {month}"
msgstr "Aucune photo en {month}"
#: crates/pdfs-gui/src/app/pages/photos.rs:2622
#: crates/pdfs-gui/src/app/pages/photos.rs:2617
msgid "No photos"
msgstr "Aucune photo"
#: crates/pdfs-gui/src/app/pages/photos.rs:2624
#: crates/pdfs-gui/src/app/pages/photos.rs:2619
msgid "Try another filter or month."
msgstr "Essayez un autre filtre ou un autre mois."
#: crates/pdfs-gui/src/app/pages/photos.rs:2735
#, rust-format
msgid "{n} year ago"
msgid_plural "{n} years ago"
msgstr[0] "il y a {n} an"
msgstr[1] "il y a {n} ans"
#: crates/pdfs-gui/src/app/pages/photos.rs:2760
#, rust-format
msgid "{date}, {n} photo"
msgid_plural "{date}, {n} photos"
msgstr[0] "{date}, {n} photo"
msgstr[1] "{date}, {n} photos"
#. Translators: a check item in a photo's menu, on while the photo is a favorite.
#: crates/pdfs-gui/src/app/pages/photos.rs:2853
#: crates/pdfs-gui/src/app/pages/photos.rs:2989
msgctxt "state"
msgid "Favorite"
msgstr "Favori"
#: crates/pdfs-gui/src/app/pages/photos.rs:2858
#: crates/pdfs-gui/src/app/pages/photos.rs:2994
msgctxt "verb"
msgid "Select"
msgstr "Sélectionner"
#: crates/pdfs-gui/src/app/pages/photos.rs:2870
#: crates/pdfs-gui/src/app/pages/photos.rs:3006
msgid "Remove from Album"
msgstr "Retirer de l’album"
#: crates/pdfs-gui/src/app/pages/photos.rs:2876
#: crates/pdfs-gui/src/app/pages/photos.rs:3012
msgid "Move to Trash…"
msgstr "Mettre à la corbeille…"
#: crates/pdfs-gui/src/app/pages/photos.rs:2900
#: crates/pdfs-gui/src/app/pages/photos.rs:3036
msgid "Added to Favorites"
msgstr "Ajoutée aux favoris"
#: crates/pdfs-gui/src/app/pages/photos.rs:2902
#: crates/pdfs-gui/src/app/pages/photos.rs:3038
msgid "Removed from Favorites"
msgstr "Retirée des favoris"
#: crates/pdfs-gui/src/app/pages/photos.rs:2931
#: crates/pdfs-gui/src/app/pages/photos.rs:3067
msgid "Loading photos…"
msgstr "Chargement des photos…"
#: crates/pdfs-gui/src/app/pages/photos.rs:2932
#: crates/pdfs-gui/src/app/pages/photos.rs:3068
msgid "Reading your Proton Drive timeline."
msgstr "Lecture de votre chronologie Proton Drive."
#: crates/pdfs-gui/src/app/pages/photos.rs:3021
#: crates/pdfs-gui/src/app/pages/photos.rs:3161
msgid "Empty album"
msgstr "Album vide"
#: crates/pdfs-gui/src/app/pages/photos.rs:3022
#: crates/pdfs-gui/src/app/pages/photos.rs:3162
msgid "This album has no photos in it."
msgstr "Cet album ne contient aucune photo."
#: crates/pdfs-gui/src/app/pages/photos.rs:3064
#: crates/pdfs-gui/src/app/pages/photos.rs:3082
#: crates/pdfs-gui/src/app/pages/photos.rs:3204
#: crates/pdfs-gui/src/app/pages/photos.rs:3222
msgid "Couldn't load more photos"
msgstr "Impossible de charger plus de photos"
#: crates/pdfs-gui/src/app/pages/photos.rs:3069
#: crates/pdfs-gui/src/app/pages/photos.rs:3076
#: crates/pdfs-gui/src/app/pages/photos.rs:3209
#: crates/pdfs-gui/src/app/pages/photos.rs:3216
msgid "Couldn't load photos"
msgstr "Impossible de charger les photos"