v3: added site-wide categories, added admin category management, various visual fixes
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 2m52s

This commit is contained in:
khannurien
2026-06-28 16:23:44 +00:00
parent c8c7b05c25
commit fae25f3e6c
44 changed files with 2144 additions and 399 deletions

View File

@@ -18,8 +18,8 @@ msgid "[deleted]"
msgstr "[supprimé]"
#. placeholder {0}: dump.commentCount
#: src/components/DumpCard.tsx:105
#: src/components/JournalCard.tsx:110
#: src/components/DumpCard.tsx:110
#: src/components/JournalCard.tsx:112
msgid "{0, plural, one {# comment} other {# comments}}"
msgstr "{0, plural, one {# commentaire} other {# commentaires}}"
@@ -43,13 +43,13 @@ msgid "{visibleCount, plural, one {# comment} other {# comments}}"
msgstr "{visibleCount, plural, one {# commentaire} other {# commentaires}}"
#: src/pages/PlaylistDetail.tsx:570
#: src/pages/UserPublicProfile.tsx:741
#: src/pages/UserPublicProfile.tsx:749
msgid "← Back"
msgstr "← Retour"
#: src/pages/Dump.tsx:259
#: src/pages/Dump.tsx:472
#: src/pages/DumpEdit.tsx:178
#: src/pages/Dump.tsx:261
#: src/pages/Dump.tsx:490
#: src/pages/DumpEdit.tsx:179
msgid "← Back to all dumps"
msgstr "← Retour à toutes les recos"
@@ -59,7 +59,7 @@ msgstr "← Retour à toutes les recos"
msgid "← Back to profile"
msgstr "← Retour au profil"
#: src/pages/UserPublicProfile.tsx:114
#: src/pages/UserPublicProfile.tsx:115
msgid "+ Invite someone"
msgstr "+ Inviter quelqu'un"
@@ -67,7 +67,7 @@ msgstr "+ Inviter quelqu'un"
msgid "+ New playlist"
msgstr "+ Nouvelle collection"
#: src/pages/Dump.tsx:327
#: src/pages/Dump.tsx:332
msgid "+ Playlist"
msgstr "+ Collection"
@@ -125,7 +125,7 @@ msgstr "un commentaire"
msgid "a post"
msgstr "une publication"
#: src/pages/UserPublicProfile.tsx:1120
#: src/pages/UserPublicProfile.tsx:1131
msgid "Account"
msgstr "Compte"
@@ -133,24 +133,29 @@ msgstr "Compte"
msgid "Add a comment…"
msgstr "Ajouter un commentaire…"
#: src/pages/UserPublicProfile.tsx:816
#: src/pages/UserPublicProfile.tsx:827
msgid "Add email…"
msgstr "Ajouter un e-mail…"
#: src/components/AddToPlaylistModal.tsx:64
#: src/components/DumpCreateModal.tsx:292
#: src/components/DumpCreateModal.tsx:305
msgid "Add to playlist"
msgstr "Ajouter à la collection"
#: src/pages/UserPublicProfile.tsx:1529
#: src/pages/UserPublicProfile.tsx:1549
msgid "Admin"
msgstr "Administrateur"
#: src/components/CategorySwitcher.tsx:79
#: src/components/CategorySwitcher.tsx:82
msgid "All"
msgstr "Tout"
#: src/pages/UserRegister.tsx:156
msgid "Already have an account? <0>Log in</0>"
msgstr "Vous avez déjà un compte ? <0>Se connecter</0>"
#: src/pages/UserPublicProfile.tsx:1139
#: src/pages/UserPublicProfile.tsx:1150
msgid "Appearance"
msgstr "Apparence"
@@ -161,7 +166,7 @@ msgstr "Apparence"
msgid "At least {0} characters"
msgstr "Au moins {0} caractères"
#: src/pages/UserPublicProfile.tsx:1187
#: src/pages/UserPublicProfile.tsx:1198
msgid "Auto"
msgstr "Auto"
@@ -178,11 +183,11 @@ msgstr "Impossible de se connecter au serveur de mises à jour en direct. Les vo
#: src/components/CommentThread.tsx:124
#: src/components/ConfirmModal.tsx:32
#: src/components/form/FormActions.tsx:32
#: src/pages/Dump.tsx:368
#: src/pages/DumpEdit.tsx:443
#: src/pages/Dump.tsx:373
#: src/pages/DumpEdit.tsx:463
#: src/pages/PlaylistDetail.tsx:920
#: src/pages/UserPublicProfile.tsx:1646
#: src/pages/UserPublicProfile.tsx:1716
#: src/pages/UserPublicProfile.tsx:1674
#: src/pages/UserPublicProfile.tsx:1744
msgid "Cancel"
msgstr "Annuler"
@@ -194,7 +199,16 @@ msgstr "Annuler la suppression"
msgid "Cancel search"
msgstr "Annuler la recherche"
#: src/pages/UserPublicProfile.tsx:768
#: src/components/CategorySelect.tsx:22
#: src/pages/UserPublicProfile.tsx:1281
msgid "Categories"
msgstr "Catégories"
#: src/components/CategorySwitcher.tsx:102
msgid "Category"
msgstr "Catégorie"
#: src/pages/UserPublicProfile.tsx:776
msgid "Change avatar"
msgstr "Changer l'avatar"
@@ -203,7 +217,7 @@ msgstr "Changer l'avatar"
msgid "Change password"
msgstr "Changer le mot de passe"
#: src/pages/UserPublicProfile.tsx:1132
#: src/pages/UserPublicProfile.tsx:1143
msgid "Change password…"
msgstr "Changer le mot de passe…"
@@ -216,7 +230,7 @@ msgstr "Vérification de l'invitation…"
msgid "Close"
msgstr "Fermer"
#: src/pages/UserPublicProfile.tsx:1179
#: src/pages/UserPublicProfile.tsx:1190
msgid "Color scheme"
msgstr "Thème de couleur"
@@ -225,11 +239,11 @@ msgstr "Thème de couleur"
msgid "Confirm new password"
msgstr "Confirmer le nouveau mot de passe"
#: src/pages/UserPublicProfile.tsx:105
#: src/pages/UserPublicProfile.tsx:106
msgid "Copied!"
msgstr "Copié !"
#: src/pages/UserPublicProfile.tsx:105
#: src/pages/UserPublicProfile.tsx:106
msgid "Copy"
msgstr "Copier"
@@ -241,10 +255,11 @@ msgstr "Impossible de changer le mot de passe"
msgid "Could not load."
msgstr "Impossible de charger."
#: src/pages/DumpEdit.tsx:344
#: src/pages/DumpEdit.tsx:359
msgid "Could not save"
msgstr "Sauvegarde impossible"
#: src/components/CategoryManager.tsx:106
#: src/components/PlaylistCreateForm.tsx:87
msgid "Create"
msgstr "Créer"
@@ -259,6 +274,7 @@ msgstr "Créer et ajouter"
msgid "Created ({0}{1})"
msgstr "Créées ({0}{1})"
#: src/components/CategoryManager.tsx:103
#: src/components/PlaylistCreateForm.tsx:86
msgid "Creating…"
msgstr "Création…"
@@ -267,14 +283,16 @@ msgstr "Création…"
msgid "Current password"
msgstr "Mot de passe actuel"
#: src/pages/UserPublicProfile.tsx:1201
#: src/pages/UserPublicProfile.tsx:1212
msgid "Dark"
msgstr "Sombre"
#: src/pages/UserPublicProfile.tsx:1214
#: src/pages/UserPublicProfile.tsx:1225
msgid "Default tab"
msgstr "Onglet par défaut"
#: src/components/CategoryManager.tsx:191
#: src/components/CategoryManager.tsx:192
#: src/components/CommentThread.tsx:376
#: src/components/CommentThread.tsx:382
#: src/components/ConfirmModal.tsx:16
@@ -282,8 +300,17 @@ msgstr "Onglet par défaut"
msgid "Delete"
msgstr "Supprimer"
#: src/pages/DumpEdit.tsx:252
#: src/pages/DumpEdit.tsx:439
#: src/components/CategoryManager.tsx:202
msgid "Delete category"
msgstr "Supprimer la catégorie"
#. placeholder {0}: category.name
#: src/components/CategoryManager.tsx:201
msgid "Delete category \"{0}\"? This cannot be undone."
msgstr "Supprimer la catégorie \"{0}\" ? Cette action est irréversible."
#: src/pages/DumpEdit.tsx:253
#: src/pages/DumpEdit.tsx:459
msgid "Delete dump"
msgstr "Supprimer la reco"
@@ -297,7 +324,7 @@ msgstr "Supprimer la collection"
msgid "Delete this comment?"
msgstr "Supprimer ce commentaire ?"
#: src/pages/DumpEdit.tsx:251
#: src/pages/DumpEdit.tsx:252
msgid "Delete this dump? This cannot be undone."
msgstr "Supprimer cette reco ? Cette action est irréversible."
@@ -311,7 +338,7 @@ msgstr "Supprimer cette collection ? Cette action est irréversible."
msgid "Description (optional)"
msgstr "Description (facultatif)"
#: src/components/DumpCreateModal.tsx:479
#: src/components/DumpCreateModal.tsx:498
msgid "Done"
msgstr "Terminé"
@@ -319,7 +346,7 @@ msgstr "Terminé"
msgid "Drop a file here"
msgstr "Déposez un fichier ici"
#: src/pages/DumpEdit.tsx:414
#: src/pages/DumpEdit.tsx:429
msgid "Drop a replacement here"
msgstr "Déposez un fichier de remplacement ici"
@@ -327,23 +354,23 @@ msgstr "Déposez un fichier de remplacement ici"
msgid "Dump"
msgstr "Reco"
#: src/components/DumpCreateModal.tsx:449
#: src/components/DumpCreateModal.tsx:468
msgid "Dump it"
msgstr "Recommander"
#: src/components/DumpCreateModal.tsx:460
#: src/components/DumpCreateModal.tsx:479
msgid "Dumped!"
msgstr "Recommandé !"
#: src/pages/Search.tsx:174
#: src/pages/UserDumps.tsx:80
#: src/pages/UserPublicProfile.tsx:889
#: src/pages/UserPublicProfile.tsx:900
msgid "Dumps"
msgstr "Recos"
#. placeholder {0}: dumps.items.length
#. placeholder {1}: dumps.hasMore ? "+" : ""
#: src/pages/UserPublicProfile.tsx:909
#: src/pages/UserPublicProfile.tsx:920
msgid "Dumps ({0}{1})"
msgstr "Recos ({0}{1})"
@@ -352,12 +379,12 @@ msgid "Earlier"
msgstr "Plus tôt"
#: src/components/CommentThread.tsx:367
#: src/pages/Dump.tsx:468
#: src/pages/Dump.tsx:486
#: src/pages/PlaylistDetail.tsx:625
msgid "Edit"
msgstr "Modifier"
#: src/components/DumpCreateModal.tsx:417
#: src/components/DumpCreateModal.tsx:430
msgid "Edit title"
msgstr "Modifier le titre"
@@ -365,7 +392,7 @@ msgstr "Modifier le titre"
#. placeholder {0}: relativeTime(dump.updatedAt)
#. placeholder {0}: relativeTime(playlist.updatedAt)
#: src/components/CommentThread.tsx:317
#: src/pages/Dump.tsx:421
#: src/pages/Dump.tsx:426
#: src/pages/PlaylistDetail.tsx:664
msgid "edited {0}"
msgstr "modifié {0}"
@@ -374,17 +401,17 @@ msgstr "modifié {0}"
#. placeholder {0}: dump.updatedAt.toLocaleString()
#. placeholder {0}: playlist.updatedAt.toLocaleString()
#: src/components/CommentThread.tsx:315
#: src/pages/Dump.tsx:419
#: src/pages/Dump.tsx:424
#: src/pages/PlaylistDetail.tsx:661
msgid "Edited {0}"
msgstr "Modifié le {0}"
#: src/pages/DumpEdit.tsx:203
#: src/pages/DumpEdit.tsx:204
msgid "Editing"
msgstr "Modification"
#. placeholder {0}: state.dump.title
#: src/pages/DumpEdit.tsx:48
#: src/pages/DumpEdit.tsx:49
msgid "Editing {0}"
msgstr "Édition de {0}"
@@ -396,28 +423,36 @@ msgstr "Adresse e-mail"
msgid "Enter a query to search."
msgstr "Saisissez une recherche."
#: src/components/CategoryManager.tsx:108
msgid "Failed to create category"
msgstr "Échec de la création de la catégorie"
#: src/components/PlaylistCreateForm.tsx:84
msgid "Failed to create playlist"
msgstr "Impossible de créer la collection"
#: src/pages/UserPublicProfile.tsx:86
#: src/pages/UserPublicProfile.tsx:89
#: src/pages/UserPublicProfile.tsx:117
#: src/components/CategoryManager.tsx:153
msgid "Failed to delete"
msgstr "Suppression échouée"
#: src/pages/UserPublicProfile.tsx:87
#: src/pages/UserPublicProfile.tsx:90
#: src/pages/UserPublicProfile.tsx:118
msgid "Failed to generate invite"
msgstr "Impossible de générer une invitation"
#: src/pages/index/FollowedFeed.tsx:82
#: src/pages/index/FollowedFeed.tsx:83
#: src/pages/index/HotFeed.tsx:36
#: src/pages/index/JournalFeed.tsx:33
#: src/pages/index/NewFeed.tsx:36
#: src/pages/Notifications.tsx:369
#: src/pages/UserPublicProfile.tsx:1011
#: src/pages/UserPublicProfile.tsx:1053
#: src/pages/UserPublicProfile.tsx:1098
#: src/pages/UserPublicProfile.tsx:1022
#: src/pages/UserPublicProfile.tsx:1064
#: src/pages/UserPublicProfile.tsx:1109
msgid "Failed to load"
msgstr "Chargement échoué"
#: src/components/DumpCreateModal.tsx:328
#: src/components/DumpCreateModal.tsx:341
msgid "Failed to post"
msgstr "Publication échouée"
@@ -430,41 +465,45 @@ msgid "Failed to post reply"
msgstr "Impossible de publier la réponse"
#: src/pages/PlaylistDetail.tsx:908
#: src/pages/UserPublicProfile.tsx:1649
#: src/pages/UserPublicProfile.tsx:1718
#: src/pages/UserPublicProfile.tsx:1677
#: src/pages/UserPublicProfile.tsx:1746
msgid "Failed to save"
msgstr "Enregistrement échoué"
#: src/components/CategoryManager.tsx:197
msgid "Failed to save category"
msgstr "Échec de lenregistrement de la catégorie"
#: src/components/CommentThread.tsx:330
msgid "Failed to save edit"
msgstr "Impossible d'enregistrer la modification"
#: src/pages/UserPublicProfile.tsx:825
#: src/pages/UserPublicProfile.tsx:836
msgid "Failed to update avatar"
msgstr "Impossible de mettre à jour l'avatar"
#: src/pages/UserPublicProfile.tsx:1587
#: src/pages/UserPublicProfile.tsx:1615
msgid "Failed to update role"
msgstr "Erreur lors de la mise à jour du rôle"
#: src/pages/UserPublicProfile.tsx:1209
#: src/pages/UserPublicProfile.tsx:1220
msgid "Feeds"
msgstr "Flux"
#: src/components/DumpCreateModal.tsx:360
#: src/components/DumpCreateModal.tsx:373
msgid "Fetching preview…"
msgstr "Récupération de l'aperçu…"
#: src/components/DumpCreateModal.tsx:446
#: src/components/DumpCreateModal.tsx:465
msgid "Fetching…"
msgstr "Récupération…"
#: src/components/DumpCreateModal.tsx:322
#: src/components/DumpCreateModal.tsx:335
#: src/components/FileDropZone.tsx:31
msgid "File"
msgstr "Fichier"
#: src/components/DumpCreateModal.tsx:231
#: src/components/DumpCreateModal.tsx:243
msgid "File too large (max 50 MB)."
msgstr "Fichier trop volumineux (max 50 Mo)."
@@ -481,17 +520,17 @@ msgstr "Suivre {targetUsername}"
msgid "Follow playlist"
msgstr "Suivre la collection"
#: src/pages/index/FollowedFeed.tsx:365
#: src/pages/index/FollowedFeed.tsx:373
msgid "Follow some public playlists to see their dumps here."
msgstr "Suivez des collections publiques pour voir leurs recos ici."
#: src/pages/index/FollowedFeed.tsx:351
#: src/pages/index/FollowedFeed.tsx:359
msgid "Follow some users to see their dumps here."
msgstr "Suivez des utilisateurs pour voir leurs recos ici."
#: src/components/FeedTabBar.tsx:21
#: src/pages/UserPublicProfile.tsx:891
#: src/pages/UserPublicProfile.tsx:1243
#: src/components/FeedTabBar.tsx:34
#: src/pages/UserPublicProfile.tsx:902
#: src/pages/UserPublicProfile.tsx:1254
msgid "Followed"
msgstr "Suivi"
@@ -501,13 +540,13 @@ msgstr "Suivi"
msgid "Followed ({0}{1})"
msgstr "Suivies ({0}{1})"
#: src/pages/UserPublicProfile.tsx:1042
#: src/pages/UserPublicProfile.tsx:1053
msgid "Followed playlists"
msgstr "Collections suivies"
#: src/components/FollowButton.tsx:37
#: src/components/FollowButton.tsx:64
#: src/pages/UserPublicProfile.tsx:1000
#: src/pages/UserPublicProfile.tsx:1011
msgid "Following"
msgstr "Abonné"
@@ -515,11 +554,11 @@ msgstr "Abonné"
msgid "Forgot password?"
msgstr "Mot de passe oublié ?"
#: src/pages/index/FollowedFeed.tsx:334
#: src/pages/index/FollowedFeed.tsx:342
msgid "From people"
msgstr "De personnes"
#: src/pages/index/FollowedFeed.tsx:335
#: src/pages/index/FollowedFeed.tsx:343
msgid "From playlists"
msgstr "De collections"
@@ -531,8 +570,8 @@ msgstr "Accueil"
msgid "Go to login"
msgstr "Aller à la connexion"
#: src/components/FeedTabBar.tsx:17
#: src/pages/UserPublicProfile.tsx:1222
#: src/components/FeedTabBar.tsx:30
#: src/pages/UserPublicProfile.tsx:1233
msgid "Hot"
msgstr "Tendances"
@@ -548,21 +587,21 @@ msgstr "Invitation invalide"
msgid "Invalid link"
msgstr "Lien invalide"
#: src/pages/UserPublicProfile.tsx:787
#: src/pages/UserPublicProfile.tsx:798
msgid "invited by"
msgstr "invité par"
#: src/pages/UserPublicProfile.tsx:892
#: src/pages/UserPublicProfile.tsx:1087
#: src/pages/UserPublicProfile.tsx:903
#: src/pages/UserPublicProfile.tsx:1098
msgid "Invitees"
msgstr "Invités"
#: src/components/FeedTabBar.tsx:19
#: src/pages/UserPublicProfile.tsx:1236
#: src/components/FeedTabBar.tsx:32
#: src/pages/UserPublicProfile.tsx:1247
msgid "Journal"
msgstr "Journal"
#: src/pages/UserPublicProfile.tsx:1194
#: src/pages/UserPublicProfile.tsx:1205
msgid "Light"
msgstr "Clair"
@@ -583,12 +622,12 @@ msgstr "Mises à jour en direct indisponibles."
msgid "Load more"
msgstr "Charger plus"
#: src/pages/Dump.tsx:235
#: src/pages/DumpEdit.tsx:154
#: src/pages/Dump.tsx:237
#: src/pages/DumpEdit.tsx:155
msgid "Loading dump…"
msgstr "Chargement de la reco…"
#: src/pages/index/FollowedFeed.tsx:110
#: src/pages/index/FollowedFeed.tsx:111
#: src/pages/index/HotFeed.tsx:64
#: src/pages/index/JournalFeed.tsx:62
#: src/pages/index/NewFeed.tsx:64
@@ -604,15 +643,16 @@ msgstr "Chargement…"
msgid "Loading playlist…"
msgstr "Chargement de la collection…"
#: src/pages/UserPublicProfile.tsx:724
#: src/pages/UserPublicProfile.tsx:732
msgid "Loading profile…"
msgstr "Chargement du profil…"
#: src/components/CategoryManager.tsx:41
#: src/components/PlaylistMembershipPanel.tsx:28
#: src/components/TextEditor.tsx:289
#: src/components/UserListPopover.tsx:192
#: src/components/UserListPopover.tsx:230
#: src/pages/index/FollowedFeed.tsx:77
#: src/pages/index/FollowedFeed.tsx:78
#: src/pages/index/HotFeed.tsx:32
#: src/pages/index/JournalFeed.tsx:29
#: src/pages/index/NewFeed.tsx:32
@@ -620,9 +660,9 @@ msgstr "Chargement du profil…"
#: src/pages/Notifications.tsx:441
#: src/pages/UserDumps.tsx:54
#: src/pages/UserPlaylists.tsx:345
#: src/pages/UserPublicProfile.tsx:1005
#: src/pages/UserPublicProfile.tsx:1047
#: src/pages/UserPublicProfile.tsx:1092
#: src/pages/UserPublicProfile.tsx:1016
#: src/pages/UserPublicProfile.tsx:1058
#: src/pages/UserPublicProfile.tsx:1103
#: src/pages/UserUpvoted.tsx:125
msgid "Loading…"
msgstr "Chargement…"
@@ -642,8 +682,8 @@ msgstr "Se connecter pour aimer"
msgid "Log in to vote"
msgstr "Se connecter pour voter"
#: src/pages/UserPublicProfile.tsx:745
#: src/pages/UserPublicProfile.tsx:839
#: src/pages/UserPublicProfile.tsx:753
#: src/pages/UserPublicProfile.tsx:850
msgid "Log out"
msgstr "Se déconnecter"
@@ -655,7 +695,7 @@ msgstr "Connexion…"
msgid "Login failed"
msgstr "Connexion échouée"
#: src/pages/UserPublicProfile.tsx:897
#: src/pages/UserPublicProfile.tsx:908
msgid "Manage"
msgstr "Administration"
@@ -663,24 +703,33 @@ msgstr "Administration"
msgid "Max 50 MB"
msgstr "Max 50 Mo"
#: src/pages/UserPublicProfile.tsx:1528
#: src/pages/UserPublicProfile.tsx:1548
msgid "Moderator"
msgstr "Modérateur"
#: src/components/CategoryManager.tsx:91
#: src/components/CategoryManager.tsx:167
msgid "Name"
msgstr "Nom"
#: src/pages/Notifications.tsx:358
msgid "new"
msgstr "nouveau"
#: src/components/FeedTabBar.tsx:18
#: src/pages/UserPublicProfile.tsx:1229
#: src/components/FeedTabBar.tsx:31
#: src/pages/UserPublicProfile.tsx:1240
msgid "New"
msgstr "Nouveau"
#: src/components/DumpCreateModal.tsx:292
#: src/components/CategoryManager.tsx:90
msgid "New category name"
msgstr "Nom de la nouvelle catégorie"
#: src/components/DumpCreateModal.tsx:305
#: src/components/DumpFab.tsx:65
#: src/components/DumpFab.tsx:66
#: src/pages/UserDumps.tsx:88
#: src/pages/UserPublicProfile.tsx:1307
#: src/pages/UserPublicProfile.tsx:1327
msgid "New dump"
msgstr "Nouvelle reco"
@@ -694,6 +743,10 @@ msgstr "Nouveau mot de passe"
msgid "New playlist"
msgstr "Nouvelle collection"
#: src/components/CategoryManager.tsx:46
msgid "No categories yet."
msgstr "Aucune catégorie pour le moment."
#: src/pages/PlaylistDetail.tsx:680
msgid "No dumps in this playlist yet."
msgstr "Aucune reco dans cette collection pour l'instant."
@@ -713,11 +766,11 @@ msgid "No emoji found."
msgstr "Aucun emoji trouvé."
#: src/pages/UserPlaylists.tsx:442
#: src/pages/UserPublicProfile.tsx:1060
#: src/pages/UserPublicProfile.tsx:1071
msgid "No followed playlists yet."
msgstr "Pas encore de collections suivies."
#: src/pages/UserPublicProfile.tsx:1105
#: src/pages/UserPublicProfile.tsx:1116
msgid "No invitees yet."
msgstr "Aucun invité pour le moment."
@@ -731,7 +784,7 @@ msgstr "Aucune collection ne correspond à « {q} »."
#: src/components/PlaylistMembershipPanel.tsx:34
#: src/pages/UserPlaylists.tsx:400
#: src/pages/UserPublicProfile.tsx:971
#: src/pages/UserPublicProfile.tsx:982
msgid "No playlists yet."
msgstr "Pas encore de collections."
@@ -739,14 +792,14 @@ msgstr "Pas encore de collections."
msgid "No users match \"{q}\"."
msgstr "Aucun utilisateur ne correspond à « {q} »."
#: src/pages/UserPublicProfile.tsx:1018
#: src/pages/UserPublicProfile.tsx:1029
msgid "Not following anyone yet."
msgstr "Aucun abonnement pour le moment."
#: src/pages/Notifications.tsx:376
#: src/pages/UserDumps.tsx:99
#: src/pages/UserPublicProfile.tsx:1318
#: src/pages/UserPublicProfile.tsx:1440
#: src/pages/UserPublicProfile.tsx:1338
#: src/pages/UserPublicProfile.tsx:1460
#: src/pages/UserUpvoted.tsx:159
msgid "Nothing here yet."
msgstr "Rien ici pour l'instant."
@@ -774,7 +827,7 @@ msgid "Page not found"
msgstr "Page introuvable"
#: src/pages/UserLogin.tsx:74
#: src/pages/UserPublicProfile.tsx:1125
#: src/pages/UserPublicProfile.tsx:1136
msgid "Password"
msgstr "Mot de passe"
@@ -804,17 +857,17 @@ msgstr "Titre de la collection"
#: src/components/UserMenu.tsx:62
#: src/pages/Search.tsx:177
#: src/pages/UserPlaylists.tsx:371
#: src/pages/UserPublicProfile.tsx:890
#: src/pages/UserPublicProfile.tsx:901
msgid "Playlists"
msgstr "Collections"
#. placeholder {0}: playlists.items.length
#. placeholder {1}: playlists.hasMore ? "+" : ""
#: src/pages/UserPublicProfile.tsx:940
#: src/pages/UserPublicProfile.tsx:951
msgid "Playlists ({0}{1})"
msgstr "Collections ({0}{1})"
#: src/components/DumpCreateModal.tsx:228
#: src/components/DumpCreateModal.tsx:240
msgid "Please select a file."
msgstr "Veuillez sélectionner un fichier."
@@ -831,11 +884,11 @@ msgstr "Publier la réponse"
msgid "Posting…"
msgstr "Publication…"
#: src/components/DumpCard.tsx:114
#: src/components/JournalCard.tsx:119
#: src/components/DumpCard.tsx:119
#: src/components/JournalCard.tsx:121
#: src/components/PlaylistCard.tsx:73
#: src/components/PlaylistMembershipPanel.tsx:55
#: src/pages/Dump.tsx:427
#: src/pages/Dump.tsx:432
#: src/pages/PlaylistDetail.tsx:644
msgid "private"
msgstr "privé"
@@ -855,11 +908,11 @@ msgstr "public"
msgid "Public"
msgstr "Public"
#: src/pages/DumpEdit.tsx:232
#: src/pages/DumpEdit.tsx:233
msgid "Refresh metadata"
msgstr "Actualiser les métadonnées"
#: src/pages/DumpEdit.tsx:231
#: src/pages/DumpEdit.tsx:232
msgid "Refreshing…"
msgstr "Actualisation…"
@@ -877,7 +930,7 @@ msgstr "Inscription…"
msgid "Registration failed"
msgstr "Inscription échouée"
#: src/pages/Dump.tsx:480
#: src/pages/Dump.tsx:498
msgid "Related"
msgstr "Connexe"
@@ -897,7 +950,7 @@ msgstr "Retirer le j'aime"
msgid "Remove vote"
msgstr "Retirer le vote"
#: src/pages/DumpEdit.tsx:413
#: src/pages/DumpEdit.tsx:428
msgid "Replace file"
msgstr "Remplacer le fichier"
@@ -917,36 +970,38 @@ msgstr "Échec de la réinitialisation"
msgid "Reset password"
msgstr "Réinitialiser le mot de passe"
#: src/pages/DumpEdit.tsx:364
#: src/pages/DumpEdit.tsx:382
#: src/pages/DumpEdit.tsx:379
#: src/pages/DumpEdit.tsx:397
msgid "Reset to default"
msgstr "Réinitialiser par défaut"
#: src/pages/Dump.tsx:252
#: src/pages/DumpEdit.tsx:171
#: src/pages/Dump.tsx:254
#: src/pages/DumpEdit.tsx:172
msgid "Retry"
msgstr "Réessayer"
#: src/pages/UserPublicProfile.tsx:1571
#: src/pages/UserPublicProfile.tsx:1599
msgid "Role"
msgstr "Rôle"
#: src/components/CategoryManager.tsx:184
#: src/components/CommentThread.tsx:328
#: src/pages/Dump.tsx:360
#: src/pages/DumpEdit.tsx:446
#: src/pages/Dump.tsx:365
#: src/pages/DumpEdit.tsx:466
#: src/pages/PlaylistDetail.tsx:927
#: src/pages/UserPublicProfile.tsx:1638
#: src/pages/UserPublicProfile.tsx:1708
#: src/pages/UserPublicProfile.tsx:1666
#: src/pages/UserPublicProfile.tsx:1736
msgid "Save"
msgstr "Enregistrer"
#: src/components/CategoryManager.tsx:181
#: src/components/ChangePasswordModal.tsx:100
#: src/components/CommentThread.tsx:329
#: src/pages/Dump.tsx:359
#: src/pages/Dump.tsx:364
#: src/pages/PlaylistDetail.tsx:923
#: src/pages/ResetPassword.tsx:126
#: src/pages/UserPublicProfile.tsx:1635
#: src/pages/UserPublicProfile.tsx:1705
#: src/pages/UserPublicProfile.tsx:1663
#: src/pages/UserPublicProfile.tsx:1733
msgid "Saving…"
msgstr "Enregistrement…"
@@ -985,7 +1040,7 @@ msgstr "Serveur inaccessible"
msgid "Set new password"
msgstr "Définir un nouveau mot de passe"
#: src/pages/UserPublicProfile.tsx:894
#: src/pages/UserPublicProfile.tsx:905
msgid "Settings"
msgstr "Paramètres"
@@ -994,7 +1049,7 @@ msgstr "Paramètres"
msgid "Something went wrong"
msgstr "Une erreur est survenue"
#: src/pages/UserPublicProfile.tsx:1144
#: src/pages/UserPublicProfile.tsx:1155
msgid "Style"
msgstr "Style"
@@ -1018,17 +1073,17 @@ msgstr "Rien à voir, circulez."
msgid "This reset link is missing or malformed."
msgstr "Ce lien de réinitialisation est absent ou malformé."
#: src/pages/DumpEdit.tsx:348
#: src/pages/DumpEdit.tsx:363
msgid "Thumbnail"
msgstr "Miniature"
#: src/components/DumpCreateModal.tsx:386
#: src/components/DumpCreateModal.tsx:399
#: src/components/PlaylistCreateForm.tsx:70
#: src/pages/DumpEdit.tsx:372
#: src/pages/DumpEdit.tsx:387
msgid "Title"
msgstr "Titre"
#: src/components/DumpCreateModal.tsx:229
#: src/components/DumpCreateModal.tsx:241
msgid "Title is required."
msgstr "Un titre est requis."
@@ -1048,11 +1103,11 @@ msgstr "Ne plus suivre {targetUsername}"
msgid "Unfollow playlist"
msgstr "Ne plus suivre la collection"
#: src/pages/UserPublicProfile.tsx:689
#: src/pages/UserPublicProfile.tsx:697
msgid "Upload failed"
msgstr "Envoi échoué"
#: src/components/DumpCreateModal.tsx:447
#: src/components/DumpCreateModal.tsx:466
msgid "Uploading…"
msgstr "Envoi…"
@@ -1066,24 +1121,33 @@ msgstr "Voté"
#. placeholder {0}: votes.items.length
#. placeholder {1}: votes.hasMore ? "+" : ""
#: src/pages/UserPublicProfile.tsx:920
#: src/pages/UserPublicProfile.tsx:931
msgid "Upvoted ({0}{1})"
msgstr "Votés ({0}{1})"
#: src/components/DumpCreateModal.tsx:335
#: src/pages/DumpEdit.tsx:395
#: src/components/DumpCreateModal.tsx:348
#: src/pages/DumpEdit.tsx:410
msgid "URL"
msgstr "URL"
#: src/components/DumpCreateModal.tsx:216
#: src/components/DumpCreateModal.tsx:227
msgid "URL is required."
msgstr "L'URL est obligatoire."
#: src/pages/UserPublicProfile.tsx:1527
#: src/components/CategoryManager.tsx:98
#: src/components/CategoryManager.tsx:174
msgid "URL slug"
msgstr "Identifiant dURL"
#: src/components/CategoryManager.tsx:97
msgid "url-slug"
msgstr "identifiant-url"
#: src/pages/UserPublicProfile.tsx:1547
msgid "User"
msgstr "Utilisateur"
#: src/pages/UserPublicProfile.tsx:1255
#: src/pages/UserPublicProfile.tsx:1266
msgid "User management"
msgstr "Gestion utilisateur"
@@ -1100,30 +1164,30 @@ msgstr "Nom d'utilisateur"
msgid "Users"
msgstr "Utilisateurs"
#: src/pages/UserPublicProfile.tsx:990
#: src/pages/UserPublicProfile.tsx:1033
#: src/pages/UserPublicProfile.tsx:1075
#: src/pages/UserPublicProfile.tsx:1339
#: src/pages/UserPublicProfile.tsx:1470
#: src/pages/UserPublicProfile.tsx:1001
#: src/pages/UserPublicProfile.tsx:1044
#: src/pages/UserPublicProfile.tsx:1086
#: src/pages/UserPublicProfile.tsx:1359
#: src/pages/UserPublicProfile.tsx:1490
msgid "View all →"
msgstr "Tout voir →"
#: src/components/DumpCreateModal.tsx:462
#: src/components/DumpCreateModal.tsx:481
msgid "View dump →"
msgstr "Voir la reco →"
#: src/components/DumpCreateModal.tsx:431
#: src/pages/DumpEdit.tsx:425
#: src/components/DumpCreateModal.tsx:444
#: src/pages/DumpEdit.tsx:440
msgid "What makes it worth it?"
msgstr "Pourquoi on en voudrait ?"
#: src/pages/UserPublicProfile.tsx:874
#: src/pages/UserPublicProfile.tsx:1697
#: src/pages/UserPublicProfile.tsx:885
#: src/pages/UserPublicProfile.tsx:1725
msgid "Who am I?"
msgstr "Qui suis-je ?"
#: src/components/DumpCreateModal.tsx:430
#: src/pages/DumpEdit.tsx:424
#: src/components/DumpCreateModal.tsx:443
#: src/pages/DumpEdit.tsx:439
msgid "Why?"
msgstr "Pourquoi ?"
@@ -1139,7 +1203,7 @@ msgstr "Hier"
msgid "You'll be notified when someone follows your playlists, upvotes your dumps, or posts new content."
msgstr "Vous serez notifié lorsque quelqu'un suit vos collections, vote pour vos recos ou publie du nouveau contenu."
#: src/pages/index/FollowedFeed.tsx:115
#: src/pages/index/FollowedFeed.tsx:116
#: src/pages/index/HotFeed.tsx:69
#: src/pages/index/JournalFeed.tsx:67
#: src/pages/index/NewFeed.tsx:69