v4: a moderator's or an admin's @everyone in the chat notifies every user — there was no way to reach everyone at once. The new chat:everyone permission, held by moderators and admins, lets a chat message saying @everyone notify every user but its author and those reading the chat, through notifyEveryone, after notifyMentions, so a user also named is told once, by name; the notification is a user_mentioned with everyone set, which the notifications page and the digest word as "mentioned everyone in the chat". chat_messages.mentions_everyone, sent as ChatMessage.mentionsEveryone, is set from the author's role each time the body is written, so a user's @everyone reaches no one, a moderator's edit of a user's message can't make it reach everyone, and a demoted author's next edit loses it. Only an edit that adds @everyone notifies, so fixing an announcement's typo reaches no one new. The client highlights and chimes by the flag, never by the text; Markdown shows @everyone as a mention only in a flagged message, and never links it to a profile. The chat composer offers @everyone first to those who may say it. No account may be named everyone, in any case: migration 0023 adds the column, flags the moderators' and admins' past @everyone messages, renames a user named everyone to everyone_N and drops an alias everyone. 265 backend tests and 681 frontend tests pass, and deno check, tsc, eslint, doc:lint and i18n:compile --strict are clean; checked in screenshots of the chat at 1280 and 390px, with a moderator's and a user's @everyone and the suggestions open.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
khannurien
2026-10-09 12:54:09 +00:00
parent 5f239a144d
commit 134d1a0b97
37 changed files with 806 additions and 263 deletions

File diff suppressed because one or more lines are too long

View File

@@ -14,175 +14,180 @@ msgstr ""
"Plural-Forms: \n"
#. js-lingui-explicit-id
#: api/mail/digest.ts:129
#: api/mail/digest.ts:163
msgid "email.digest.hl.mentionEveryone"
msgstr "{who} mentioned everyone in {target}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:130
#: src/pages/Community.tsx:49
msgid "digest.count.upvotes"
msgstr "{n, plural, one {upvote} other {upvotes}}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:131
#: api/mail/digest.ts:132
msgid "email.digest.count.followers"
msgstr "{n, plural, one {new follower} other {new followers}}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:133
#: api/mail/digest.ts:134
#: src/pages/Community.tsx:50
msgid "digest.count.comments"
msgstr "{n, plural, one {comment} other {comments}}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:135
#: api/mail/digest.ts:136
msgid "email.digest.count.mentions"
msgstr "{n, plural, one {mention} other {mentions}}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:137
#: api/mail/digest.ts:138
msgid "email.digest.count.likes"
msgstr "{n, plural, one {comment like} other {comment likes}}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:139
#: api/mail/digest.ts:140
msgid "email.digest.count.playlistFollows"
msgstr "{n, plural, one {playlist follow} other {playlist follows}}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:155
#: api/mail/digest.ts:156
msgid "email.digest.hl.mentionComment"
msgstr "{who} mentioned you in a comment on {target}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:158
#: api/mail/digest.ts:159
msgid "email.digest.hl.mentionIn"
msgstr "{who} mentioned you in {target}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:160
#: api/mail/digest.ts:161
msgid "email.digest.hl.mentionPlaylist"
msgstr "{who} mentioned you in the playlist {target}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:162
#: api/mail/digest.ts:165
msgid "email.digest.hl.comment"
msgstr "{who} commented on your dump {target}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:164
#: api/mail/digest.ts:167
msgid "email.digest.hl.playlistFollow"
msgstr "{who} followed your playlist {target}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:166
#: api/mail/digest.ts:169
msgid "email.digest.hl.userFollow"
msgstr "{who} started following you"
#. js-lingui-explicit-id
#: api/mail/digest.ts:168
#: api/mail/digest.ts:171
msgid "email.digest.hl.commentLike"
msgstr "{who} liked your comment on {target}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:172
#: api/mail/digest.ts:175
msgid "email.digest.by"
msgstr "by @{username}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:174
#: api/mail/digest.ts:177
msgid "email.digest.addedTo"
msgstr "added to {playlist}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:175
#: api/mail/digest.ts:178
msgid "email.digest.upload"
msgstr "upload"
#. js-lingui-explicit-id
#: api/mail/digest.ts:178
#: api/mail/digest.ts:181
#: src/pages/Community.tsx:141
msgid "digest.invitedByYou"
msgstr "invited by you"
#. js-lingui-explicit-id
#: api/mail/digest.ts:179
#: api/mail/digest.ts:182
#: src/pages/Community.tsx:143
msgid "digest.invitedBy"
msgstr "invited by @{username}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:180
#: api/mail/digest.ts:183
msgid "email.digest.andMore"
msgstr "and {n} more"
#. js-lingui-explicit-id
#: api/mail/digest.ts:182
#: api/mail/digest.ts:185
msgid "email.digest.playlistMeta"
msgstr "by @{username} · {n, plural, one {# dump} other {# dumps}}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:205
#: api/mail/digest.ts:208
msgid "email.digest.yours"
msgstr "yours"
#. js-lingui-explicit-id
#: api/mail/digest.ts:223
#: api/mail/digest.ts:226
#: src/pages/Settings.tsx:154
msgid "digest.monthly"
msgstr "Monthly recap"
#. js-lingui-explicit-id
#: api/mail/digest.ts:223
#: api/mail/digest.ts:226
#: src/pages/Settings.tsx:145
msgid "digest.weekly"
msgstr "Weekly digest"
#. js-lingui-explicit-id
#: api/mail/digest.ts:231
#: api/mail/digest.ts:234
msgid "email.digest.monthly.title"
msgstr "The month on {site}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:232
#: api/mail/digest.ts:235
msgid "email.digest.weekly.title"
msgstr "Your week, {username}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:240
#: api/mail/digest.ts:243
msgid "email.digest.forYou"
msgstr "For you"
#. js-lingui-explicit-id
#: api/mail/digest.ts:249
#: api/mail/digest.ts:252
msgid "email.digest.theChat"
msgstr "the chat"
#. js-lingui-explicit-id
#: api/mail/digest.ts:264
#: api/mail/digest.ts:267
msgid "email.digest.seeAll"
msgstr "{n, plural, one {See the notification} other {See all # notifications}}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:273
#: api/mail/digest.ts:276
msgid "email.digest.network"
msgstr "From people you follow"
#. js-lingui-explicit-id
#: api/mail/digest.ts:279
#: api/mail/digest.ts:282
msgid "email.digest.more"
msgstr "{n} more on your Followed feed"
#. js-lingui-explicit-id
#: api/mail/digest.ts:291
#: api/mail/digest.ts:294
#: src/pages/Community.tsx:127
msgid "digest.topMonth"
msgstr "Top this month"
#. js-lingui-explicit-id
#: api/mail/digest.ts:291
#: api/mail/digest.ts:294
#: src/pages/Community.tsx:126
msgid "digest.topWeek"
msgstr "Top this week"
#. js-lingui-explicit-id
#: api/mail/digest.ts:307
#: api/mail/digest.ts:310
#: src/components/layout/UserMenu.tsx:94
#: src/pages/Community.tsx:73
#: src/pages/Community.tsx:100
@@ -190,113 +195,113 @@ msgid "digest.community"
msgstr "Community"
#. js-lingui-explicit-id
#: api/mail/digest.ts:314
#: api/mail/digest.ts:317
#: src/pages/Community.tsx:48
msgid "digest.stat.dumps"
msgstr "{n, plural, one {dump} other {dumps}}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:320
#: api/mail/digest.ts:323
#: src/pages/Community.tsx:53
msgid "digest.stat.chat"
msgstr "{n, plural, one {chat message} other {chat messages}}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:329
#: api/mail/digest.ts:332
#: src/pages/Community.tsx:133
msgid "digest.newMembers"
msgstr "New members"
#. js-lingui-explicit-id
#: api/mail/digest.ts:348
#: api/mail/digest.ts:351
#: src/pages/Community.tsx:154
msgid "digest.newPlaylists"
msgstr "New public playlists"
#. js-lingui-explicit-id
#: api/mail/digest.ts:363
#: api/mail/digest.ts:366
msgid "email.digest.inChat"
msgstr "In the chat"
#. js-lingui-explicit-id
#: api/mail/digest.ts:365
#: api/mail/digest.ts:368
msgid "email.digest.chatWeek"
msgstr "{n, plural, one {# message this week} other {# messages this week}}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:368
#: api/mail/digest.ts:371
msgid "email.digest.openChat"
msgstr "Open the chat"
#. js-lingui-explicit-id
#: api/mail/digest.ts:377
#: api/mail/digest.ts:380
msgid "email.digest.totals"
msgstr "{dumps, plural, one {# dump} other {# dumps}}, {upvotes, plural, one {# upvote} other {# upvotes}} and {comments, plural, one {# comment} other {# comments}}."
#. js-lingui-explicit-id
#: api/mail/digest.ts:383
#: api/mail/digest.ts:386
msgid "email.digest.communityPage"
msgstr "See it all on the community page"
#. js-lingui-explicit-id
#: api/mail/digest.ts:393
#: api/mail/digest.ts:396
msgid "email.digest.monthly.reason"
msgstr "You're getting the monthly recap because it's on in your settings."
#. js-lingui-explicit-id
#: api/mail/digest.ts:394
#: api/mail/digest.ts:397
msgid "email.digest.weekly.reason"
msgstr "You're getting the weekly digest because it's on in your settings."
#. js-lingui-explicit-id
#: api/mail/digest.ts:398
#: api/mail/digest.ts:401
#: src/pages/Unsubscribe.tsx:118
msgid "digest.monthly.off"
msgstr "Turn off monthly recaps"
#. js-lingui-explicit-id
#: api/mail/digest.ts:398
#: api/mail/digest.ts:401
#: src/pages/Unsubscribe.tsx:117
msgid "digest.weekly.off"
msgstr "Turn off weekly digests"
#. js-lingui-explicit-id
#: api/mail/digest.ts:403
#: api/mail/digest.ts:406
msgid "email.settings"
msgstr "Settings"
#. js-lingui-explicit-id
#: api/mail/digest.ts:411
#: api/mail/digest.ts:414
msgid "email.digest.monthly.subject"
msgstr "The month on {site}, {range}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:415
#: api/mail/digest.ts:418
msgid "email.digest.weekly.subject"
msgstr "Your week on {site}, {range}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:438
#: api/mail/digest.ts:441
msgid "email.digest.pre.network"
msgstr "{n, plural, one {# new dump from people you follow} other {# new dumps from people you follow}}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:447
#: api/mail/digest.ts:450
msgid "email.digest.pre.topMonth"
msgstr "{n, plural, one {the most upvoted dump of the month} other {the # most upvoted dumps of the month}}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:451
#: api/mail/digest.ts:454
msgid "email.digest.pre.members"
msgstr "{n, plural, one {# new member} other {# new members}}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:454
#: api/mail/digest.ts:457
msgid "email.digest.pre.playlists"
msgstr "{n, plural, one {# new playlist} other {# new playlists}}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:458
#: api/mail/digest.ts:461
msgid "email.digest.pre.topWeek"
msgstr "{n, plural, one {the most upvoted dump of the week} other {the # most upvoted dumps of the week}}"
@@ -401,12 +406,12 @@ msgstr "{0, plural, one {and # earlier dump} other {and # earlier dumps}}"
#. placeholder {0}: typingNames[0]
#. placeholder {1}: typingNames[1]
#: src/components/chat/ChatModal.tsx:649
#: src/components/chat/ChatModal.tsx:650
msgid "{0} and {1} are typing…"
msgstr "{0} and {1} are typing…"
#. placeholder {0}: typingNames[0]
#: src/components/chat/ChatModal.tsx:647
#: src/components/chat/ChatModal.tsx:648
msgid "{0} is typing…"
msgstr "{0} is typing…"
@@ -425,11 +430,11 @@ msgstr "{0}–{1} characters: letters, numbers, or underscores"
msgid "{label} ({count})"
msgstr "{label} ({count})"
#: src/pages/Notifications.tsx:499
#: src/pages/Notifications.tsx:508
msgid "{totalUnread, plural, one {# new} other {# new}}"
msgstr "{totalUnread, plural, one {# new} other {# new}}"
#: src/components/chat/ChatModal.tsx:778
#: src/components/chat/ChatModal.tsx:779
msgid "{unseenCount} new messages"
msgstr "{unseenCount} new messages"
@@ -480,7 +485,12 @@ msgid "<0>{0}</0> liked your comment on <1>{1}</1>"
msgstr "<0>{0}</0> liked your comment on <1>{1}</1>"
#. placeholder {0}: d.mentionerUsername
#: src/pages/Notifications.tsx:265
#: src/pages/Notifications.tsx:266
msgid "<0>{0}</0> mentioned everyone in <1>{where}</1>"
msgstr "<0>{0}</0> mentioned everyone in <1>{where}</1>"
#. placeholder {0}: d.mentionerUsername
#: src/pages/Notifications.tsx:274
msgid "<0>{0}</0> mentioned you in <1>{where}</1>"
msgstr "<0>{0}</0> mentioned you in <1>{where}</1>"
@@ -507,7 +517,7 @@ msgstr "<0>{0}</0> upvoted <1>{1}</1>"
msgid "<0>{0}</0> was added to <1>{1}</1>"
msgstr "<0>{0}</0> was added to <1>{1}</1>"
#: src/components/chat/ChatModal.tsx:777
#: src/components/chat/ChatModal.tsx:778
msgid "1 new message"
msgstr "1 new message"
@@ -597,7 +607,7 @@ msgid "Back to login"
msgstr "Back to login"
#: src/contexts/ws/WSProvider.tsx:395
#: src/contexts/ws/WSProvider.tsx:761
#: src/contexts/ws/WSProvider.tsx:764
msgid "Can't connect to the live updates server. Upvotes and notifications may not sync until it reconnects."
msgstr "Can't connect to the live updates server. Upvotes and notifications may not sync until it reconnects."
@@ -620,8 +630,8 @@ msgstr "Cancel"
msgid "Cancel removal"
msgstr "Cancel removal"
#: src/components/chat/ChatModal.tsx:838
#: src/components/chat/ChatModal.tsx:839
#: src/components/chat/ChatModal.tsx:840
msgid "Cancel reply"
msgstr "Cancel reply"
@@ -659,7 +669,7 @@ msgstr "Change password…"
msgid "Change skin tone"
msgstr "Change skin tone"
#: src/components/chat/ChatModal.tsx:738
#: src/components/chat/ChatModal.tsx:739
#: src/components/layout/ChatButton.tsx:30
#: src/components/layout/ChatFab.tsx:54
#: src/components/layout/ChatFab.tsx:55
@@ -709,7 +719,7 @@ msgstr "Color scheme"
msgid "Confirm new password"
msgstr "Confirm new password"
#: src/contexts/ws/WSProvider.tsx:754
#: src/contexts/ws/WSProvider.tsx:757
msgid "Connection lost — this message may not have been sent"
msgstr "Connection lost — this message may not have been sent"
@@ -746,7 +756,7 @@ msgstr "Could not save"
msgid "Couldn't load a preview for this link — check it, or post it as-is and refresh the preview later."
msgstr "Couldn't load a preview for this link — check it, or post it as-is and refresh the preview later."
#: src/components/chat/ChatModal.tsx:664
#: src/components/chat/ChatModal.tsx:665
msgid "Couldn't load the chat."
msgstr "Couldn't load the chat."
@@ -788,9 +798,9 @@ msgstr "Default tab"
#: src/components/category/CategoryManager.tsx:236
#: src/components/category/CategoryManager.tsx:237
#: src/components/chat/ChatMessageItem.tsx:115
#: src/components/chat/ChatMessageItem.tsx:116
#: src/components/chat/ChatMessageItem.tsx:214
#: src/components/chat/ChatMessageItem.tsx:118
#: src/components/chat/ChatMessageItem.tsx:119
#: src/components/chat/ChatMessageItem.tsx:220
#: src/components/comment/CommentNode.tsx:265
#: src/components/comment/CommentNode.tsx:271
#: src/components/form/DeleteButton.tsx:36
@@ -832,7 +842,7 @@ msgstr "Delete this comment?"
msgid "Delete this dump? This cannot be undone."
msgstr "Delete this dump? This cannot be undone."
#: src/components/chat/ChatMessageItem.tsx:213
#: src/components/chat/ChatMessageItem.tsx:219
msgid "Delete this message?"
msgstr "Delete this message?"
@@ -857,12 +867,12 @@ msgstr "Description (optional)"
msgid "Discard"
msgstr "Discard"
#: src/components/chat/ChatModal.tsx:742
#: src/components/chat/ChatModal.tsx:743
msgid "Disconnected — reconnecting…"
msgstr "Disconnected — reconnecting…"
#: src/components/chat/ChatModal.tsx:814
#: src/components/chat/ChatModal.tsx:815
#: src/components/chat/ChatModal.tsx:816
msgid "Dismiss"
msgstr "Dismiss"
@@ -910,12 +920,12 @@ msgstr "Dumps"
msgid "Dumps ({0})"
msgstr "Dumps ({0})"
#: src/pages/Notifications.tsx:305
#: src/pages/Notifications.tsx:314
msgid "Earlier"
msgstr "Earlier"
#: src/components/chat/ChatMessageItem.tsx:104
#: src/components/chat/ChatMessageItem.tsx:105
#: src/components/chat/ChatMessageItem.tsx:107
#: src/components/chat/ChatMessageItem.tsx:108
#: src/components/chat/PendingItem.tsx:93
#: src/components/comment/CommentNode.tsx:256
#: src/components/playlist/PlaylistHeader.tsx:59
@@ -941,14 +951,14 @@ msgstr "Edit email"
msgid "Edit title"
msgstr "Edit title"
#: src/components/chat/ChatMessageItem.tsx:128
#: src/components/chat/ChatMessageItem.tsx:131
msgid "edited"
msgstr "edited"
#. placeholder {0}: relativeTime(comment.updatedAt)
#. placeholder {0}: relativeTime(dump.updatedAt)
#. placeholder {0}: relativeTime(message.updatedAt)
#: src/components/chat/ChatMessageItem.tsx:129
#: src/components/chat/ChatMessageItem.tsx:132
#: src/components/comment/CommentNode.tsx:205
#: src/components/playlist/PlaylistHeader.tsx:94
#: src/pages/Dump.tsx:505
@@ -958,7 +968,7 @@ msgstr "edited {0}"
#. placeholder {0}: comment.updatedAt.toLocaleString()
#. placeholder {0}: dump.updatedAt.toLocaleString()
#. placeholder {0}: message.updatedAt.toLocaleString()
#: src/components/chat/ChatMessageItem.tsx:125
#: src/components/chat/ChatMessageItem.tsx:128
#: src/components/comment/CommentNode.tsx:203
#: src/components/playlist/PlaylistHeader.tsx:92
#: src/pages/Dump.tsx:503
@@ -1132,8 +1142,8 @@ msgstr "image"
msgid "In collections"
msgstr "In collections"
#: src/components/editor/TextEditor.tsx:573
#: src/components/editor/TextEditor.tsx:575
#: src/components/editor/TextEditor.tsx:579
#: src/components/editor/TextEditor.tsx:581
msgid "Insert emoji"
msgstr "Insert emoji"
@@ -1190,7 +1200,7 @@ msgstr "Link"
msgid "Link or file"
msgstr "Link or file"
#: src/contexts/ws/WSProvider.tsx:760
#: src/contexts/ws/WSProvider.tsx:763
msgid "Live updates are temporarily disconnected. Trying to reconnect…"
msgstr "Live updates are temporarily disconnected. Trying to reconnect…"
@@ -1202,7 +1212,7 @@ msgstr "Live updates unavailable."
msgid "Load more"
msgstr "Load more"
#: src/components/chat/ChatModal.tsx:763
#: src/components/chat/ChatModal.tsx:764
msgid "Load older messages"
msgstr "Load older messages"
@@ -1211,7 +1221,7 @@ msgstr "Load older messages"
msgid "Loading dump…"
msgstr "Loading dump…"
#: src/components/chat/ChatModal.tsx:656
#: src/components/chat/ChatModal.tsx:657
msgid "Loading messages…"
msgstr "Loading messages…"
@@ -1228,7 +1238,7 @@ msgid "Loading profile…"
msgstr "Loading profile…"
#: src/components/category/CategoryManager.tsx:60
#: src/components/chat/ChatModal.tsx:762
#: src/components/chat/ChatModal.tsx:763
#: src/components/editor/EmojiPickerPopup.tsx:125
#: src/components/playlist/PlaylistMembershipPanel.tsx:45
#: src/components/shared/ListState.tsx:38
@@ -1293,7 +1303,7 @@ msgstr "Mute"
msgid "Name"
msgstr "Name"
#: src/components/chat/ChatModal.tsx:691
#: src/components/chat/ChatModal.tsx:692
#: src/components/feed/FeedTabBar.tsx:40
#: src/pages/Settings.tsx:52
msgid "New"
@@ -1349,7 +1359,7 @@ msgstr "No followed playlists yet."
msgid "No invitees yet."
msgstr "No invitees yet."
#: src/components/chat/ChatModal.tsx:675
#: src/components/chat/ChatModal.tsx:676
msgid "No messages yet. Say hello!"
msgstr "No messages yet. Say hello!"
@@ -1366,7 +1376,7 @@ msgstr "No playlists match \"{q}\"."
msgid "No playlists yet."
msgstr "No playlists yet."
#: src/contexts/ws/WSProvider.tsx:929
#: src/contexts/ws/WSProvider.tsx:932
msgid "No reply from the server — this message may not have been sent"
msgstr "No reply from the server — this message may not have been sent"
@@ -1388,13 +1398,13 @@ msgstr "Nothing happened this week."
#: src/components/profile/ProfileDumpsTab.tsx:53
#: src/components/profile/ProfileOverviewTab.tsx:47
#: src/pages/Notifications.tsx:513
#: src/pages/Notifications.tsx:522
msgid "Nothing here yet."
msgstr "Nothing here yet."
#: src/components/layout/NotificationBell.tsx:57
#: src/pages/Notifications.tsx:378
#: src/pages/Notifications.tsx:496
#: src/pages/Notifications.tsx:387
#: src/pages/Notifications.tsx:505
#: src/pages/Settings.tsx:128
msgid "Notifications"
msgstr "Notifications"
@@ -1411,7 +1421,7 @@ msgstr "Off"
msgid "On"
msgstr "On"
#: src/components/editor/TextEditor.tsx:385
#: src/components/editor/TextEditor.tsx:391
msgid "Only images can be dropped here."
msgstr "Only images can be dropped here."
@@ -1594,13 +1604,13 @@ msgstr "Renaming…"
msgid "Replace file"
msgstr "Replace file"
#: src/components/chat/ChatMessageItem.tsx:94
#: src/components/chat/ChatMessageItem.tsx:95
#: src/components/chat/ChatMessageItem.tsx:97
#: src/components/chat/ChatMessageItem.tsx:98
#: src/components/comment/CommentNode.tsx:244
msgid "Reply"
msgstr "Reply"
#: src/components/chat/ChatModal.tsx:826
#: src/components/chat/ChatModal.tsx:827
msgid "Replying to"
msgstr "Replying to"
@@ -1687,7 +1697,7 @@ msgstr "Searching…"
msgid "Seek"
msgstr "Seek"
#: src/components/chat/ChatModal.tsx:866
#: src/components/chat/ChatModal.tsx:868
msgid "Send"
msgstr "Send"
@@ -1715,7 +1725,7 @@ msgstr "Set new password"
msgid "Settings"
msgstr "Settings"
#: src/components/chat/ChatModal.tsx:650
#: src/components/chat/ChatModal.tsx:651
msgid "Several people are typing…"
msgstr "Several people are typing…"
@@ -1727,13 +1737,13 @@ msgstr "Single use, valid for 7 days."
msgid "slug"
msgstr "slug"
#: src/components/editor/TextEditor.tsx:343
#: src/components/editor/TextEditor.tsx:349
msgid "Some images couldn't be uploaded."
msgstr "Some images couldn't be uploaded."
#: src/components/form/FormError.tsx:31
#: src/components/layout/PageError.tsx:29
#: src/contexts/ws/WSProvider.tsx:729
#: src/contexts/ws/WSProvider.tsx:732
#: src/pages/PlaylistDetail.tsx:124
msgid "Something went wrong"
msgstr "Something went wrong"
@@ -1766,7 +1776,7 @@ msgstr "the chat"
msgid "The dump couldn't be removed. Try again."
msgstr "The dump couldn't be removed. Try again."
#: src/components/editor/TextEditor.tsx:344
#: src/components/editor/TextEditor.tsx:350
msgid "The image couldn't be uploaded."
msgstr "The image couldn't be uploaded."
@@ -1825,7 +1835,7 @@ msgstr "Title"
msgid "Title is required."
msgstr "Title is required."
#: src/pages/Notifications.tsx:303
#: src/pages/Notifications.tsx:312
#: src/utils/chat/time.ts:24
msgid "Today"
msgstr "Today"
@@ -1835,7 +1845,7 @@ msgstr "Today"
msgid "Track {0}"
msgstr "Track {0}"
#: src/components/chat/ChatModal.tsx:667
#: src/components/chat/ChatModal.tsx:668
msgid "Try again"
msgstr "Try again"
@@ -1851,7 +1861,7 @@ msgstr "Turn off the weekly digest?"
msgid "Turning off…"
msgstr "Turning off…"
#: src/components/chat/ChatModal.tsx:851
#: src/components/chat/ChatModal.tsx:852
msgid "Type a message…"
msgstr "Type a message…"
@@ -1892,7 +1902,7 @@ msgstr "Upload failed"
msgid "Uploading {0}%"
msgstr "Uploading {0}%"
#: src/components/editor/TextEditor.tsx:595
#: src/components/editor/TextEditor.tsx:601
msgid "Uploading image…"
msgstr "Uploading image…"
@@ -1990,7 +2000,7 @@ msgstr "Why?"
msgid "Write a reply…"
msgstr "Write a reply…"
#: src/pages/Notifications.tsx:304
#: src/pages/Notifications.tsx:313
#: src/utils/chat/time.ts:27
msgid "Yesterday"
msgstr "Yesterday"
@@ -2007,11 +2017,11 @@ msgstr "You won't get the monthly recap any more. You can turn it back on in you
msgid "You won't get the weekly digest any more. You can turn it back on in your settings."
msgstr "You won't get the weekly digest any more. You can turn it back on in your settings."
#: src/pages/Notifications.tsx:516
#: src/pages/Notifications.tsx:525
msgid "You'll be notified when someone follows your playlists, upvotes your dumps, or posts new content."
msgstr "You'll be notified when someone follows your playlists, upvotes your dumps, or posts new content."
#: src/contexts/ws/WSProvider.tsx:910
#: src/contexts/ws/WSProvider.tsx:913
msgid "You're offline — not sent"
msgstr "You're offline — not sent"

File diff suppressed because one or more lines are too long

View File

@@ -14,175 +14,180 @@ msgstr ""
"Language-Team: \n"
#. js-lingui-explicit-id
#: api/mail/digest.ts:129
#: api/mail/digest.ts:163
msgid "email.digest.hl.mentionEveryone"
msgstr "{who} a mentionné tout le monde dans {target}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:130
#: src/pages/Community.tsx:49
msgid "digest.count.upvotes"
msgstr "{n, plural, one {vote} other {votes}}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:131
#: api/mail/digest.ts:132
msgid "email.digest.count.followers"
msgstr "{n, plural, one {nouvel abonné} other {nouveaux abonnés}}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:133
#: api/mail/digest.ts:134
#: src/pages/Community.tsx:50
msgid "digest.count.comments"
msgstr "{n, plural, one {commentaire} other {commentaires}}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:135
#: api/mail/digest.ts:136
msgid "email.digest.count.mentions"
msgstr "{n, plural, one {mention} other {mentions}}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:137
#: api/mail/digest.ts:138
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:139
#: api/mail/digest.ts:140
msgid "email.digest.count.playlistFollows"
msgstr "{n, plural, one {abonnement à vos collections} other {abonnements à vos collections}}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:155
#: api/mail/digest.ts:156
msgid "email.digest.hl.mentionComment"
msgstr "{who} vous a mentionné dans un commentaire sur {target}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:158
#: api/mail/digest.ts:159
msgid "email.digest.hl.mentionIn"
msgstr "{who} vous a mentionné dans {target}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:160
#: api/mail/digest.ts:161
msgid "email.digest.hl.mentionPlaylist"
msgstr "{who} vous a mentionné dans la collection {target}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:162
#: api/mail/digest.ts:165
msgid "email.digest.hl.comment"
msgstr "{who} a commenté votre reco {target}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:164
#: api/mail/digest.ts:167
msgid "email.digest.hl.playlistFollow"
msgstr "{who} a suivi votre collection {target}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:166
#: api/mail/digest.ts:169
msgid "email.digest.hl.userFollow"
msgstr "{who} vous suit désormais"
#. js-lingui-explicit-id
#: api/mail/digest.ts:168
#: api/mail/digest.ts:171
msgid "email.digest.hl.commentLike"
msgstr "{who} a aimé votre commentaire sur {target}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:172
#: api/mail/digest.ts:175
msgid "email.digest.by"
msgstr "par @{username}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:174
#: api/mail/digest.ts:177
msgid "email.digest.addedTo"
msgstr "ajoutée à {playlist}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:175
#: api/mail/digest.ts:178
msgid "email.digest.upload"
msgstr "fichier"
#. js-lingui-explicit-id
#: api/mail/digest.ts:178
#: api/mail/digest.ts:181
#: src/pages/Community.tsx:141
msgid "digest.invitedByYou"
msgstr "sur votre invitation"
#. js-lingui-explicit-id
#: api/mail/digest.ts:179
#: api/mail/digest.ts:182
#: src/pages/Community.tsx:143
msgid "digest.invitedBy"
msgstr "sur invitation de @{username}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:180
#: api/mail/digest.ts:183
msgid "email.digest.andMore"
msgstr "et {n} de plus"
#. js-lingui-explicit-id
#: api/mail/digest.ts:182
#: api/mail/digest.ts:185
msgid "email.digest.playlistMeta"
msgstr "par @{username} · {n, plural, one {# reco} other {# recos}}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:205
#: api/mail/digest.ts:208
msgid "email.digest.yours"
msgstr "à vous"
#. js-lingui-explicit-id
#: api/mail/digest.ts:223
#: api/mail/digest.ts:226
#: src/pages/Settings.tsx:154
msgid "digest.monthly"
msgstr "Récap mensuel"
#. js-lingui-explicit-id
#: api/mail/digest.ts:223
#: api/mail/digest.ts:226
#: src/pages/Settings.tsx:145
msgid "digest.weekly"
msgstr "Résumé hebdomadaire"
#. js-lingui-explicit-id
#: api/mail/digest.ts:231
#: api/mail/digest.ts:234
msgid "email.digest.monthly.title"
msgstr "Le mois sur {site}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:232
#: api/mail/digest.ts:235
msgid "email.digest.weekly.title"
msgstr "Votre semaine, {username}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:240
#: api/mail/digest.ts:243
msgid "email.digest.forYou"
msgstr "Pour vous"
#. js-lingui-explicit-id
#: api/mail/digest.ts:249
#: api/mail/digest.ts:252
msgid "email.digest.theChat"
msgstr "la tribune"
#. js-lingui-explicit-id
#: api/mail/digest.ts:264
#: api/mail/digest.ts:267
msgid "email.digest.seeAll"
msgstr "{n, plural, one {Voir la notification} other {Voir les # notifications}}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:273
#: api/mail/digest.ts:276
msgid "email.digest.network"
msgstr "De ceux que vous suivez"
#. js-lingui-explicit-id
#: api/mail/digest.ts:279
#: api/mail/digest.ts:282
msgid "email.digest.more"
msgstr "{n} de plus dans votre fil Suivi"
#. js-lingui-explicit-id
#: api/mail/digest.ts:291
#: api/mail/digest.ts:294
#: src/pages/Community.tsx:127
msgid "digest.topMonth"
msgstr "Les plus votées du mois"
#. js-lingui-explicit-id
#: api/mail/digest.ts:291
#: api/mail/digest.ts:294
#: src/pages/Community.tsx:126
msgid "digest.topWeek"
msgstr "Les plus votées de la semaine"
#. js-lingui-explicit-id
#: api/mail/digest.ts:307
#: api/mail/digest.ts:310
#: src/components/layout/UserMenu.tsx:94
#: src/pages/Community.tsx:73
#: src/pages/Community.tsx:100
@@ -190,113 +195,113 @@ msgid "digest.community"
msgstr "Communauté"
#. js-lingui-explicit-id
#: api/mail/digest.ts:314
#: api/mail/digest.ts:317
#: src/pages/Community.tsx:48
msgid "digest.stat.dumps"
msgstr "{n, plural, one {reco} other {recos}}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:320
#: api/mail/digest.ts:323
#: src/pages/Community.tsx:53
msgid "digest.stat.chat"
msgstr "{n, plural, one {message dans la tribune} other {messages dans la tribune}}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:329
#: api/mail/digest.ts:332
#: src/pages/Community.tsx:133
msgid "digest.newMembers"
msgstr "Nouveaux membres"
#. js-lingui-explicit-id
#: api/mail/digest.ts:348
#: api/mail/digest.ts:351
#: src/pages/Community.tsx:154
msgid "digest.newPlaylists"
msgstr "Nouvelles collections publiques"
#. js-lingui-explicit-id
#: api/mail/digest.ts:363
#: api/mail/digest.ts:366
msgid "email.digest.inChat"
msgstr "Dans la tribune"
#. js-lingui-explicit-id
#: api/mail/digest.ts:365
#: api/mail/digest.ts:368
msgid "email.digest.chatWeek"
msgstr "{n, plural, one {# message cette semaine} other {# messages cette semaine}}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:368
#: api/mail/digest.ts:371
msgid "email.digest.openChat"
msgstr "Ouvrir la tribune"
#. js-lingui-explicit-id
#: api/mail/digest.ts:377
#: api/mail/digest.ts:380
msgid "email.digest.totals"
msgstr "{dumps, plural, one {# reco} other {# recos}}, {upvotes, plural, one {# vote} other {# votes}} et {comments, plural, one {# commentaire} other {# commentaires}}."
#. js-lingui-explicit-id
#: api/mail/digest.ts:383
#: api/mail/digest.ts:386
msgid "email.digest.communityPage"
msgstr "Tout voir sur la page de la communauté"
#. js-lingui-explicit-id
#: api/mail/digest.ts:393
#: api/mail/digest.ts:396
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:394
#: api/mail/digest.ts:397
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/digest.ts:398
#: api/mail/digest.ts:401
#: src/pages/Unsubscribe.tsx:118
msgid "digest.monthly.off"
msgstr "Ne plus recevoir le récap mensuel"
#. js-lingui-explicit-id
#: api/mail/digest.ts:398
#: api/mail/digest.ts:401
#: src/pages/Unsubscribe.tsx:117
msgid "digest.weekly.off"
msgstr "Ne plus recevoir le résumé hebdomadaire"
#. js-lingui-explicit-id
#: api/mail/digest.ts:403
#: api/mail/digest.ts:406
msgid "email.settings"
msgstr "Paramètres"
#. js-lingui-explicit-id
#: api/mail/digest.ts:411
#: api/mail/digest.ts:414
msgid "email.digest.monthly.subject"
msgstr "Le mois sur {site}, {range}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:415
#: api/mail/digest.ts:418
msgid "email.digest.weekly.subject"
msgstr "Votre semaine sur {site}, {range}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:438
#: api/mail/digest.ts:441
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:447
#: api/mail/digest.ts:450
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:451
#: api/mail/digest.ts:454
msgid "email.digest.pre.members"
msgstr "{n, plural, one {# nouveau membre} other {# nouveaux membres}}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:454
#: api/mail/digest.ts:457
msgid "email.digest.pre.playlists"
msgstr "{n, plural, one {# nouvelle collection} other {# nouvelles collections}}"
#. js-lingui-explicit-id
#: api/mail/digest.ts:458
#: api/mail/digest.ts:461
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}}"
@@ -401,12 +406,12 @@ msgstr "{0, plural, one {et # reco plus ancienne} other {et # recos plus ancienn
#. placeholder {0}: typingNames[0]
#. placeholder {1}: typingNames[1]
#: src/components/chat/ChatModal.tsx:649
#: src/components/chat/ChatModal.tsx:650
msgid "{0} and {1} are typing…"
msgstr "{0} et {1} sont en train d'écrire…"
#. placeholder {0}: typingNames[0]
#: src/components/chat/ChatModal.tsx:647
#: src/components/chat/ChatModal.tsx:648
msgid "{0} is typing…"
msgstr "{0} est en train d'écrire…"
@@ -425,11 +430,11 @@ msgstr "{0}–{1} caractères : lettres, chiffres ou tirets bas"
msgid "{label} ({count})"
msgstr "{label} ({count})"
#: src/pages/Notifications.tsx:499
#: src/pages/Notifications.tsx:508
msgid "{totalUnread, plural, one {# new} other {# new}}"
msgstr "{totalUnread, plural, one {# nouvelle} other {# nouvelles}}"
#: src/components/chat/ChatModal.tsx:778
#: src/components/chat/ChatModal.tsx:779
msgid "{unseenCount} new messages"
msgstr "{unseenCount} nouveaux messages"
@@ -480,7 +485,12 @@ msgid "<0>{0}</0> liked your comment on <1>{1}</1>"
msgstr "<0>{0}</0> a aimé votre commentaire sur <1>{1}</1>"
#. placeholder {0}: d.mentionerUsername
#: src/pages/Notifications.tsx:265
#: src/pages/Notifications.tsx:266
msgid "<0>{0}</0> mentioned everyone in <1>{where}</1>"
msgstr "<0>{0}</0> a mentionné tout le monde dans <1>{where}</1>"
#. placeholder {0}: d.mentionerUsername
#: src/pages/Notifications.tsx:274
msgid "<0>{0}</0> mentioned you in <1>{where}</1>"
msgstr "<0>{0}</0> vous a mentionné dans <1>{where}</1>"
@@ -507,7 +517,7 @@ msgstr "<0>{0}</0> a voté pour <1>{1}</1>"
msgid "<0>{0}</0> was added to <1>{1}</1>"
msgstr "<0>{0}</0> a été ajouté à <1>{1}</1>"
#: src/components/chat/ChatModal.tsx:777
#: src/components/chat/ChatModal.tsx:778
msgid "1 new message"
msgstr "1 nouveau message"
@@ -597,7 +607,7 @@ msgid "Back to login"
msgstr "Retour à la connexion"
#: src/contexts/ws/WSProvider.tsx:395
#: src/contexts/ws/WSProvider.tsx:761
#: src/contexts/ws/WSProvider.tsx:764
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."
@@ -620,8 +630,8 @@ msgstr "Annuler"
msgid "Cancel removal"
msgstr "Annuler la suppression"
#: src/components/chat/ChatModal.tsx:838
#: src/components/chat/ChatModal.tsx:839
#: src/components/chat/ChatModal.tsx:840
msgid "Cancel reply"
msgstr "Annuler la réponse"
@@ -659,7 +669,7 @@ msgstr "Changer le mot de passe…"
msgid "Change skin tone"
msgstr "Changer la couleur de peau"
#: src/components/chat/ChatModal.tsx:738
#: src/components/chat/ChatModal.tsx:739
#: src/components/layout/ChatButton.tsx:30
#: src/components/layout/ChatFab.tsx:54
#: src/components/layout/ChatFab.tsx:55
@@ -709,7 +719,7 @@ msgstr "Thème de couleur"
msgid "Confirm new password"
msgstr "Confirmer le nouveau mot de passe"
#: src/contexts/ws/WSProvider.tsx:754
#: src/contexts/ws/WSProvider.tsx:757
msgid "Connection lost — this message may not have been sent"
msgstr "Connexion perdue — ce message n'a peut-être pas été envoyé"
@@ -746,7 +756,7 @@ msgstr "Sauvegarde impossible"
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:664
#: src/components/chat/ChatModal.tsx:665
msgid "Couldn't load the chat."
msgstr "Impossible de charger le chat."
@@ -788,9 +798,9 @@ msgstr "Onglet par défaut"
#: src/components/category/CategoryManager.tsx:236
#: src/components/category/CategoryManager.tsx:237
#: src/components/chat/ChatMessageItem.tsx:115
#: src/components/chat/ChatMessageItem.tsx:116
#: src/components/chat/ChatMessageItem.tsx:214
#: src/components/chat/ChatMessageItem.tsx:118
#: src/components/chat/ChatMessageItem.tsx:119
#: src/components/chat/ChatMessageItem.tsx:220
#: src/components/comment/CommentNode.tsx:265
#: src/components/comment/CommentNode.tsx:271
#: src/components/form/DeleteButton.tsx:36
@@ -832,7 +842,7 @@ msgstr "Supprimer ce commentaire ?"
msgid "Delete this dump? This cannot be undone."
msgstr "Supprimer cette reco ? Cette action est irréversible."
#: src/components/chat/ChatMessageItem.tsx:213
#: src/components/chat/ChatMessageItem.tsx:219
msgid "Delete this message?"
msgstr "Supprimer ce message ?"
@@ -857,12 +867,12 @@ msgstr "Description (facultatif)"
msgid "Discard"
msgstr "Abandonner"
#: src/components/chat/ChatModal.tsx:742
#: src/components/chat/ChatModal.tsx:743
msgid "Disconnected — reconnecting…"
msgstr "Déconnecté — reconnexion…"
#: src/components/chat/ChatModal.tsx:814
#: src/components/chat/ChatModal.tsx:815
#: src/components/chat/ChatModal.tsx:816
msgid "Dismiss"
msgstr "Fermer"
@@ -910,12 +920,12 @@ msgstr "Recos"
msgid "Dumps ({0})"
msgstr "Recos ({0})"
#: src/pages/Notifications.tsx:305
#: src/pages/Notifications.tsx:314
msgid "Earlier"
msgstr "Plus tôt"
#: src/components/chat/ChatMessageItem.tsx:104
#: src/components/chat/ChatMessageItem.tsx:105
#: src/components/chat/ChatMessageItem.tsx:107
#: src/components/chat/ChatMessageItem.tsx:108
#: src/components/chat/PendingItem.tsx:93
#: src/components/comment/CommentNode.tsx:256
#: src/components/playlist/PlaylistHeader.tsx:59
@@ -941,14 +951,14 @@ msgstr "Modifier l'e-mail"
msgid "Edit title"
msgstr "Modifier le titre"
#: src/components/chat/ChatMessageItem.tsx:128
#: src/components/chat/ChatMessageItem.tsx:131
msgid "edited"
msgstr "modifié"
#. placeholder {0}: relativeTime(comment.updatedAt)
#. placeholder {0}: relativeTime(dump.updatedAt)
#. placeholder {0}: relativeTime(message.updatedAt)
#: src/components/chat/ChatMessageItem.tsx:129
#: src/components/chat/ChatMessageItem.tsx:132
#: src/components/comment/CommentNode.tsx:205
#: src/components/playlist/PlaylistHeader.tsx:94
#: src/pages/Dump.tsx:505
@@ -958,7 +968,7 @@ msgstr "modifié {0}"
#. placeholder {0}: comment.updatedAt.toLocaleString()
#. placeholder {0}: dump.updatedAt.toLocaleString()
#. placeholder {0}: message.updatedAt.toLocaleString()
#: src/components/chat/ChatMessageItem.tsx:125
#: src/components/chat/ChatMessageItem.tsx:128
#: src/components/comment/CommentNode.tsx:203
#: src/components/playlist/PlaylistHeader.tsx:92
#: src/pages/Dump.tsx:503
@@ -1132,8 +1142,8 @@ msgstr "image"
msgid "In collections"
msgstr "Dans les collections"
#: src/components/editor/TextEditor.tsx:573
#: src/components/editor/TextEditor.tsx:575
#: src/components/editor/TextEditor.tsx:579
#: src/components/editor/TextEditor.tsx:581
msgid "Insert emoji"
msgstr "Insérer un emoji"
@@ -1190,7 +1200,7 @@ msgstr "Lien"
msgid "Link or file"
msgstr "Lien ou fichier"
#: src/contexts/ws/WSProvider.tsx:760
#: src/contexts/ws/WSProvider.tsx:763
msgid "Live updates are temporarily disconnected. Trying to reconnect…"
msgstr "Les mises à jour en direct sont temporairement interrompues. Tentative de reconnexion…"
@@ -1202,7 +1212,7 @@ msgstr "Mises à jour en direct indisponibles."
msgid "Load more"
msgstr "Charger plus"
#: src/components/chat/ChatModal.tsx:763
#: src/components/chat/ChatModal.tsx:764
msgid "Load older messages"
msgstr "Charger les messages plus anciens"
@@ -1211,7 +1221,7 @@ msgstr "Charger les messages plus anciens"
msgid "Loading dump…"
msgstr "Chargement de la reco…"
#: src/components/chat/ChatModal.tsx:656
#: src/components/chat/ChatModal.tsx:657
msgid "Loading messages…"
msgstr "Chargement des messages…"
@@ -1228,7 +1238,7 @@ msgid "Loading profile…"
msgstr "Chargement du profil…"
#: src/components/category/CategoryManager.tsx:60
#: src/components/chat/ChatModal.tsx:762
#: src/components/chat/ChatModal.tsx:763
#: src/components/editor/EmojiPickerPopup.tsx:125
#: src/components/playlist/PlaylistMembershipPanel.tsx:45
#: src/components/shared/ListState.tsx:38
@@ -1293,7 +1303,7 @@ msgstr "Couper le son"
msgid "Name"
msgstr "Nom"
#: src/components/chat/ChatModal.tsx:691
#: src/components/chat/ChatModal.tsx:692
#: src/components/feed/FeedTabBar.tsx:40
#: src/pages/Settings.tsx:52
msgid "New"
@@ -1349,7 +1359,7 @@ msgstr "Pas encore de collections suivies."
msgid "No invitees yet."
msgstr "Aucun invité pour le moment."
#: src/components/chat/ChatModal.tsx:675
#: src/components/chat/ChatModal.tsx:676
msgid "No messages yet. Say hello!"
msgstr "Aucun message pour l'instant. Dites bonjour !"
@@ -1366,7 +1376,7 @@ msgstr "Aucune collection ne correspond à « {q} »."
msgid "No playlists yet."
msgstr "Pas encore de collections."
#: src/contexts/ws/WSProvider.tsx:929
#: src/contexts/ws/WSProvider.tsx:932
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é"
@@ -1388,13 +1398,13 @@ msgstr "Rien de neuf cette semaine."
#: src/components/profile/ProfileDumpsTab.tsx:53
#: src/components/profile/ProfileOverviewTab.tsx:47
#: src/pages/Notifications.tsx:513
#: src/pages/Notifications.tsx:522
msgid "Nothing here yet."
msgstr "Rien ici pour l'instant."
#: src/components/layout/NotificationBell.tsx:57
#: src/pages/Notifications.tsx:378
#: src/pages/Notifications.tsx:496
#: src/pages/Notifications.tsx:387
#: src/pages/Notifications.tsx:505
#: src/pages/Settings.tsx:128
msgid "Notifications"
msgstr "Notifications"
@@ -1411,7 +1421,7 @@ msgstr "Désactivés"
msgid "On"
msgstr "Activés"
#: src/components/editor/TextEditor.tsx:385
#: src/components/editor/TextEditor.tsx:391
msgid "Only images can be dropped here."
msgstr "Seules les images peuvent être déposées ici."
@@ -1594,13 +1604,13 @@ msgstr "Renommage…"
msgid "Replace file"
msgstr "Remplacer le fichier"
#: src/components/chat/ChatMessageItem.tsx:94
#: src/components/chat/ChatMessageItem.tsx:95
#: src/components/chat/ChatMessageItem.tsx:97
#: src/components/chat/ChatMessageItem.tsx:98
#: src/components/comment/CommentNode.tsx:244
msgid "Reply"
msgstr "Répondre"
#: src/components/chat/ChatModal.tsx:826
#: src/components/chat/ChatModal.tsx:827
msgid "Replying to"
msgstr "En réponse à"
@@ -1687,7 +1697,7 @@ msgstr "Recherche…"
msgid "Seek"
msgstr "Position"
#: src/components/chat/ChatModal.tsx:866
#: src/components/chat/ChatModal.tsx:868
msgid "Send"
msgstr "Envoyer"
@@ -1715,7 +1725,7 @@ msgstr "Définir un nouveau mot de passe"
msgid "Settings"
msgstr "Paramètres"
#: src/components/chat/ChatModal.tsx:650
#: src/components/chat/ChatModal.tsx:651
msgid "Several people are typing…"
msgstr "Plusieurs personnes écrivent…"
@@ -1727,13 +1737,13 @@ msgstr "Usage unique, valable 7 jours."
msgid "slug"
msgstr "identifiant"
#: src/components/editor/TextEditor.tsx:343
#: src/components/editor/TextEditor.tsx:349
msgid "Some images couldn't be uploaded."
msgstr "Certaines images n'ont pas pu être envoyées."
#: src/components/form/FormError.tsx:31
#: src/components/layout/PageError.tsx:29
#: src/contexts/ws/WSProvider.tsx:729
#: src/contexts/ws/WSProvider.tsx:732
#: src/pages/PlaylistDetail.tsx:124
msgid "Something went wrong"
msgstr "Une erreur est survenue"
@@ -1766,7 +1776,7 @@ msgstr "la tribune"
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:344
#: src/components/editor/TextEditor.tsx:350
msgid "The image couldn't be uploaded."
msgstr "L'image n'a pas pu être envoyée."
@@ -1825,7 +1835,7 @@ msgstr "Titre"
msgid "Title is required."
msgstr "Un titre est requis."
#: src/pages/Notifications.tsx:303
#: src/pages/Notifications.tsx:312
#: src/utils/chat/time.ts:24
msgid "Today"
msgstr "Aujourd'hui"
@@ -1835,7 +1845,7 @@ msgstr "Aujourd'hui"
msgid "Track {0}"
msgstr "Piste {0}"
#: src/components/chat/ChatModal.tsx:667
#: src/components/chat/ChatModal.tsx:668
msgid "Try again"
msgstr "Réessayer"
@@ -1851,7 +1861,7 @@ msgstr "Ne plus recevoir le résumé hebdomadaire ?"
msgid "Turning off…"
msgstr "Désactivation…"
#: src/components/chat/ChatModal.tsx:851
#: src/components/chat/ChatModal.tsx:852
msgid "Type a message…"
msgstr "Écrivez un message…"
@@ -1892,7 +1902,7 @@ msgstr "Envoi échoué"
msgid "Uploading {0}%"
msgstr "Envoi {0} %"
#: src/components/editor/TextEditor.tsx:595
#: src/components/editor/TextEditor.tsx:601
msgid "Uploading image…"
msgstr "Envoi de l'image…"
@@ -1990,7 +2000,7 @@ msgstr "Pourquoi ?"
msgid "Write a reply…"
msgstr "Écrire une réponse…"
#: src/pages/Notifications.tsx:304
#: src/pages/Notifications.tsx:313
#: src/utils/chat/time.ts:27
msgid "Yesterday"
msgstr "Hier"
@@ -2007,11 +2017,11 @@ msgstr "Vous ne recevrez plus le récap mensuel. Vous pouvez le réactiver dans
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:516
#: src/pages/Notifications.tsx:525
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/contexts/ws/WSProvider.tsx:910
#: src/contexts/ws/WSProvider.tsx:913
msgid "You're offline — not sent"
msgstr "Hors ligne — message non envoyé"