msgid "" msgstr "" "POT-Creation-Date: 2026-04-01 16:55+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: @lingui/cli\n" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" #: src/components/comment/CommentNode.tsx:139 msgid "[deleted]" msgstr "[supprimé]" #. placeholder {0}: dump.commentCount #: src/components/dump/DumpCard.tsx:139 #: src/components/dump/JournalCard.tsx:133 msgid "{0, plural, one {# comment} other {# comments}}" msgstr "{0, plural, one {# commentaire} other {# commentaires}}" #. placeholder {0}: playlist.dumpCount #: src/components/playlist/PlaylistCard.tsx:117 msgid "{0, plural, one {# dump} other {# dumps}}" msgstr "{0, plural, one {# reco} other {# recos}}" #. placeholder {0}: rest.length #: src/components/dump/create/DuplicateNotice.tsx:52 msgid "{0, plural, one {and # earlier dump} other {and # earlier dumps}}" msgstr "{0, plural, one {et # reco plus ancienne} other {et # recos plus anciennes}}" #. placeholder {0}: typingNames[0] #. placeholder {1}: typingNames[1] #: src/components/chat/ChatModal.tsx:627 msgid "{0} and {1} are typing…" msgstr "{0} et {1} sont en train d'écrire…" #. placeholder {0}: typingNames[0] #: src/components/chat/ChatModal.tsx:625 msgid "{0} is typing…" msgstr "{0} est en train d'écrire…" #. placeholder {0}: rest.length #: src/components/feed/PresenceRow.tsx:81 msgid "{0} more online: {restNames}" msgstr "{0} de plus en ligne : {restNames}" #. placeholder {0}: VALIDATION.USERNAME_MIN #. placeholder {1}: VALIDATION.USERNAME_MAX #: src/pages/UserRegister.tsx:145 msgid "{0}–{1} characters: letters, numbers, or underscores" msgstr "{0}–{1} caractères : lettres, chiffres ou tirets bas" #. js-lingui-explicit-id #: api/mail/digest.ts:514 msgid "email.digest.totals" msgstr "{dumps, plural, one {# reco} other {# recos}}, {upvotes, plural, one {# vote} other {# votes}} et {comments, plural, one {# commentaire} other {# commentaires}}." #: src/pages/Search.tsx:120 msgid "{label} ({count})" msgstr "{label} ({count})" #. js-lingui-explicit-id #: api/mail/digest.ts:238 msgid "email.digest.comments" msgstr "{n, plural, one {# commentaire} other {# commentaires}}" #. js-lingui-explicit-id #: api/mail/digest.ts:498 msgid "email.digest.chatWeek" msgstr "{n, plural, one {# message cette semaine} other {# messages cette semaine}}" #. js-lingui-explicit-id #: api/mail/digest.ts:591 msgid "email.digest.pre.network" msgstr "{n, plural, one {# nouvelle reco de ceux que vous suivez} other {# nouvelles recos de ceux que vous suivez}}" #. js-lingui-explicit-id #: api/mail/digest.ts:612 msgid "email.digest.pre.members" msgstr "{n, plural, one {# nouveau membre} other {# nouveaux membres}}" #. js-lingui-explicit-id #: api/mail/digest.ts:619 msgid "email.digest.pre.playlists" msgstr "{n, plural, one {# nouvelle collection} other {# nouvelles collections}}" #. js-lingui-explicit-id #: api/mail/digest.ts:232 msgid "email.digest.votes" msgstr "{n, plural, one {# vote} other {# votes}}" #. js-lingui-explicit-id #: api/mail/digest.ts:442 msgid "email.digest.stat.chat" msgstr "{n, plural, one {message dans la tribune} other {messages dans la tribune}}" #. js-lingui-explicit-id #: api/mail/digest.ts:149 msgid "email.digest.count.likes" msgstr "{n, plural, one {j'aime sur vos commentaires} other {j'aime sur vos commentaires}}" #. js-lingui-explicit-id #: api/mail/digest.ts:137 msgid "email.digest.count.comments" msgstr "{n, plural, one {commentaire} other {commentaires}}" #. js-lingui-explicit-id #: api/mail/digest.ts:432 msgid "email.digest.stat.dumps" msgstr "{n, plural, one {reco} other {recos}}" #. js-lingui-explicit-id #: api/mail/digest.ts:143 msgid "email.digest.count.mentions" msgstr "{n, plural, one {mention} other {mentions}}" #. js-lingui-explicit-id #: api/mail/digest.ts:131 msgid "email.digest.count.followers" msgstr "{n, plural, one {nouvel abonné} other {nouveaux abonnés}}" #. js-lingui-explicit-id #: api/mail/digest.ts:155 msgid "email.digest.count.playlistFollows" msgstr "{n, plural, one {abonnement à vos collections} other {abonnements à vos collections}}" #. js-lingui-explicit-id #: api/mail/digest.ts:364 msgid "email.digest.seeAll" msgstr "{n, plural, one {Voir la notification} other {Voir les # notifications}}" #. js-lingui-explicit-id #: api/mail/digest.ts:604 msgid "email.digest.pre.topMonth" msgstr "{n, plural, one {la reco la plus votée du mois} other {les # recos les plus votées du mois}}" #. js-lingui-explicit-id #: api/mail/digest.ts:627 msgid "email.digest.pre.topWeek" msgstr "{n, plural, one {la reco la plus votée de la semaine} other {les # recos les plus votées de la semaine}}" #. js-lingui-explicit-id #: api/mail/digest.ts:125 msgid "email.digest.count.upvotes" msgstr "{n, plural, one {vote} other {votes}}" #. js-lingui-explicit-id #: api/mail/digest.ts:389 msgid "email.digest.more" msgstr "{n} de plus dans votre fil Suivi" #: src/components/chat/ChatModal.tsx:756 msgid "{unseenCount} new messages" msgstr "{unseenCount} nouveaux messages" #: src/components/comment/CommentThread.tsx:82 msgid "{visibleCount, plural, one {# comment} other {# comments}}" msgstr "{visibleCount, plural, one {# commentaire} other {# commentaires}}" #. js-lingui-explicit-id #: api/mail/digest.ts:199 msgid "email.digest.hl.comment" msgstr "{who} a commenté votre reco {target}" #. js-lingui-explicit-id #: api/mail/digest.ts:205 msgid "email.digest.hl.playlistFollow" msgstr "{who} a suivi votre collection {target}" #. js-lingui-explicit-id #: api/mail/digest.ts:217 msgid "email.digest.hl.commentLike" msgstr "{who} a aimé votre commentaire sur {target}" #. js-lingui-explicit-id #: api/mail/digest.ts:181 msgid "email.digest.hl.mentionDump" msgstr "{who} vous a mentionné dans {target}" #. js-lingui-explicit-id #: api/mail/digest.ts:193 msgid "email.digest.hl.mentionChat" msgstr "{who} vous a mentionné dans {target}" #. js-lingui-explicit-id #: api/mail/digest.ts:175 msgid "email.digest.hl.mentionComment" msgstr "{who} vous a mentionné dans un commentaire sur {target}" #. js-lingui-explicit-id #: api/mail/digest.ts:187 msgid "email.digest.hl.mentionPlaylist" msgstr "{who} vous a mentionné dans la collection {target}" #. js-lingui-explicit-id #: api/mail/digest.ts:211 msgid "email.digest.hl.userFollow" msgstr "{who} vous suit désormais" #. js-lingui-explicit-id #: api/mail/welcome.ts:32 msgid "email.welcome.body" msgstr "# Bienvenue sur {site} !\n" "\n" "Bonjour **{username}**,\n" "\n" "Votre compte a bien été créé. Bienvenue à bord !" #: src/components/dump/create/DumpCreateModal.tsx:741 #: src/pages/PlaylistDetail.tsx:80 #: src/pages/UserPublicProfile.tsx:159 msgid "← Back" msgstr "← Retour" #: src/pages/Dump.tsx:314 #: src/pages/Dump.tsx:554 #: src/pages/DumpEdit.tsx:217 msgid "← Back to all dumps" msgstr "← Retour à toutes les recos" #: src/pages/UserDumps.tsx:74 #: src/pages/UserPlaylists.tsx:240 #: src/pages/UserUpvoted.tsx:60 msgid "← Back to profile" msgstr "← Retour au profil" #: src/components/profile/ProfileOwnActions.tsx:80 msgid "+ Invite someone" msgstr "+ Inviter quelqu'un" #: src/components/playlist/PlaylistMembershipPanel.tsx:107 msgid "+ New playlist" msgstr "+ Nouvelle collection" #: src/pages/Dump.tsx:391 msgid "+ Playlist" msgstr "+ Collection" #. placeholder {0}: d.commenterUsername #. placeholder {1}: d.dumpTitle #: src/pages/Notifications.tsx:199 msgid "<0>{0} commented on <1>{1}" msgstr "<0>{0} a commenté sur <1>{1}" #. placeholder {0}: d.followerUsername #. placeholder {1}: d.playlistTitle #: src/pages/Notifications.tsx:159 msgid "<0>{0} followed your playlist <1>{1}" msgstr "<0>{0} a suivi votre collection <1>{1}" #. placeholder {0}: d.likerUsername #. placeholder {1}: d.dumpTitle #: src/pages/Notifications.tsx:209 msgid "<0>{0} liked your comment on <1>{1}" msgstr "<0>{0} a aimé votre commentaire sur <1>{1}" #. placeholder {0}: d.mentionerUsername #: src/pages/Notifications.tsx:225 msgid "<0>{0} mentioned you in <1>{where}" msgstr "<0>{0} vous a mentionné dans <1>{where}" #. placeholder {0}: d.dumperUsername #. placeholder {1}: d.dumpTitle #: src/pages/Notifications.tsx:169 msgid "<0>{0} posted <1>{1}" msgstr "<0>{0} a publié <1>{1}" #. placeholder {0}: d.followerUsername #: src/pages/Notifications.tsx:150 msgid "<0>{0} started following you" msgstr "<0>{0} a commencé à vous suivre" #. placeholder {0}: d.voterUsername #. placeholder {1}: d.dumpTitle #: src/pages/Notifications.tsx:189 msgid "<0>{0} upvoted <1>{1}" msgstr "<0>{0} a voté pour <1>{1}" #. placeholder {0}: d.dumpTitle #. placeholder {1}: d.playlistTitle #: src/pages/Notifications.tsx:179 msgid "<0>{0} was added to <1>{1}" msgstr "<0>{0} a été ajouté à <1>{1}" #: src/components/chat/ChatModal.tsx:755 msgid "1 new message" msgstr "1 nouveau message" #: src/pages/Notifications.tsx:220 msgid "a comment" msgstr "un commentaire" #: src/pages/Notifications.tsx:223 msgid "a post" msgstr "une publication" #: src/components/profile/ProfileSettingsTab.tsx:69 msgid "Account" msgstr "Compte" #: src/components/comment/CommentThread.tsx:102 msgid "Add a comment…" msgstr "Ajouter un commentaire…" #: src/components/category/CategoryManager.tsx:104 #: src/components/category/CategoryManager.tsx:105 msgid "Add category" msgstr "Ajouter une catégorie" #: src/components/profile/ProfileHeader.tsx:152 msgid "Add email…" msgstr "Ajouter un e-mail…" #: src/components/shared/ImagePicker.tsx:63 msgid "Add image" msgstr "Ajouter une image" #: src/components/dump/create/DumpCreateModal.tsx:464 #: src/components/playlist/AddToPlaylistModal.tsx:29 msgid "Add to playlist" msgstr "Ajouter à la collection" #. js-lingui-explicit-id #: api/mail/digest.ts:244 msgid "email.digest.addedTo" msgstr "ajoutée à {playlist}" #: src/components/profile/RoleSwitcher.tsx:24 msgid "Admin" msgstr "Administrateur" #: src/components/category/CategorySwitcher.tsx:84 #: src/components/category/CategorySwitcher.tsx:87 msgid "All" msgstr "Tout" #. placeholder {0}: first.username #. placeholder {1}: relativeTime(first.createdAt) #: src/components/dump/create/DuplicateNotice.tsx:39 msgid "Already dumped by {0} {1}" msgstr "Déjà recommandé par {0} {1}" #: src/pages/UserRegister.tsx:175 msgid "Already have an account? <0>Log in" msgstr "Vous avez déjà un compte ? <0>Se connecter" #: src/utils/shared/api.ts:35 msgid "An unexpected error occurred." msgstr "Une erreur inattendue s'est produite." #. js-lingui-explicit-id #: api/mail/digest.ts:260 msgid "email.digest.andMore" msgstr "et {n} de plus" #: src/components/profile/ProfileSettingsTab.tsx:82 msgid "Appearance" msgstr "Apparence" #. placeholder {0}: VALIDATION.PASSWORD_MIN #: src/components/profile/ChangePasswordModal.tsx:102 #: src/pages/ResetPassword.tsx:121 #: src/pages/UserRegister.tsx:164 msgid "At least {0} characters" msgstr "Au moins {0} caractères" #: src/components/form/RichTextField.tsx:66 msgid "At most {maxLength} characters." msgstr "{maxLength} caractères au maximum." #: src/components/profile/ProfileSettingsTab.tsx:34 msgid "Auto" msgstr "Auto" #: src/pages/ResetPassword.tsx:71 #: src/pages/ResetPassword.tsx:144 msgid "Back to login" msgstr "Retour à la connexion" #. js-lingui-explicit-id #: api/mail/digest.ts:226 msgid "email.digest.by" msgstr "par @{username}" #. js-lingui-explicit-id #: api/mail/digest.ts:266 msgid "email.digest.playlistMeta" msgstr "par @{username} · {n, plural, one {# reco} other {# recos}}" #: src/contexts/ws/WSProvider.tsx:395 #: src/contexts/ws/WSProvider.tsx:761 msgid "Can't connect to the live updates server. Upvotes and notifications may not sync until it reconnects." msgstr "Impossible de se connecter au serveur de mises à jour en direct. Les votes et les notifications pourraient ne pas se synchroniser avant la reconnexion." #: src/components/category/CategoryManager.tsx:225 #: src/components/category/CategoryManager.tsx:226 #: src/components/chat/ChatEditBox.tsx:88 #: src/components/comment/CommentForm.tsx:127 #: src/components/dump/create/DumpCreateModal.tsx:751 #: src/components/form/FormActions.tsx:42 #: src/components/playlist/PlaylistEditForm.tsx:205 #: src/components/profile/DescriptionEditor.tsx:97 #: src/components/profile/EmailEditor.tsx:83 #: src/components/shared/ConfirmModal.tsx:63 #: src/pages/Dump.tsx:432 #: src/pages/DumpEdit.tsx:542 msgid "Cancel" msgstr "Annuler" #: src/components/playlist/PlaylistDumpList.tsx:118 msgid "Cancel removal" msgstr "Annuler la suppression" #: src/components/chat/ChatModal.tsx:816 #: src/components/chat/ChatModal.tsx:817 msgid "Cancel reply" msgstr "Annuler la réponse" #: src/components/layout/AppHeader.tsx:162 msgid "Cancel search" msgstr "Annuler la recherche" #: src/components/category/CategorySelect.tsx:33 #: src/components/profile/ProfileManageTab.tsx:49 msgid "Categories" msgstr "Catégories" #: src/components/category/CategorySwitcher.tsx:107 msgid "Category" msgstr "Catégorie" #: src/components/profile/ProfileHeader.tsx:93 msgid "Change avatar" msgstr "Changer l'avatar" #: src/components/shared/ImagePicker.tsx:63 msgid "Change image" msgstr "Changer l'image" #: src/components/profile/ChangePasswordModal.tsx:67 #: src/components/profile/ChangePasswordModal.tsx:121 msgid "Change password" msgstr "Changer le mot de passe" #: src/components/profile/ProfileSettingsTab.tsx:77 msgid "Change password…" msgstr "Changer le mot de passe…" #: src/components/editor/EmojiPickerPopup.tsx:108 msgid "Change skin tone" msgstr "Changer la couleur de peau" #: src/components/chat/ChatModal.tsx:716 #: src/components/layout/ChatButton.tsx:26 #: src/components/layout/ChatFab.tsx:53 #: src/components/layout/ChatFab.tsx:54 msgid "Chat" msgstr "Tribune" #: src/components/layout/ChatButton.tsx:25 #: src/components/layout/ChatFab.tsx:52 msgid "Chat ({unreadChatCount} unread)" msgstr "{unreadChatCount} messages non lus" #: src/pages/UserRegister.tsx:106 msgid "Checking invite…" msgstr "Vérification de l'invitation…" #: src/components/profile/ChangePasswordModal.tsx:76 #: src/components/shared/Modal.tsx:76 msgid "Close" msgstr "Fermer" #: src/components/dump/create/DumpCreateModal.tsx:495 msgid "Close anyway" msgstr "Fermer quand même" #: src/components/editor/EmojiPickerPopup.tsx:113 msgid "Close emoji picker" msgstr "Fermer le sélecteur d'emoji" #: src/components/player/GlobalPlayer.tsx:262 msgid "Close player" msgstr "Fermer le lecteur" #: src/components/dump/create/DumpCreateModal.tsx:485 msgid "Close without posting? The attached file won't be kept — everything you typed will." msgstr "Fermer sans publier ? Le fichier joint sera perdu — ce que vous avez écrit sera conservé." #: src/components/player/GlobalPlayer.tsx:254 msgid "Collapse player" msgstr "Réduire le lecteur" #: src/components/profile/ProfileSettingsTab.tsx:91 msgid "Color scheme" msgstr "Thème de couleur" #. js-lingui-explicit-id #: api/mail/digest.ts:424 msgid "email.digest.community" msgstr "La communauté" #: src/components/profile/ChangePasswordModal.tsx:109 #: src/pages/ResetPassword.tsx:128 msgid "Confirm new password" msgstr "Confirmer le nouveau mot de passe" #: src/contexts/ws/WSProvider.tsx:754 msgid "Connection lost — this message may not have been sent" msgstr "Connexion perdue — ce message n'a peut-être pas été envoyé" #: src/components/profile/ProfileOwnActions.tsx:105 msgid "Copied!" msgstr "Copié !" #: src/components/profile/ProfileOwnActions.tsx:105 msgid "Copy" msgstr "Copier" #: src/components/profile/ChangePasswordModal.tsx:118 msgid "Could not change password" msgstr "Impossible de changer le mot de passe" #: src/utils/shared/api.ts:33 msgid "Could not connect to the server. Check your connection and try again." msgstr "Impossible de joindre le serveur. Vérifiez votre connexion et réessayez." #: src/pages/DumpEdit.tsx:530 #: src/pages/UserPlaylists.tsx:264 msgid "Could not delete" msgstr "Suppression impossible" #: src/pages/DumpEdit.tsx:490 msgid "Could not save" msgstr "Sauvegarde impossible" #: src/components/dump/create/DumpCreateModal.tsx:606 msgid "Couldn't load a preview for this link — check it, or post it as-is and refresh the preview later." msgstr "Impossible de charger un aperçu pour ce lien — vérifiez-le, ou publiez-le tel quel et actualisez l'aperçu plus tard." #: src/components/chat/ChatModal.tsx:642 msgid "Couldn't load the chat." msgstr "Impossible de charger le chat." #: src/pages/Unsubscribe.tsx:111 msgid "Couldn't unsubscribe" msgstr "Désabonnement impossible" #: src/components/social/FollowButton.tsx:112 msgid "Couldn't update. Try again." msgstr "La mise à jour a échoué. Réessayez." #: src/components/playlist/PlaylistCreateForm.tsx:112 msgid "Create" msgstr "Créer" #: src/components/playlist/PlaylistCreateForm.tsx:112 msgid "Create & Add" msgstr "Créer et ajouter" #. placeholder {0}: created.items.length #. placeholder {1}: created.hasMore ? "+" : "" #: src/pages/UserPlaylists.tsx:269 msgid "Created ({0}{1})" msgstr "Créées ({0}{1})" #: src/components/playlist/PlaylistCreateForm.tsx:111 msgid "Creating…" msgstr "Création…" #: src/components/profile/ChangePasswordModal.tsx:87 msgid "Current password" msgstr "Mot de passe actuel" #: src/components/profile/ProfileSettingsTab.tsx:36 msgid "Dark" msgstr "Sombre" #: src/components/profile/ProfileSettingsTab.tsx:102 msgid "Default tab" msgstr "Onglet par défaut" #: src/components/category/CategoryManager.tsx:236 #: src/components/category/CategoryManager.tsx:237 #: src/components/chat/ChatMessageItem.tsx:114 #: src/components/chat/ChatMessageItem.tsx:115 #: src/components/chat/ChatMessageItem.tsx:213 #: src/components/comment/CommentNode.tsx:263 #: src/components/comment/CommentNode.tsx:269 #: src/components/playlist/PlaylistEditForm.tsx:201 #: src/components/shared/ConfirmModal.tsx:34 msgid "Delete" msgstr "Supprimer" #: src/components/category/CategoryManager.tsx:253 msgid "Delete category" msgstr "Supprimer la catégorie" #. placeholder {0}: category.name #: src/components/category/CategoryManager.tsx:252 msgid "Delete category \"{0}\"? This cannot be undone." msgstr "Supprimer la catégorie \"{0}\" ? Cette action est irréversible." #: src/pages/DumpEdit.tsx:299 #: src/pages/DumpEdit.tsx:538 msgid "Delete dump" msgstr "Supprimer la reco" #. placeholder {0}: res.status #: src/pages/DumpEdit.tsx:178 msgid "Delete failed ({0})" msgstr "Échec de la suppression ({0})" #: src/components/playlist/PlaylistCard.tsx:141 #: src/pages/PlaylistDetail.tsx:136 #: src/pages/UserPlaylists.tsx:327 msgid "Delete playlist" msgstr "Supprimer la collection" #: src/components/comment/CommentNode.tsx:268 msgid "Delete this comment?" msgstr "Supprimer ce commentaire ?" #: src/pages/DumpEdit.tsx:298 msgid "Delete this dump? This cannot be undone." msgstr "Supprimer cette reco ? Cette action est irréversible." #: src/components/chat/ChatMessageItem.tsx:212 msgid "Delete this message?" msgstr "Supprimer ce message ?" #: src/pages/PlaylistDetail.tsx:135 #: src/pages/UserPlaylists.tsx:326 msgid "Delete this playlist? This cannot be undone." msgstr "Supprimer cette collection ? Cette action est irréversible." #: src/components/chat/ReplyRef.tsx:49 msgid "deleted message" msgstr "message supprimé" #: src/components/playlist/PlaylistCreateForm.tsx:104 #: src/components/playlist/PlaylistEditForm.tsx:173 msgid "Description (optional)" msgstr "Description (facultatif)" #: src/components/chat/PendingItem.tsx:100 msgid "Discard" msgstr "Abandonner" #: src/components/chat/ChatModal.tsx:720 msgid "Disconnected — reconnecting…" msgstr "Déconnecté — reconnexion…" #: src/components/chat/ChatModal.tsx:792 #: src/components/chat/ChatModal.tsx:793 msgid "Dismiss" msgstr "Fermer" #: src/components/dump/create/DumpCreateModal.tsx:545 msgid "Done" msgstr "Terminé" #. placeholder {0}: dump.fileName #: src/components/dump/FilePreview.tsx:358 msgid "Download {0}" msgstr "Télécharger {0}" #: src/components/form/FileDropZone.tsx:55 msgid "Drop a file here" msgstr "Déposez un fichier ici" #: src/components/dump/create/DumpCreateModal.tsx:652 msgid "Drop a file here, or paste one" msgstr "Déposez un fichier ici, ou collez-en un" #: src/pages/DumpEdit.tsx:481 msgid "Drop a replacement here" msgstr "Déposez un fichier de remplacement ici" #: src/components/layout/AppHeader.tsx:201 msgid "Dump" msgstr "Reco" #: src/components/dump/create/DumpCreateModal.tsx:764 msgid "Dump it" msgstr "Recommander" #: src/components/dump/create/DumpCreateModal.tsx:523 msgid "Dumped!" msgstr "Recommandé !" #: src/pages/Search.tsx:116 #: src/pages/UserDumps.tsx:88 #: src/pages/UserPublicProfile.tsx:189 msgid "Dumps" msgstr "Recos" #. placeholder {0}: dumps.items.length #. placeholder {1}: dumps.hasMore ? "+" : "" #: src/components/profile/ProfileDumpsTab.tsx:37 msgid "Dumps ({0}{1})" msgstr "Recos ({0}{1})" #: src/pages/Notifications.tsx:375 msgid "Earlier" msgstr "Plus tôt" #: src/components/chat/ChatMessageItem.tsx:103 #: src/components/chat/ChatMessageItem.tsx:104 #: src/components/chat/PendingItem.tsx:93 #: src/components/comment/CommentNode.tsx:254 #: src/components/playlist/PlaylistHeader.tsx:58 #: src/pages/Dump.tsx:550 msgid "Edit" msgstr "Modifier" #. placeholder {0}: category.name #: src/components/category/CategoryManager.tsx:84 msgid "Edit {0}" msgstr "Modifier {0}" #: src/components/profile/ProfileDescription.tsx:58 msgid "Edit description" msgstr "Modifier la description" #: src/components/profile/ProfileHeader.tsx:150 msgid "Edit email" msgstr "Modifier l'e-mail" #: src/components/dump/create/TitleField.tsx:69 #: src/pages/Dump.tsx:448 msgid "Edit title" msgstr "Modifier le titre" #: src/components/chat/ChatMessageItem.tsx:127 msgid "edited" msgstr "modifié" #. placeholder {0}: relativeTime(comment.updatedAt) #. placeholder {0}: relativeTime(dump.updatedAt) #. placeholder {0}: relativeTime(message.updatedAt) #: src/components/chat/ChatMessageItem.tsx:128 #: src/components/comment/CommentNode.tsx:203 #: src/components/playlist/PlaylistHeader.tsx:93 #: src/pages/Dump.tsx:491 msgid "edited {0}" msgstr "modifié {0}" #. placeholder {0}: comment.updatedAt.toLocaleString() #. placeholder {0}: dump.updatedAt.toLocaleString() #. placeholder {0}: message.updatedAt.toLocaleString() #: src/components/chat/ChatMessageItem.tsx:124 #: src/components/comment/CommentNode.tsx:201 #: src/components/playlist/PlaylistHeader.tsx:91 #: src/pages/Dump.tsx:489 msgid "Edited {0}" msgstr "Modifié le {0}" #: src/pages/DumpEdit.tsx:242 msgid "Editing" msgstr "Modification" #. placeholder {0}: state.dump.title #: src/pages/DumpEdit.tsx:72 msgid "Editing {0}" msgstr "Édition de {0}" #: src/components/profile/ProfileSettingsTab.tsx:126 msgid "Email" msgstr "E-mail" #: src/pages/UserRegister.tsx:152 msgid "Email address" msgstr "Adresse e-mail" #: src/pages/Search.tsx:149 msgid "Enter a query to search." msgstr "Saisissez une recherche." #: src/components/player/GlobalPlayer.tsx:254 msgid "Expand player" msgstr "Agrandir le lecteur" #: src/components/category/CategoryManager.tsx:246 msgid "Failed to create category" msgstr "Échec de la création de la catégorie" #: src/components/playlist/PlaylistCreateForm.tsx:109 msgid "Failed to create playlist" msgstr "Impossible de créer la collection" #: src/components/category/CategoryManager.tsx:169 msgid "Failed to delete" msgstr "Suppression échouée" #: src/components/profile/ProfileOwnActions.tsx:49 #: src/components/profile/ProfileOwnActions.tsx:52 #: src/components/profile/ProfileOwnActions.tsx:114 msgid "Failed to generate invite" msgstr "Impossible de générer une invitation" #: src/components/shared/ListState.tsx:43 #: src/pages/Notifications.tsx:349 msgid "Failed to load" msgstr "Chargement échoué" #: src/components/dump/create/DumpCreateModal.tsx:554 msgid "Failed to post" msgstr "Publication échouée" #: src/components/comment/CommentThread.tsx:101 msgid "Failed to post comment" msgstr "Impossible de publier le commentaire" #: src/components/comment/CommentNode.tsx:289 msgid "Failed to post reply" msgstr "Impossible de publier la réponse" #: src/components/playlist/PlaylistEditForm.tsx:193 #: src/components/profile/DescriptionEditor.tsx:99 #: src/components/profile/EmailEditor.tsx:86 msgid "Failed to save" msgstr "Enregistrement échoué" #: src/components/category/CategoryManager.tsx:247 msgid "Failed to save category" msgstr "Échec de l’enregistrement de la catégorie" #: src/components/comment/CommentNode.tsx:216 msgid "Failed to save edit" msgstr "Impossible d'enregistrer la modification" #: src/components/profile/ProfileHeader.tsx:161 msgid "Failed to update avatar" msgstr "Impossible de mettre à jour l'avatar" #: src/components/profile/RoleSwitcher.tsx:92 msgid "Failed to update role" msgstr "Erreur lors de la mise à jour du rôle" #: src/components/profile/ProfileSettingsTab.tsx:100 msgid "Feeds" msgstr "Flux" #: src/components/dump/create/DumpCreateModal.tsx:593 msgid "Fetching preview…" msgstr "Récupération de l'aperçu…" #: src/components/dump/create/DumpCreateModal.tsx:416 msgid "File too large (max {max})." msgstr "Fichier trop volumineux (max {max})." #: src/components/social/FollowButton.tsx:62 #: src/components/social/FollowButton.tsx:102 msgid "Follow" msgstr "Suivre" #: src/components/social/FollowButton.tsx:60 msgid "Follow {targetUsername}" msgstr "Suivre {targetUsername}" #: src/components/social/FollowButton.tsx:100 msgid "Follow playlist" msgstr "Suivre la collection" #: src/components/feed/FollowedFeed.tsx:151 msgid "Follow some public playlists to see their dumps here." msgstr "Suivez des collections publiques pour voir leurs recos ici." #: src/components/feed/FollowedFeed.tsx:143 msgid "Follow some users to see their dumps here." msgstr "Suivez des utilisateurs pour voir leurs recos ici." #: src/components/feed/FeedTabBar.tsx:49 #: src/components/profile/ProfileSettingsTab.tsx:43 #: src/pages/UserPublicProfile.tsx:191 msgid "Followed" msgstr "Suivi" #. placeholder {0}: followed.items.length #. placeholder {1}: followed.hasMore ? "+" : "" #: src/pages/UserPlaylists.tsx:300 msgid "Followed ({0}{1})" msgstr "Suivies ({0}{1})" #: src/components/profile/ProfileFollowedTab.tsx:100 msgid "Followed playlists" msgstr "Collections suivies" #: src/components/profile/ProfileFollowedTab.tsx:68 #: src/components/social/FollowButton.tsx:62 #: src/components/social/FollowButton.tsx:102 msgid "Following" msgstr "Abonné" #. js-lingui-explicit-id #: api/mail/digest.ts:342 msgid "email.digest.forYou" msgstr "Pour vous" #: src/pages/UserLogin.tsx:97 msgid "Forgot password?" msgstr "Mot de passe oublié ?" #: src/components/feed/FollowedFeed.tsx:132 msgid "From people" msgstr "De personnes" #. js-lingui-explicit-id #: api/mail/digest.ts:379 msgid "email.digest.network" msgstr "De ceux que vous suivez" #: src/components/feed/FollowedFeed.tsx:133 msgid "From playlists" msgstr "De collections" #: src/components/player/MediaPlayer.tsx:373 msgid "Fullscreen" msgstr "Plein écran" #: src/pages/NotFound.tsx:24 msgid "Go home" msgstr "Accueil" #: src/pages/ResetPassword.tsx:93 msgid "Go to login" msgstr "Aller à la connexion" #. js-lingui-explicit-id #: api/mail/password-reset.ts:32 msgid "email.reset.hi" msgstr "Bonjour {username}," #: src/components/feed/FeedTabBar.tsx:45 #: src/components/profile/ProfileSettingsTab.tsx:40 msgid "Hot" msgstr "Tendances" #: src/pages/UserLogin.tsx:136 msgid "If that address is registered you'll receive a reset link shortly." msgstr "Si cette adresse est enregistrée, vous recevrez un lien de réinitialisation sous peu." #. js-lingui-explicit-id #: api/mail/password-reset.ts:48 msgid "email.reset.fallback" msgstr "Si le bouton ne fonctionne pas, collez ce lien dans votre navigateur :" #. js-lingui-explicit-id #: api/mail/password-reset.ts:56 msgid "email.reset.ignore" msgstr "Si vous n'êtes pas à l'origine de cette demande, ignorez cet e-mail. Votre mot de passe ne change pas." #: src/utils/chat/message.ts:43 msgid "image" msgstr "image" #: src/pages/Dump.tsx:570 msgid "In collections" msgstr "Dans les collections" #. js-lingui-explicit-id #: api/mail/digest.ts:495 msgid "email.digest.inChat" msgstr "Dans la tribune" #: src/components/editor/TextEditor.tsx:544 #: src/components/editor/TextEditor.tsx:546 msgid "Insert emoji" msgstr "Insérer un emoji" #: src/pages/UserRegister.tsx:117 msgid "Invalid invite" msgstr "Invitation invalide" #: src/pages/ResetPassword.tsx:61 #: src/pages/Unsubscribe.tsx:61 msgid "Invalid link" msgstr "Lien invalide" #: src/components/profile/ProfileOwnActions.tsx:88 #: src/components/profile/ProfileOwnActions.tsx:95 msgid "Invite link" msgstr "Lien d'invitation" #: src/components/profile/ProfileHeader.tsx:115 msgid "invited by" msgstr "invité par" #. js-lingui-explicit-id #: api/mail/digest.ts:254 msgid "email.digest.invitedBy" msgstr "sur invitation de @{username}" #. js-lingui-explicit-id #: api/mail/digest.ts:253 msgid "email.digest.invitedByYou" msgstr "sur votre invitation" #: src/components/profile/ProfileInviteesTab.tsx:76 #: src/pages/UserPublicProfile.tsx:192 msgid "Invitees" msgstr "Invités" #: src/components/feed/FeedTabBar.tsx:47 #: src/components/profile/ProfileSettingsTab.tsx:42 msgid "Journal" msgstr "Journal" #: src/components/dump/create/DumpCreateModal.tsx:492 msgid "Keep editing" msgstr "Continuer l'édition" #: src/components/profile/ProfileSettingsTab.tsx:35 msgid "Light" msgstr "Clair" #: src/components/social/LikeButton.tsx:54 msgid "Like" msgstr "Aimer" #: src/components/dump/create/DumpCreateModal.tsx:568 msgid "Link" msgstr "Lien" #: src/components/dump/create/StepIndicator.tsx:19 msgid "Link or file" msgstr "Lien ou fichier" #: src/contexts/ws/WSProvider.tsx:760 msgid "Live updates are temporarily disconnected. Trying to reconnect…" msgstr "Les mises à jour en direct sont temporairement interrompues. Tentative de reconnexion…" #: src/components/layout/AppHeader.tsx:236 msgid "Live updates unavailable." msgstr "Mises à jour en direct indisponibles." #: src/components/shared/LoadMoreButton.tsx:32 msgid "Load more" msgstr "Charger plus" #: src/components/chat/ChatModal.tsx:741 msgid "Load older messages" msgstr "Charger les messages plus anciens" #: src/pages/Dump.tsx:290 #: src/pages/DumpEdit.tsx:193 msgid "Loading dump…" msgstr "Chargement de la reco…" #: src/components/chat/ChatModal.tsx:634 msgid "Loading messages…" msgstr "Chargement des messages…" #: src/components/feed/FeedFooter.tsx:34 msgid "Loading more…" msgstr "Chargement…" #: src/pages/PlaylistDetail.tsx:64 msgid "Loading playlist…" msgstr "Chargement de la collection…" #: src/pages/UserPublicProfile.tsx:142 msgid "Loading profile…" msgstr "Chargement du profil…" #: src/components/category/CategoryManager.tsx:60 #: src/components/chat/ChatModal.tsx:740 #: src/components/editor/EmojiPickerPopup.tsx:125 #: src/components/playlist/PlaylistMembershipPanel.tsx:45 #: src/components/shared/ListState.tsx:38 #: src/components/shared/LoadMoreButton.tsx:32 #: src/components/social/UserListPopover.tsx:150 #: src/pages/Notifications.tsx:345 #: src/pages/UserDumps.tsx:62 #: src/pages/UserPlaylists.tsx:228 #: src/pages/UserUpvoted.tsx:48 msgid "Loading…" msgstr "Chargement…" #: src/components/layout/AppHeader.tsx:209 #: src/pages/UserLogin.tsx:41 #: src/pages/UserLogin.tsx:67 #: src/pages/UserLogin.tsx:86 msgid "Log in" msgstr "Se connecter" #: src/components/social/LikeButton.tsx:55 msgid "Log in to like" msgstr "Se connecter pour aimer" #: src/components/social/VoteButton.tsx:53 msgid "Log in to vote" msgstr "Se connecter pour voter" #: src/components/profile/ProfileHeader.tsx:174 #: src/pages/UserPublicProfile.tsx:163 msgid "Log out" msgstr "Se déconnecter" #: src/pages/UserLogin.tsx:85 msgid "Logging in…" msgstr "Connexion…" #: src/pages/UserLogin.tsx:72 msgid "Login failed" msgstr "Connexion échouée" #: src/pages/UserPublicProfile.tsx:197 msgid "Manage" msgstr "Administration" #: src/components/form/FileDropZone.tsx:169 msgid "Max {limit}" msgstr "Max {limit}" #: src/components/profile/RoleSwitcher.tsx:23 msgid "Moderator" msgstr "Modérateur" #. js-lingui-explicit-id #: api/mail/digest.ts:311 #: src/components/profile/ProfileSettingsTab.tsx:137 msgid "digest.monthly" msgstr "Récap mensuel" #: src/components/player/MediaPlayer.tsx:346 msgid "Mute" msgstr "Couper le son" #: src/components/category/CategoryManager.tsx:192 #: src/components/category/CategoryManager.tsx:193 msgid "Name" msgstr "Nom" #: src/pages/Notifications.tsx:338 msgid "new" msgstr "nouveau" #: src/components/chat/ChatModal.tsx:669 #: src/components/feed/FeedTabBar.tsx:46 #: src/components/profile/ProfileSettingsTab.tsx:41 msgid "New" msgstr "Nouveau" #: src/components/dump/create/DumpCreateModal.tsx:464 #: src/components/dump/NewDumpButton.tsx:27 #: src/components/layout/DumpFab.tsx:66 #: src/components/layout/DumpFab.tsx:67 msgid "New dump" msgstr "Nouvelle reco" #. js-lingui-explicit-id #: api/mail/digest.ts:455 msgid "email.digest.newMembers" msgstr "Nouveaux membres" #: src/components/profile/ChangePasswordModal.tsx:95 #: src/pages/ResetPassword.tsx:113 msgid "New password" msgstr "Nouveau mot de passe" #: src/components/playlist/NewPlaylistButton.tsx:49 #: src/components/playlist/NewPlaylistButton.tsx:56 msgid "New playlist" msgstr "Nouvelle collection" #. js-lingui-explicit-id #: api/mail/digest.ts:475 msgid "email.digest.newPlaylists" msgstr "Nouvelles collections publiques" #: src/components/dump/create/DumpCreateModal.tsx:763 msgid "Next →" msgstr "Suivant →" #: src/components/player/GlobalPlayer.tsx:244 msgid "Next track" msgstr "Piste suivante" #: src/components/playlist/PlaylistDumpList.tsx:46 msgid "No dumps in this playlist yet." msgstr "Aucune reco dans cette collection pour l'instant." #: src/pages/Search.tsx:165 msgid "No dumps match \"{q}\"." msgstr "Aucune reco ne correspond à « {q} »." #: src/components/feed/DumpFeed.tsx:76 #: src/components/feed/JournalFeed.tsx:36 msgid "No dumps yet. Be the first!" msgstr "Pas encore de recos. Soyez le premier !" #: src/components/editor/EmojiPickerPopup.tsx:128 msgid "No emoji found." msgstr "Aucun emoji trouvé." #: src/components/profile/ProfileFollowedTab.tsx:110 #: src/pages/UserPlaylists.tsx:309 msgid "No followed playlists yet." msgstr "Pas encore de collections suivies." #: src/components/profile/ProfileInviteesTab.tsx:82 msgid "No invitees yet." msgstr "Aucun invité pour le moment." #: src/components/chat/ChatModal.tsx:653 msgid "No messages yet. Say hello!" msgstr "Aucun message pour l'instant. Dites bonjour !" #: src/components/social/UserListPopover.tsx:158 msgid "No one yet." msgstr "Personne pour le moment." #: src/pages/Search.tsx:206 msgid "No playlists match \"{q}\"." msgstr "Aucune collection ne correspond à « {q} »." #: src/components/playlist/PlaylistMembershipPanel.tsx:51 #: src/components/profile/ProfilePlaylistsTab.tsx:52 #: src/pages/UserPlaylists.tsx:278 msgid "No playlists yet." msgstr "Pas encore de collections." #: src/contexts/ws/WSProvider.tsx:929 msgid "No reply from the server — this message may not have been sent" msgstr "Pas de réponse du serveur — ce message n'a peut-être pas été envoyé" #: src/pages/Search.tsx:180 msgid "No users match \"{q}\"." msgstr "Aucun utilisateur ne correspond à « {q} »." #: src/components/profile/ProfileFollowedTab.tsx:74 msgid "Not following anyone yet." msgstr "Aucun abonnement pour le moment." #: src/components/profile/ProfileDumpsTab.tsx:46 #: src/components/profile/ProfileDumpsTab.tsx:60 #: src/pages/Notifications.tsx:356 #: src/pages/UserDumps.tsx:94 #: src/pages/UserUpvoted.tsx:79 msgid "Nothing here yet." msgstr "Rien ici pour l'instant." #: src/components/layout/NotificationBell.tsx:54 #: src/components/profile/ProfileSettingsTab.tsx:111 #: src/pages/Notifications.tsx:282 #: src/pages/Notifications.tsx:334 msgid "Notifications" msgstr "Notifications" #: src/components/layout/NotificationBell.tsx:53 msgid "Notifications ({unreadNotificationCount} unread)" msgstr "Notifications ({unreadNotificationCount} non lues)" #: src/components/profile/ProfileSettingsTab.tsx:48 msgid "Off" msgstr "Désactivés" #: src/components/profile/ProfileSettingsTab.tsx:47 msgid "On" msgstr "Activés" #. js-lingui-explicit-id #: api/mail/welcome.ts:49 msgid "email.welcome.digests" msgstr "Chaque semaine, vous recevrez un résumé de ce qui s'est passé ici, et chaque mois un récap des recos les plus votées. Vous pouvez désactiver l'un ou l'autre dans vos paramètres." #: src/components/editor/TextEditor.tsx:359 msgid "Only images can be dropped here." msgstr "Seules les images peuvent être déposées ici." #: src/pages/DumpEdit.tsx:103 msgid "Only its poster or a moderator can edit this dump." msgstr "Seuls son auteur et les modérateurs peuvent modifier ce dump." #. js-lingui-explicit-id #: api/mail/welcome.ts:41 msgid "email.welcome.button" msgstr "Ouvrir {site}" #. placeholder {0}: richContent.siteName #: src/components/dump/RichContentCard.tsx:122 msgid "Open on {0}" msgstr "Ouvrir sur {0}" #: src/components/dump/RichContentCard.tsx:123 msgid "Open source" msgstr "Ouvrir la source" #. js-lingui-explicit-id #: api/mail/digest.ts:506 msgid "email.digest.openChat" msgstr "Ouvrir la tribune" #: src/components/form/FileDropZone.tsx:163 msgid "or <0>browse files" msgstr "ou <0>parcourir les fichiers" #: src/pages/NotFound.tsx:16 msgid "Page not found" msgstr "Page introuvable" #: src/components/profile/ProfileSettingsTab.tsx:71 #: src/pages/UserLogin.tsx:82 msgid "Password" msgstr "Mot de passe" #. placeholder {0}: VALIDATION.PASSWORD_MIN #: src/pages/UserRegister.tsx:158 msgid "Password (min. {0} characters)" msgstr "Mot de passe (min. {0} caractères)" #: src/components/profile/ChangePasswordModal.tsx:72 msgid "Password changed successfully." msgstr "Mot de passe modifié avec succès." #: src/pages/ResetPassword.tsx:83 msgid "Password updated" msgstr "Mot de passe mis à jour" #: src/components/profile/ChangePasswordModal.tsx:115 #: src/pages/ResetPassword.tsx:133 msgid "Passwords do not match" msgstr "Les mots de passe ne correspondent pas" #: src/components/dump/create/DumpCreateModal.tsx:586 msgid "Paste a link…" msgstr "Collez un lien…" #: src/components/dump/FilePreview.tsx:134 #: src/components/dump/FilePreview.tsx:310 #: src/components/dump/RichContentCard.tsx:103 #: src/components/player/MediaPlayer.tsx:330 msgid "Pause" msgstr "Pause" #: src/components/dump/create/DumpCreateModal.tsx:504 msgid "Picked up where you left off." msgstr "Reprise de votre brouillon." #: src/components/dump/FilePreview.tsx:134 #: src/components/dump/FilePreview.tsx:253 #: src/components/dump/FilePreview.tsx:275 #: src/components/dump/FilePreview.tsx:310 #: src/components/dump/RichContentCard.tsx:103 #: src/components/dump/RichContentCard.tsx:150 #: src/components/player/MediaPlayer.tsx:330 msgid "Play" msgstr "Lecture" #: src/components/playlist/PlaylistEditForm.tsx:157 msgid "Playlist title" msgstr "Titre de la collection" #: src/components/dump/create/StepIndicator.tsx:21 #: src/components/layout/AppHeader.tsx:182 #: src/components/layout/UserMenu.tsx:78 #: src/pages/Search.tsx:119 #: src/pages/UserPlaylists.tsx:254 #: src/pages/UserPublicProfile.tsx:190 msgid "Playlists" msgstr "Collections" #. placeholder {0}: playlists.items.length #. placeholder {1}: playlists.hasMore ? "+" : "" #: src/components/profile/ProfilePlaylistsTab.tsx:35 msgid "Playlists ({0}{1})" msgstr "Collections ({0}{1})" #: src/components/comment/CommentThread.tsx:99 msgid "Post comment" msgstr "Publier le commentaire" #: src/components/comment/CommentNode.tsx:287 msgid "Post reply" msgstr "Publier la réponse" #: src/components/comment/CommentNode.tsx:288 #: src/components/comment/CommentThread.tsx:100 #: src/components/dump/create/DumpCreateModal.tsx:757 msgid "Posting…" msgstr "Publication…" #: src/components/player/GlobalPlayer.tsx:228 msgid "Previous track" msgstr "Piste précédente" #: src/components/dump/DumpCard.tsx:148 #: src/components/dump/JournalCard.tsx:142 #: src/components/playlist/PlaylistCard.tsx:103 #: src/components/playlist/PlaylistHeader.tsx:75 #: src/components/playlist/PlaylistMembershipPanel.tsx:81 #: src/pages/Dump.tsx:497 msgid "private" msgstr "privé" #: src/components/form/SegmentedField.tsx:65 msgid "Private" msgstr "Privé" #: src/components/playlist/PlaylistCard.tsx:102 #: src/components/playlist/PlaylistHeader.tsx:75 msgid "public" msgstr "public" #: src/components/form/SegmentedField.tsx:64 msgid "Public" msgstr "Public" #: src/pages/DumpEdit.tsx:275 msgid "Refresh metadata" msgstr "Actualiser les métadonnées" #: src/components/player/GlobalPlayer.tsx:324 msgid "Refreshing stream…" msgstr "Actualisation du flux…" #: src/pages/DumpEdit.tsx:274 msgid "Refreshing…" msgstr "Actualisation…" #: src/pages/UserRegister.tsx:45 #: src/pages/UserRegister.tsx:129 #: src/pages/UserRegister.tsx:169 msgid "Register" msgstr "S'inscrire" #: src/pages/UserRegister.tsx:168 msgid "Registering…" msgstr "Inscription…" #: src/pages/UserRegister.tsx:134 msgid "Registration failed" msgstr "Inscription échouée" #: src/pages/Dump.tsx:561 msgid "Related" msgstr "Connexe" #: src/components/form/FileDropZone.tsx:139 msgid "Remove file" msgstr "Supprimer le fichier" #: src/components/playlist/PlaylistDumpList.tsx:108 msgid "Remove from playlist" msgstr "Retirer de la collection" #: src/components/social/LikeButton.tsx:54 msgid "Remove like" msgstr "Retirer le j'aime" #: src/components/social/VoteButton.tsx:52 msgid "Remove vote" msgstr "Retirer le vote" #: src/pages/DumpEdit.tsx:473 msgid "Replace file" msgstr "Remplacer le fichier" #: src/components/chat/ChatMessageItem.tsx:93 #: src/components/chat/ChatMessageItem.tsx:94 #: src/components/comment/CommentNode.tsx:242 msgid "Reply" msgstr "Répondre" #: src/components/chat/ChatModal.tsx:804 msgid "Replying to" msgstr "En réponse à" #: src/pages/UserLogin.tsx:148 msgid "Request failed" msgstr "Échec de la demande" #: src/pages/ResetPassword.tsx:109 msgid "Reset failed" msgstr "Échec de la réinitialisation" #. js-lingui-explicit-id #: api/mail/password-reset.ts:44 msgid "email.reset.button" msgstr "Choisir un nouveau mot de passe" #: src/pages/ResetPassword.tsx:34 msgid "Reset password" msgstr "Réinitialiser le mot de passe" #: src/pages/DumpEdit.tsx:449 #: src/pages/DumpEdit.tsx:504 msgid "Reset to default" msgstr "Réinitialiser par défaut" #: src/components/dump/create/TitleField.tsx:80 #: src/components/dump/create/TitleField.tsx:81 msgid "Reset to the suggested title" msgstr "Rétablir le titre suggéré" #. js-lingui-explicit-id #: api/mail/password-reset.ts:71 msgid "email.reset.subject" msgstr "Réinitialisez votre mot de passe {site}" #. js-lingui-explicit-id #: api/mail/password-reset.ts:30 msgid "email.reset.title" msgstr "Réinitialiser votre mot de passe" #: src/components/chat/PendingItem.tsx:86 #: src/pages/Dump.tsx:307 #: src/pages/DumpEdit.tsx:210 msgid "Retry" msgstr "Réessayer" #: src/components/profile/RoleSwitcher.tsx:84 msgid "Role" msgstr "Rôle" #: src/components/category/CategoryManager.tsx:216 #: src/components/chat/ChatEditBox.tsx:85 #: src/components/comment/CommentNode.tsx:214 #: src/components/playlist/PlaylistEditForm.tsx:212 #: src/components/profile/DescriptionEditor.tsx:89 #: src/components/profile/EmailEditor.tsx:75 #: src/pages/Dump.tsx:424 #: src/pages/DumpEdit.tsx:545 msgid "Save" msgstr "Enregistrer" #: src/components/comment/CommentNode.tsx:215 #: src/components/playlist/PlaylistEditForm.tsx:208 #: src/components/profile/ChangePasswordModal.tsx:120 #: src/components/profile/DescriptionEditor.tsx:86 #: src/components/profile/EmailEditor.tsx:72 #: src/pages/Dump.tsx:423 #: src/pages/ResetPassword.tsx:136 msgid "Saving…" msgstr "Enregistrement…" #: src/components/layout/AppHeader.tsx:162 #: src/components/layout/SearchBar.tsx:82 #: src/pages/Search.tsx:65 msgid "Search" msgstr "Rechercher" #: src/components/layout/SearchBar.tsx:78 msgid "Search dumps, users, playlists…" msgstr "Rechercher des recos, utilisateurs, collections…" #: src/components/editor/EmojiPickerPopup.tsx:104 msgid "Search emoji" msgstr "Rechercher un emoji" #: src/components/editor/EmojiPickerPopup.tsx:103 msgid "Search emoji…" msgstr "Rechercher un emoji…" #: src/pages/Search.tsx:160 msgid "Search failed" msgstr "Recherche échouée" #: src/pages/Search.tsx:155 msgid "Searching…" msgstr "Recherche…" #: src/components/player/SeekBar.tsx:50 msgid "Seek" msgstr "Position" #: src/components/chat/ChatModal.tsx:844 msgid "Send" msgstr "Envoyer" #: src/pages/UserLogin.tsx:157 msgid "Send reset link" msgstr "Envoyer le lien de réinitialisation" #: src/components/chat/PendingItem.tsx:104 #: src/pages/UserLogin.tsx:156 msgid "Sending…" msgstr "Envoi…" #: src/components/layout/AppHeader.tsx:198 msgid "Server unreachable" msgstr "Serveur inaccessible" #: src/pages/ResetPassword.tsx:104 #: src/pages/ResetPassword.tsx:137 msgid "Set new password" msgstr "Définir un nouveau mot de passe" #. js-lingui-explicit-id #: api/mail/digest.ts:554 msgid "email.settings" msgstr "Paramètres" #: src/pages/UserPublicProfile.tsx:194 msgid "Settings" msgstr "Paramètres" #: src/components/chat/ChatModal.tsx:628 msgid "Several people are typing…" msgstr "Plusieurs personnes écrivent…" #: src/components/profile/ProfileOwnActions.tsx:108 msgid "Single use, valid for 7 days." msgstr "Usage unique, valable 7 jours." #: src/components/category/CategoryManager.tsx:205 msgid "slug" msgstr "identifiant" #: src/components/editor/TextEditor.tsx:317 msgid "Some images couldn't be uploaded." msgstr "Certaines images n'ont pas pu être envoyées." #. js-lingui-explicit-id #: api/mail/password-reset.ts:37 msgid "email.reset.body" msgstr "Quelqu'un a demandé à réinitialiser le mot de passe de votre compte {site}. Le bouton ci-dessous vous permet d'en choisir un nouveau. Il ne fonctionne qu'une fois, pendant {hours, plural, one {# heure} other {# heures}}." #: src/components/form/FormError.tsx:31 #: src/components/layout/PageError.tsx:29 #: src/contexts/ws/WSProvider.tsx:729 #: src/pages/PlaylistDetail.tsx:119 msgid "Something went wrong" msgstr "Une erreur est survenue" #: src/components/profile/ProfileSettingsTab.tsx:113 msgid "Sounds" msgstr "Sons" #: src/components/dump/create/DumpCreateModal.tsx:511 msgid "Start fresh" msgstr "Repartir de zéro" #: src/components/profile/ProfileSettingsTab.tsx:84 msgid "Style" msgstr "Style" #: src/components/layout/SearchBar.tsx:88 msgid "Submit search" msgstr "Lancer la recherche" #: src/components/form/FileField.tsx:60 msgid "That file is over {limit}." msgstr "Ce fichier dépasse {limit}." #. js-lingui-explicit-id #: api/mail/digest.ts:351 msgid "email.digest.theChat" msgstr "la tribune" #: src/pages/Notifications.tsx:222 msgid "the chat" msgstr "la tribune" #: src/hooks/playlist/usePlaylist.ts:161 msgid "The dump couldn't be removed. Try again." msgstr "Le dump n'a pas pu être retiré. Réessayez." #: src/components/editor/TextEditor.tsx:318 msgid "The image couldn't be uploaded." msgstr "L'image n'a pas pu être envoyée." #. js-lingui-explicit-id #: api/mail/password-reset.ts:76 msgid "email.reset.preheader" msgstr "Le lien ne fonctionne qu'une fois, pendant {hours, plural, one {# heure} other {# heures}}." #. js-lingui-explicit-id #: api/mail/digest.ts:325 msgid "email.digest.monthly.title" msgstr "Le mois sur {site}" #. js-lingui-explicit-id #: api/mail/digest.ts:562 msgid "email.digest.monthly.subject" msgstr "Le mois sur {site}, {range}" #: src/hooks/playlist/usePlaylist.ts:307 msgid "The new order couldn't be saved. Try again." msgstr "Le nouvel ordre n'a pas pu être enregistré. Réessayez." #: src/components/comment/CommentNode.tsx:280 msgid "This comment couldn't be deleted. Try again." msgstr "Ce commentaire n'a pas pu être supprimé. Réessayez." #: src/pages/UserRegister.tsx:118 msgid "This invite link is missing, expired, or already used." msgstr "Ce lien d'invitation est manquant, expiré ou déjà utilisé." #: src/pages/UserLogin.tsx:104 msgid "This is a mirage." msgstr "C'est un mirage." #: src/pages/NotFound.tsx:21 msgid "This page does not exist." msgstr "Rien à voir, circulez." #: src/pages/ResetPassword.tsx:64 msgid "This reset link is missing or malformed." msgstr "Ce lien de réinitialisation est absent ou malformé." #: src/components/profile/ProfileSettingsTab.tsx:149 msgid "This site doesn't send email, so no digest goes out." msgstr "Ce site n'envoie pas d'e-mails, aucun résumé ne part donc." #: src/pages/Unsubscribe.tsx:64 msgid "This unsubscribe link is missing or malformed." msgstr "Ce lien de désabonnement est absent ou mal formé." #: src/pages/DumpEdit.tsx:433 msgid "Thumbnail" msgstr "Miniature" #: src/components/dump/create/TitleField.tsx:45 #: src/components/playlist/PlaylistCreateForm.tsx:96 #: src/pages/DumpEdit.tsx:494 msgid "Title" msgstr "Titre" #: src/components/dump/create/DumpCreateModal.tsx:413 msgid "Title is required." msgstr "Un titre est requis." #: src/pages/Notifications.tsx:372 #: src/utils/chat/time.ts:24 msgid "Today" msgstr "Aujourd'hui" #. js-lingui-explicit-id #: api/mail/digest.ts:406 msgid "email.digest.topMonth" msgstr "Les plus votées du mois" #. js-lingui-explicit-id #: api/mail/digest.ts:407 msgid "email.digest.topWeek" msgstr "Les plus votées de la semaine" #. placeholder {0}: i + 1 #: src/components/player/GlobalPlayer.tsx:338 msgid "Track {0}" msgstr "Piste {0}" #: src/components/chat/ChatModal.tsx:645 msgid "Try again" msgstr "Réessayer" #. js-lingui-explicit-id #: api/mail/digest.ts:542 #: src/pages/Unsubscribe.tsx:116 msgid "digest.monthly.off" msgstr "Ne plus recevoir le récap mensuel" #: src/pages/Unsubscribe.tsx:107 msgid "Turn off the monthly recap?" msgstr "Ne plus recevoir le récap mensuel ?" #: src/pages/Unsubscribe.tsx:106 msgid "Turn off the weekly digest?" msgstr "Ne plus recevoir le résumé hebdomadaire ?" #. js-lingui-explicit-id #: api/mail/digest.ts:546 #: src/pages/Unsubscribe.tsx:114 msgid "digest.weekly.off" msgstr "Ne plus recevoir le résumé hebdomadaire" #: src/pages/Unsubscribe.tsx:112 msgid "Turning off…" msgstr "Désactivation…" #: src/components/chat/ChatModal.tsx:829 msgid "Type a message…" msgstr "Écrivez un message…" #: src/components/playlist/PlaylistDumpList.tsx:120 msgid "Undo" msgstr "Annuler" #: src/utils/shared/api.ts:22 msgid "Unexpected response format" msgstr "Format de réponse inattendu" #: src/components/social/FollowButton.tsx:59 msgid "Unfollow {targetUsername}" msgstr "Ne plus suivre {targetUsername}" #: src/components/social/FollowButton.tsx:100 msgid "Unfollow playlist" msgstr "Ne plus suivre la collection" #: src/components/player/MediaPlayer.tsx:346 msgid "Unmute" msgstr "Rétablir le son" #: src/pages/Unsubscribe.tsx:30 msgid "Unsubscribe" msgstr "Se désabonner" #: src/pages/Unsubscribe.tsx:78 msgid "Unsubscribed" msgstr "Désabonné" #. js-lingui-explicit-id #: api/mail/digest.ts:250 msgid "email.digest.upload" msgstr "fichier" #: src/components/profile/ProfileHeader.tsx:70 msgid "Upload failed" msgstr "Envoi échoué" #. placeholder {0}: Math.round((uploadProgress ?? 0) * 100) #: src/components/dump/create/DumpCreateModal.tsx:448 msgid "Uploading {0}%" msgstr "Envoi {0} %" #: src/components/editor/TextEditor.tsx:566 msgid "Uploading image…" msgstr "Envoi de l'image…" #: src/components/dump/create/DumpCreateModal.tsx:760 msgid "Uploading…" msgstr "Envoi…" #: src/components/social/VoteButton.tsx:52 msgid "Upvote" msgstr "Voter" #: src/pages/UserUpvoted.tsx:74 msgid "Upvoted" msgstr "Voté" #. placeholder {0}: votes.items.length #. placeholder {1}: votes.hasMore ? "+" : "" #: src/components/profile/ProfileDumpsTab.tsx:52 msgid "Upvoted ({0}{1})" msgstr "Votés ({0}{1})" #: src/pages/DumpEdit.tsx:465 msgid "URL" msgstr "URL" #: src/components/dump/create/DumpCreateModal.tsx:397 msgid "URL is required." msgstr "L'URL est obligatoire." #: src/components/category/CategoryManager.tsx:206 msgid "URL slug" msgstr "Identifiant d’URL" #: src/components/profile/RoleSwitcher.tsx:22 msgid "User" msgstr "Utilisateur" #: src/components/profile/ProfileManageTab.tsx:38 msgid "User management" msgstr "Gestion utilisateur" #: src/components/layout/UserMenu.tsx:53 msgid "User menu" msgstr "Menu utilisateur" #: src/pages/UserLogin.tsx:75 #: src/pages/UserRegister.tsx:137 msgid "Username" msgstr "Nom d'utilisateur" #: src/pages/Search.tsx:118 msgid "Users" msgstr "Utilisateurs" #: src/components/profile/ProfileSection.tsx:43 msgid "View all →" msgstr "Tout voir →" #: src/components/dump/create/DumpCreateModal.tsx:525 msgid "View dump →" msgstr "Voir la reco →" #: src/components/player/MediaPlayer.tsx:363 msgid "Volume" msgstr "Volume" #. js-lingui-explicit-id #: api/mail/digest.ts:315 #: src/components/profile/ProfileSettingsTab.tsx:128 msgid "digest.weekly" msgstr "Résumé hebdomadaire" #. js-lingui-explicit-id #: api/mail/welcome.ts:65 msgid "email.welcome.subject" msgstr "Bienvenue sur {site}" #: src/components/dump/create/DumpCreateModal.tsx:711 #: src/pages/DumpEdit.tsx:515 msgid "What makes it worth it?" msgstr "Pourquoi on en voudrait ?" #: src/components/profile/DescriptionEditor.tsx:78 #: src/components/profile/ProfileDescription.tsx:79 msgid "Who am I?" msgstr "Qui suis-je ?" #: src/components/dump/create/DumpCreateModal.tsx:726 msgid "Who can see it" msgstr "Qui peut la voir" #: src/components/dump/create/StepIndicator.tsx:20 msgid "Why & where" msgstr "Pourquoi & où" #: src/components/dump/create/DumpCreateModal.tsx:710 #: src/pages/DumpEdit.tsx:514 msgid "Why?" msgstr "Pourquoi ?" #: src/components/comment/CommentNode.tsx:291 msgid "Write a reply…" msgstr "Écrire une réponse…" #: src/pages/Notifications.tsx:374 #: src/utils/chat/time.ts:27 msgid "Yesterday" msgstr "Hier" #: src/components/dump/create/DuplicateNotice.tsx:60 msgid "You can post it anyway." msgstr "Vous pouvez la publier quand même." #: src/pages/Unsubscribe.tsx:89 msgid "You won't get the monthly recap any more. You can turn it back on in your settings." msgstr "Vous ne recevrez plus le récap mensuel. Vous pouvez le réactiver dans vos paramètres." #: src/pages/Unsubscribe.tsx:83 msgid "You won't get the weekly digest any more. You can turn it back on in your settings." msgstr "Vous ne recevrez plus le résumé hebdomadaire. Vous pouvez le réactiver dans vos paramètres." #: src/pages/Notifications.tsx:359 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." #. js-lingui-explicit-id #: api/mail/digest.ts:528 msgid "email.digest.monthly.reason" msgstr "Vous recevez ce récap mensuel car il est activé dans vos paramètres." #. js-lingui-explicit-id #: api/mail/digest.ts:533 msgid "email.digest.weekly.reason" msgstr "Vous recevez ce résumé hebdomadaire car il est activé dans vos paramètres." #. js-lingui-explicit-id #: api/mail/password-reset.ts:63 msgid "email.reset.reason" msgstr "Vous recevez cet e-mail car une réinitialisation de mot de passe a été demandée pour cette adresse." #. js-lingui-explicit-id #: api/mail/welcome.ts:56 msgid "email.welcome.reason" msgstr "Vous recevez cet e-mail car un compte {site} a été créé avec cette adresse." #: src/contexts/ws/WSProvider.tsx:910 msgid "You're offline — not sent" msgstr "Hors ligne — message non envoyé" #: src/components/feed/FeedFooter.tsx:39 msgid "You've reached the end." msgstr "Vous avez tout lu, tout vu, tout bu." #. js-lingui-explicit-id #: api/mail/welcome.ts:70 msgid "email.welcome.preheader" msgstr "Votre compte est prêt." #: src/pages/UserLogin.tsx:152 msgid "Your email address" msgstr "Votre adresse e-mail" #: src/pages/ResetPassword.tsx:86 msgid "Your password has been changed. You can now log in." msgstr "Votre mot de passe a été modifié. Vous pouvez maintenant vous connecter." #: src/pages/Unsubscribe.tsx:51 msgid "Your settings" msgstr "Vos paramètres" #. js-lingui-explicit-id #: api/mail/digest.ts:567 msgid "email.digest.weekly.subject" msgstr "Votre semaine sur {site}, {range}" #. js-lingui-explicit-id #: api/mail/digest.ts:330 msgid "email.digest.weekly.title" msgstr "Votre semaine, {username}" #. js-lingui-explicit-id #: api/mail/digest.ts:293 msgid "email.digest.yours" msgstr "à vous"