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

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"