discourse/plugins/chat/config/locales/client.en.yml
Joffrey JAFFEUX 6b0aeced7e
DEV: rework the chat-live-pane (#20519)
This PR is introducing glimmer usage in the chat-live-pane, for components but also for models. RestModel usage has been dropped in favor of native classes.

Other changes/additions in this PR:

sticky dates, scrolling will now keep the date separator of the current section at the top of the screen
better unread management, marking a channel as unread will correctly mark the correct message and not mark the whole channel as read. Tracking state will also now correctly return unread count and unread mentions.
adds an animation on bottom arrow
better scrolling behavior, we should now always correctly keep the scroll position while loading more
reactions are now more reactive, and will update their tooltip without needed to close/reopen it
skeleton has been improved with placeholder images and reactions
when making a reaction on the desktop message actions, the menu won't move anymore
simplify logic and stop maintaining a list of unloaded messages
2023-03-03 13:09:25 +01:00

622 lines
30 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

en:
js:
admin:
site_settings:
categories:
chat: Chat
logs:
staff_actions:
actions:
chat_channel_status_change: "Chat channel status changed"
chat_channel_delete: "Chat channel deleted"
api:
scopes:
descriptions:
chat:
create_message: "Create a chat message in a specified channel."
about:
chat_messages_count: "Chat Messages"
chat_channels_count: "Chat Channels"
chat_users_count: "Chat Users"
chat:
dates:
time_tiny: "h:mm"
all_loaded: "Showing all messages"
already_enabled: "Chat is already enabled on this topic. Please refresh."
disabled_for_topic: "Chat is disabled on this topic."
bot: "bot"
create: "Create"
cancel: "Cancel"
cancel_reply: "Cancel reply"
chat_channels: "Channels"
browse_all_channels: "Browse all channels"
move_to_channel:
title: "Move messages to channel"
instructions:
one: "You are moving <strong>%{count}</strong> message. Select a destination channel. A placeholder message will be created in the <strong>%{channelTitle}</strong> channel to indicate that this message has been moved. Note that reply chains will not be preserved in the new channel, and messages in the old channel will no longer show as replying to any moved messages."
other: "You are moving <strong>%{count}</strong> messages. Select a destination channel. A placeholder message will be created in the <strong>%{channelTitle}</strong> channel to indicate that these messages have been moved. Note that reply chains will not be preserved in the new channel, and messages in the old channel will no longer show as replying to any moved messages."
confirm_move: "Move Messages"
channel_settings:
title: "Channel settings"
edit: "Edit"
add: "Add"
close_channel: "Close channel"
open_channel: "Open channel"
archive_channel: "Archive channel"
delete_channel: "Delete channel"
join_channel: "Join channel"
leave_channel: "Leave channel"
join: "Join"
leave: "Leave"
save_label:
mute_channel: "Mute channel preference saved"
desktop_notification: "Desktop notification preference saved"
mobile_notification: "Mobile push notification preference saved"
channel_archive:
title: "Archive Channel"
instructions: "<p>Archiving a channel puts it into read-only mode and moves all messages from the channel into a new or existing topic. No new messages can be sent, and no existing messages can be edited or deleted.</p><p>Are you sure you want to archive the <strong>%{channelTitle}</strong> channel?</p>"
process_started: "Archiving process has started. This modal will close shortly, and you will receive a personal message when the archive process is complete."
retry: "Retry"
channel_open:
title: "Open Channel"
instructions: "Reopens the channel, all users will be able to send messages and edit their existing messages."
channel_close:
title: "Close Channel"
instructions: "Closing the channel prevents non-staff users from sending new messages or editing existing messages. Are you sure you want to close this channel?"
channel_delete:
title: "Delete Channel"
instructions: "<p>Deletes the <strong>%{name}</strong> channel and chat history. All messages and related data, such as reactions and uploads, will be permanently deleted. If you want to preserve the channel history and decommission it, you may want to archive the channel instead.</p>
<p>Are you sure you want to <strong>permanently delete</strong> the channel? To confirm, type the name of the channel in the box below.</p>"
confirm: "I understand the consequences, delete the channel"
confirm_channel_name: "Enter channel name"
process_started: "The process to delete the channel has started. This modal will close shortly, you will no longer see the deleted channel anywhere."
channels_list_popup:
browse: "Browse channels"
create: "New channel"
click_to_join: "Click here to view available channels."
close: "Close"
collapse: "Collapse Chat Drawer"
confirm_flag: "Are you sure you want to flag %{username}'s message?"
deleted: "A message was deleted. [view]"
hidden: "A message was hidden. [view]"
delete: "Delete"
edited: "edited"
muted: "muted"
joined: "joined"
empty_state:
direct_message_cta: "Start a personal Chat"
direct_message: "You can also start a personal chat with one or more users."
title: "No channels found"
email_frequency:
description: "We'll only email you if we haven't seen you in the last 15 minutes."
never: "Never"
title: "Email Notifications"
when_away: "Only when away"
header_indicator_preference:
title: "Show activity indicator in header"
all_new: "All New Messages"
dm_and_mentions: "Direct Messages and Mentions"
never: "Never"
enable: "Enable chat"
flag: "Flag"
emoji: "Insert emoji"
flagged: "This message has been flagged for review"
invalid_access: "You don't have access to view this chat channel"
invitation_notification: "<span>%{username}</span> <span>invited you to join a chat channel</span>"
in_reply_to: "In reply to"
heading: "Chat"
join: "Join"
last_visit: "last visit"
mention_warning:
dismiss: "dismiss"
cannot_see: "%{username} can't access this channel and was not notified."
cannot_see_multiple:
one: "%{username} and %{count} other user cannot access this channel and were not notified."
other: "%{username} and %{count} other users cannot access this channel and were not notified."
invitations_sent:
one: "Invitation sent"
other: "Invitations sent"
invite: "Invite to channel"
without_membership: "%{username} has not joined this channel."
without_membership_multiple:
one: "%{username} and %{count} other user have not joined this channel."
other: "%{username} and %{count} other users have not joined this channel."
group_mentions_disabled: "%{group_name} doesn't allow mentions."
group_mentions_disabled_multiple:
one: "%{group_name} and %{count} other group don't allow mentions."
other: "%{group_name} and %{count} other groups don't allow mentions."
too_many_members: "%{group_name} has too many members. No one was notified."
too_many_members_multiple:
one: "%{group_name} and %{count} other group have too many members. No one was notified."
other: "%{group_name} and %{count} other groups have too many members. No one was notified."
groups:
header:
some: "Some users won't be notified"
all: "Nobody will be notified"
unreachable_1: "@%{group} doesn't allow mentions."
unreachable_2: "@%{group1} and @%{group2} don't allow mentions."
unreachable_multiple:
one: "@%{group} and %{count} other group don't allow mentions."
other: "@%{group} and %{count} other groups don't allow mentions."
too_many_members_MF: |
{ groupCount, plural,
=1 {
{ isAdmin, select,
true {
{ notificationLimit, plural,
one {Mentioning @{group1} exceeds the <a href="{siteSettingUrl}" target="_blank">notification limit</a> of # user.}
other {Mentioning @{group1} exceeds the <a href="{siteSettingUrl}" target="_blank">notification limit</a> of # users.}
}
}
false {
{ notificationLimit, plural,
one {Mentioning @{group1} exceeds the notification limit of # user.}
other {Mentioning @{group1} exceeds the notification limit of # users.}
}
}
other {}
}
}
=2 {
{ isAdmin, select,
true {
{ notificationLimit, plural,
one {Mentioning @{group1} and @{group2} exceeds the <a href="{siteSettingUrl}" target="_blank">notification limit</a> of # user.}
other {Mentioning @{group1} and @{group2} exceeds the <a href="{siteSettingUrl}" target="_blank">notification limit</a> of # users.}
}
}
false {
{ notificationLimit, plural,
one {Mentioning @{group1} and @{group2} exceeds the notification limit of # user.}
other {Mentioning @{group1} and @{group2} exceeds the notification limit of # users.}
}
}
other {}
}
}
other {
{ isAdmin, select,
true {
{ notificationLimit, plural,
one {Mentioning these {groupCount} groups exceeds the <a href="{siteSettingUrl}" target="_blank">notification limit</a> of # user.}
other {Mentioning these {groupCount} groups exceeds the <a href="{siteSettingUrl}" target="_blank">notification limit</a> of # users.}
}
}
false {
{ notificationLimit, plural,
one {Mentioning these {groupCount} groups exceeds the notification limit of # user.}
other {Mentioning these {groupCount} groups exceeds the notification limit of # users.}
}
}
other {}
}
}
}
too_many_mentions:
one: "This message exceeds the notification limit of %{count} mention."
other: "This message exceeds the notification limit of %{count} mentions."
too_many_mentions_admin:
one: 'This message exceeds the <a href="%{siteSettingUrl}" target="_blank">notification limit</a> of %{count} mention.'
other: 'This message exceeds the <a href="%{siteSettingUrl}" target="_blank">notification limit</a> of %{count} mentions.'
aria_roles:
header: "Chat header"
composer: "Chat composer"
channels_list: "Chat channels list"
no_public_channels: "You have not joined any channels."
only_chat_push_notifications:
title: "Only send chat push notifications"
description: "Block all non-chat push notifications from being sent"
ignore_channel_wide_mention:
title: "Ignore channel-wide mentions"
description: "Do not send notifications for channel-wide mentions (@here and @all)"
open: "Open chat"
open_full_page: "Open full-screen chat"
close_full_page: "Close full-screen chat"
open_message: "Open message in chat"
placeholder_self: "Jot something down"
placeholder_channel: "Chat with %{channelName}"
placeholder_users: "Chat with %{commaSeparatedNames}"
placeholder_new_message_disallowed:
archived: "Channel is archived, you cannot send new messages right now."
closed: "Channel is closed, you cannot send new messages right now."
read_only: "Channel is read only, you cannot send new messages right now."
placeholder_silenced: "You cannot send messages at this time."
placeholder_start_conversation: "Start a conversation with ..."
placeholder_start_conversation_users: "Start a conversation with %{commaSeparatedUsernames}"
remove_upload: "Remove file"
react: "React with emoji"
reply: "Reply"
edit: "Edit"
copy_link: "Copy link"
rebake_message: "Rebuild HTML"
retry_staged_message:
title: "Network error"
action: "Send again?"
unreliable_network: "Network is unreliable, sending messages and saving draft might not work"
bookmark_message: "Bookmark"
bookmark_message_edit: "Edit Bookmark"
restore: "Restore deleted message"
save: "Save"
select: "Select"
silence: "Silence user"
return_to_list: "Return to channels list"
scroll_to_bottom: "Scroll to bottom"
scroll_to_new_messages: "See new messages"
sound:
title: "Desktop chat notification sound"
sounds:
none: "None"
bell: "Bell"
ding: "Ding"
title: "chat"
title_capitalized: "Chat"
upload: "Attach a file"
uploaded_files:
one: "%{count} file"
other: "%{count} files"
you_flagged: "You flagged this message"
exit: "back"
channel_status:
read_only_header: "Channel is read only"
read_only: "Read Only"
archived_header: "Channel is archived"
archived: "Archived"
archive_failed: "Archive channel failed. %{completed}/%{total} messages have been archived. <a target=\"_blank\" href=\"%{topic_url}\">the destination topic</a>. Press retry to attempt to complete the archive."
archive_failed_no_topic: "Archive channel failed. %{completed}/%{total} messages have been archived, the destination topic was not created. Press retry to attempt to complete the archive."
archive_completed: "See <a target=\"_blank\" href=\"%{topic_url}\">the archive topic</a>"
closed_header: "Channel is closed"
closed: "Closed"
open_header: "Channel is open"
open: "Open"
browse:
back: "Back"
title: Channels
filter_all: All
filter_open: Opened
filter_closed: Closed
filter_archived: Archived
filter_input_placeholder: Search channel by name
chat_message_separator:
today: Today
yesterday: Yesterday
members_view:
filter_placeholder: Find members
about_view:
associated_topic: Linked topic
associated_category: Linked category
title: Title
name: Name
description: Description
channel_info:
back_to_all_channels: "All channels"
back_to_channel: "Back"
tabs:
about: About
members: Members
settings: Settings
channel_edit_name_slug_modal:
title: Edit channel
input_placeholder: Add a name
slug_description: A channel slug is used in the URL instead of the channel name
name: Channel name
slug: Channel slug (optional)
channel_edit_description_modal:
title: Edit description
input_placeholder: Add a description
description: Tell people what this channel is all about
direct_message_creator:
title: New Message
prefix: "To:"
no_results: No results
selected_user_title: "Deselect %{username}"
channel_selector:
title: "Jump to channel"
no_channels: "No channels match your search"
channel:
no_memberships: This channel has no members
no_memberships_found: No members found
memberships_count:
one: "%{count} member"
other: "%{count} members"
create_channel:
auto_join_users:
public_category_warning: "%{category} is a public category. Automatically add all recently active users to this channel?"
warning_1_group:
one: "Automatically add %{count} user from %{group}?"
other: "Automatically add %{count} users from %{group}?"
warning_2_groups:
one: "Automatically add %{count} user from %{group1} and %{group2}?"
other: "Automatically add %{count} users from %{group1} and %{group2}?"
warning_multiple_groups_MF: |
{ groupCount, plural,
one {
{ userCount, plural,
one {Automatically add {userCount} user from {groupName} and {groupCount} other group?}
other {Automatically add {userCount} users from {groupName} and {groupCount} other group?}
}
}
other {
{ userCount, plural,
one {Automatically add {userCount} user from {groupName} and {groupCount} other groups?}
other {Automatically add {userCount} users from {groupName} and {groupCount} other groups?}
}
}
}
choose_category:
label: "Choose a category"
none: "select one..."
default_hint: Manage access by visiting <a href=%{link} target="_blank">%{category} security settings</a>
hint_1_group: 'Users in %{group} will have access to this channel per the <a href="%{settingLink}" target="_blank">security settings</a>'
hint_2_groups: 'Users in %{group1} and %{group2} will have access to this channel per the <a href="%{settingLink}" target="_blank">security settings</a>'
hint_multiple_groups:
one: 'Users in %{group} and %{count} other group will have access to this channel per the <a href="%{settingLink}" target="_blank">security settings</a>'
other: 'Users in %{group} and %{count} other groups will have access to this channel per the <a href="%{settingLink}" target="_blank">security settings</a>'
create: "Create channel"
description: "Description (optional)"
name: "Channel name"
slug: "Channel slug (optional)"
title: "New channel"
type: "Type"
types:
category: "Category"
topic: "Topic"
reviewable:
type: "Chat message"
reactions:
only_you: "You reacted with :%{emoji}:"
you_and_single_user: "You and %{username} reacted with :%{emoji}:"
you_and_multiple_users: "You, %{commaSeparatedUsernames} and %{username} reacted with :%{emoji}:"
you_multiple_users_and_more:
one: "You, %{commaSeparatedUsernames} and %{count} other reacted with :%{emoji}:"
other: "You, %{commaSeparatedUsernames} and %{count} others reacted with :%{emoji}:"
single_user: "%{username} reacted with :%{emoji}:"
multiple_users: "%{commaSeparatedUsernames} and %{username} reacted with :%{emoji}:"
multiple_users_and_more:
one: "%{commaSeparatedUsernames} and %{count} other reacted with :%{emoji}:"
other: "%{commaSeparatedUsernames} and %{count} others reacted with :%{emoji}:"
composer:
toggle_toolbar: "Toggle toolbar"
italic_text: "emphasized text"
bold_text: "strong text"
code_text: "code text"
quote:
original_channel: 'Originally sent in <a href="%{channelLink}">%{channel}</a>'
copy_success: "Chat quote copied to clipboard"
notification_levels:
never: "Never"
mention: "Only for mentions"
always: "For all activity"
settings:
channel_wide_mentions_label: "Allow @all and @here mentions"
channel_wide_mentions_description: "Allow users to notify all members of #%{channel} with @all or only those who are active in the moment with @here"
auto_join_users_label: "Automatically add users"
auto_join_users_info: "Check hourly which users have been active in the last 3 months. Add them to this channel if they have access to the %{category} category."
auto_join_users_info_no_category: "Check hourly which users have been active in the last 3 months. Add them to this channel if they have access to the selected category."
auto_join_users_warning: "Every user who isn't a member of this channel and has access to the %{category} category will join. Are you sure?"
desktop_notification_level: "Desktop notifications"
follow: "Join"
followed: "Joined"
mobile_notification_level: "Mobile push notifications"
mute: "Mute channel"
muted_on: "On"
muted_off: "Off"
notifications: "Notifications"
preview: "Preview"
save: "Save"
saved: "Saved"
unfollow: "Leave"
admin_title: "Admin"
admin:
title: "Chat"
direct_messages:
title: "Personal chat"
new: "Create a personal chat"
create: "Go"
leave: "Leave this personal chat"
cannot_create: "Sorry, you cannot send direct messages."
incoming_webhooks:
back: "Back"
channel_placeholder: "Select a channel"
confirm_destroy: "Are you sure you want to delete this incoming webhook? This cannot be un-done."
current_emoji: "Current Emoji"
description: "Description"
delete: "Delete"
emoji: "Emoji"
emoji_instructions: "System avatar will be used if emoji is left blank."
name: "Name"
name_placeholder: "name..."
new: "New incoming webhook"
none: "No existing incoming webhooks created."
no_emoji: "No Emoji selected"
post_to: "Post to"
reset_emoji: "Reset Emoji"
save: "Save"
edit: "Edit"
select_emoji: "Choose Emoji"
system: "system"
title: "Incoming webhooks"
url: "URL"
url_instructions: "This URL contains a secret value - keep it safe."
username: "Username"
username_instructions: "Username of bot that posts to channel. Defaults to 'system' when left blank."
instructions: "Incoming webhooks can be used by external systems to post messages into a designated chat channel as a bot user via the <code>/hooks/:key</code> endpoint. The payload consists of a single <code>text</code> parameter, which is limited to 2000 characters.<br><br>We also support limited Slack-formatted <code>text</code> parameters, extracting links and mentions based on the format at <a href=\"https://api.slack.com/reference/surfaces/formatting\">https://api.slack.com/reference/surfaces/formatting</a>, but the <code>/hooks/:key/slack</code> endpoint must be used for this."
selection:
cancel: "Cancel"
quote_selection: "Quote in Topic"
copy: "Copy"
move_selection_to_channel: "Move to Channel"
error: "There was an error moving the chat messages"
title: "Move Chat to Topic"
new_topic:
title: "Move to New Topic"
instructions:
one: "You are about to create a new topic and populate it with the chat message you've selected."
other: "You are about to create a new topic and populate it with the <b>%{count}</b> chat messages you've selected."
instructions_channel_archive: "You are about to create a new topic and archive the channel messages to it."
existing_topic:
title: "Move to Existing Topic"
instructions:
one: "Please choose the topic you'd like to move that chat message to."
other: "Please choose the topic you'd like to move those <b>%{count}</b> chat messages to."
instructions_channel_archive: "Please choose the topic you'd like to archive the channel messages to."
new_message:
title: "Move to New Message"
instructions:
one: "You are about to create a new message and populate it with the chat message you've selected."
other: "You are about to create a new message and populate it with the <b>%{count}</b> chat messages you've selected."
replying_indicator:
single_user: "%{username} is typing"
multiple_users: "%{commaSeparatedUsernames} and %{lastUsername} are typing"
many_users:
one: "%{commaSeparatedUsernames} and %{count} other are typing"
other: "%{commaSeparatedUsernames} and %{count} others are typing"
retention_reminders:
public_none: "Channel history is retained indefinitely."
public:
one: "Channel history is retained for %{count} day."
other: "Channel history is retained for %{count} days."
dm_none: "Personal chat history is retained indefinitely."
dm:
one: "Personal chat history is retained for %{count} day."
other: "Personal chat history is retained for %{count} days."
flags:
off_topic: "This message is not relevant to the current discussion as defined by the channel title, and should probably be moved elsewhere."
inappropriate: "This message contains content that a reasonable person would consider offensive, abusive, or a violation of <a href=\"%{basePath}/guidelines\">our community guidelines</a>."
spam: "This message is an advertisement, or vandalism. It is not useful or relevant to the current channel."
notify_user: "I want to talk to this person directly and personally about their message."
notify_moderators: "This message requires staff attention for another reason not listed above."
flagging:
action: "Flag message"
emoji_picker:
favorites: "Frequently used"
smileys_&_emotion: "Smileys and emotion"
objects: "Objects"
people_&_body: "People and body"
travel_&_places: "Travel and places"
animals_&_nature: "Animals and nature"
food_&_drink: "Food and drink"
activities: "Activities"
flags: "Flags"
symbols: "Symbols"
search_placeholder: "Search by emoji name and alias..."
no_results: "No results"
threads:
op_said: "OP said:"
started_by: "Started by"
open: "Open Thread"
draft_channel_screen:
header: "New Message"
cancel: "Cancel"
notifications:
chat_invitation: "invited you to join a chat channel"
chat_invitation_html: "<span>%{username}</span> <span>invited you to join a chat channel</span>"
chat_quoted: "<span>%{username}</span> %{description}"
popup:
chat_mention:
direct: 'mentioned you in "%{channel}"'
direct_html: '<span>%{username}</span> <span>mentioned you in "%{channel}"</span>'
other_plain: 'mentioned %{identifier} in "%{channel}"'
# %{identifier} is either @here or @all
other_html: '<span>%{username}</span> <span>mentioned %{identifier} in "%{channel}"</span>'
direct_message_chat_mention:
direct: "mentioned you in personal chat"
direct_html: "<span>%{username}</span> <span>mentioned you in personal chat</span>"
other_plain: "mentioned %{identifier} in personal chat"
# %{identifier} is either @here or @all
other_html: "<span>%{username}</span> <span>mentioned %{identifier} in personal chat</span>"
chat_message: "New chat message"
chat_quoted: "%{username} quoted your chat message"
titles:
chat_mention: "Chat mention"
chat_invitation: "Chat invitation"
chat_quoted: "Chat quoted"
action_codes:
chat:
enabled: '%{who} enabled <button class="btn-link open-chat">chat</button> %{when}'
disabled: "%{who} closed chat %{when}"
discourse_automation:
scriptables:
send_chat_message:
title: Send chat message
fields:
chat_channel_id:
label: Chat channel ID
message:
label: Message
sender:
label: Sender
description: Defaults to system
review:
transcript:
view: "View previous messages transcript"
types:
reviewable_chat_message:
title: "Flagged Chat Message"
flagged_by: "Flagged By"
keyboard_shortcuts_help:
chat:
title: "Chat"
keyboard_shortcuts:
switch_channel_arrows: "%{shortcut} Switch channel"
open_quick_channel_selector: "%{shortcut} Open quick channel selector"
open_insert_link_modal: "%{shortcut} Insert hyperlink (composer only)"
composer_bold: "%{shortcut} Bold (composer only)"
composer_italic: "%{shortcut} Italic (composer only)"
composer_code: "%{shortcut} Code (composer only)"
drawer_open: "%{shortcut} Open chat drawer"
drawer_close: "%{shortcut} Close chat drawer"
topic_statuses:
chat:
help: "Chat is enabled for this topic"
user:
allow_private_messages: "Allow other users to send me personal messages and chat direct messages"
muted_users_instructions: "Suppress all notifications, personal messages, and chat direct messages from these users."
allowed_pm_users_instructions: "Only allow personal messages or chat direct messages from these users."
allow_private_messages_from_specific_users: "Only allow specific users to send me personal messages or chat direct messages"
ignored_users_instructions: "Suppress all posts, messages, notifications, personal messages, and chat direct messages from these users."
user_menu:
no_chat_notifications_title: "You dont have any chat notifications yet"
no_chat_notifications_body: >
You will be notified in this panel when someone direct messages you or <b>@mentions</b> you in chat. Notifications will also be sent to your email when you havent logged in for a while.
<br><br>
Click the title at the top of any chat channel to configure what notifications you receive in that channel. For more, see your <a href='%{preferencesUrl}'>notification preferences</a>.
tabs:
chat_notifications: "Chat notifications"
chat_notifications_with_unread:
one: "Chat notifications - %{count} unread notification"
other: "Chat notifications - %{count} unread notifications"