fix(files): аватары и баннеры доступны авторизованным пользователям
Аватар нельзя было показать в списке друзей: файл без комнаты был доступен только загрузившему. Добавлено назначение файла (`files.purpose`: attachment | avatar | banner, миграция 00006): аватары и баннеры отдаются любому авторизованному пользователю, вложения по-прежнему проверяются по правам комнаты, а непривязанные загрузки остаются приватными.
This commit is contained in:
@@ -56,7 +56,10 @@
|
||||
"message.edit_window_expired": "This message can no longer be edited: more than 24 hours passed.",
|
||||
"file.too_large": "The file exceeds the allowed size.",
|
||||
"request.bad": "Malformed request.",
|
||||
"file.not_found": "File not found."
|
||||
"file.not_found": "File not found.",
|
||||
"invite.expired": "This invite has expired.",
|
||||
"invite.exhausted": "This invite has no uses left.",
|
||||
"user.not_found": "No user with that username was found."
|
||||
},
|
||||
"theme": {
|
||||
"switchToLight": "Light theme",
|
||||
@@ -172,11 +175,8 @@
|
||||
"limitReached": "You have reached the server limit — remove one of your servers first."
|
||||
},
|
||||
"empty": {
|
||||
"title": "No servers yet",
|
||||
"body": "Join the instance main server or create your own.",
|
||||
"joinMain": "Join the main server",
|
||||
"joining": "Joining…",
|
||||
"noMain": "This instance has no main server configured — create your own."
|
||||
"title": "You have no servers yet",
|
||||
"body": "Create your own server or join one with an invite."
|
||||
},
|
||||
"leave": "Leave server",
|
||||
"leaveConfirm": "Leave the server “{{name}}”?",
|
||||
@@ -223,6 +223,74 @@
|
||||
"slowmode": "slowmode {{seconds}}s",
|
||||
"leaveHint": "You can leave the server in server settings → “Danger zone”."
|
||||
},
|
||||
"friends": {
|
||||
"rail": "Friends",
|
||||
"title": "Friends",
|
||||
"sidebarLabel": "Friends and direct messages",
|
||||
"sidebarHint": "Direct messages live here — they are not in the server rail.",
|
||||
"dmSection": "Direct messages",
|
||||
"dmEmpty": "No direct messages yet.",
|
||||
"friendsSection": "Friends",
|
||||
"friendsEmpty": "Your friend list is empty.",
|
||||
"open": "Open a conversation with {{name}}",
|
||||
"empty": {
|
||||
"title": "Add friends to start talking",
|
||||
"body": "Find someone by username and send a friend request — a direct conversation appears once it is accepted.",
|
||||
"search": "Find friends"
|
||||
},
|
||||
"search": {
|
||||
"title": "Friend search",
|
||||
"close": "Close search",
|
||||
"label": "Search by username",
|
||||
"placeholder": "Enter a username",
|
||||
"hint": "Type at least 2 characters.",
|
||||
"empty": "Nobody found.",
|
||||
"add": "Add friend",
|
||||
"adding": "Sending…",
|
||||
"requested": "Request sent",
|
||||
"friend": "Already friends",
|
||||
"message": "Message"
|
||||
},
|
||||
"requests": {
|
||||
"incoming": "Incoming requests",
|
||||
"outgoing": "Outgoing requests",
|
||||
"accept": "Accept",
|
||||
"decline": "Decline",
|
||||
"cancel": "Cancel"
|
||||
},
|
||||
"list": {
|
||||
"label": "Friend list",
|
||||
"message": "Message",
|
||||
"more": "Actions: {{name}}",
|
||||
"menu": "Actions for {{name}}",
|
||||
"remove": "Remove friend",
|
||||
"block": "Block"
|
||||
},
|
||||
"lastSeen": {
|
||||
"label": "Last seen",
|
||||
"online": "Online now",
|
||||
"unknown": "Offline for a while",
|
||||
"at": "Last seen: {{time}}"
|
||||
},
|
||||
"dm": {
|
||||
"unknown": "Recipient",
|
||||
"notFound": {
|
||||
"title": "Conversation unavailable",
|
||||
"body": "This direct conversation was not found: it may be deleted or closed to you."
|
||||
}
|
||||
}
|
||||
},
|
||||
"invites": {
|
||||
"title": "Join with an invite",
|
||||
"hint": "Paste a code or a link like https://<domain>/invite/<code>.",
|
||||
"label": "Invite code or link",
|
||||
"placeholder": "e.g. ab12cd or https://example.com/invite/ab12cd",
|
||||
"invalid": "Could not recognise the invite code.",
|
||||
"join": "Join",
|
||||
"joining": "Joining…",
|
||||
"members": "Members: {{count}}",
|
||||
"alreadyMember": "You are already on this server"
|
||||
},
|
||||
"chat": {
|
||||
"log": "Message log of {{name}}",
|
||||
"loadMore": "Load more",
|
||||
@@ -236,7 +304,9 @@
|
||||
"unknownAuthor": "unknown",
|
||||
"start": {
|
||||
"title": "This is the start of #{{name}}",
|
||||
"body": "There are no messages here yet. Say something — everyone in the channel will see it."
|
||||
"body": "There are no messages here yet. Say something — everyone in the channel will see it.",
|
||||
"directTitle": "This is the beginning of your conversation with {{name}}",
|
||||
"directBody": "No messages here yet. Say hello first."
|
||||
},
|
||||
"message": {
|
||||
"by": "Message from {{name}} in {{channel}}",
|
||||
@@ -290,7 +360,9 @@
|
||||
"tooLarge": "File “{{name}}” exceeds the {{limit}} limit",
|
||||
"rateLimited": "Too many messages. You can send again in {{seconds}} s.",
|
||||
"denied": "You are not allowed to send messages in this channel.",
|
||||
"readOnly": "This channel is read-only for you."
|
||||
"readOnly": "This channel is read-only for you.",
|
||||
"directLabel": "Message to {{name}}",
|
||||
"directPlaceholder": "Message {{name}}"
|
||||
},
|
||||
"typing_one": "{{names}} is typing…",
|
||||
"typing_few": "{{names}} are typing…",
|
||||
@@ -315,7 +387,8 @@
|
||||
"spoiler": {
|
||||
"show": "Reveal spoiler",
|
||||
"hide": "Hide spoiler"
|
||||
}
|
||||
},
|
||||
"logDirect": "Direct conversation with {{name}}"
|
||||
},
|
||||
"user": {
|
||||
"panelLabel": "User panel",
|
||||
|
||||
Reference in New Issue
Block a user