diff --git a/app/soapbox/components/account.tsx b/app/soapbox/components/account.tsx index 79bc030508..e92569ebeb 100644 --- a/app/soapbox/components/account.tsx +++ b/app/soapbox/components/account.tsx @@ -268,8 +268,8 @@ const Account = ({ {approvalStatus === 'pending' - ? - : } + ? + : } )} diff --git a/app/soapbox/locales/en.json b/app/soapbox/locales/en.json index 8b9517708a..d8cbb092fd 100644 --- a/app/soapbox/locales/en.json +++ b/app/soapbox/locales/en.json @@ -319,10 +319,14 @@ "column.follow_requests": "Follow requests", "column.followers": "Followers", "column.following": "Following", + "column.group_blocked_members": "Blocked members", + "column.group_pending_requests": "Pending requests", + "column.groups": "Groups", "column.home": "Home", "column.import_data": "Import data", "column.info": "Server information", "column.lists": "Lists", + "column.manage_group": "Manage group", "column.mentions": "Mentions", "column.mfa": "Multi-Factor Authentication", "column.mfa_cancel": "Cancel", @@ -430,7 +434,9 @@ "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Block", "confirmations.block.heading": "Block @{name}", - "confirmations.block.message": "Are you sure you want to block {name}?", + "confirmations.block.message": "Are you sure you want to block {name}?","confirmations.block_from_group.confirm": "Block", + "confirmations.block_from_group.heading": "Block group member", + "confirmations.block_from_group.message": "Are you sure you want to block @{name} from interacting with this group?", "confirmations.cancel.confirm": "Discard", "confirmations.cancel.heading": "Discard post", "confirmations.cancel.message": "Are you sure you want to cancel creating this post?", @@ -445,17 +451,30 @@ "confirmations.delete_event.confirm": "Delete", "confirmations.delete_event.heading": "Delete event", "confirmations.delete_event.message": "Are you sure you want to delete this event?", + "confirmations.delete_from_group.heading": "Delete from group", + "confirmations.delete_from_group.message": "Are you sure you want to delete @{name}'s post?", + "confirmations.delete_group.confirm": "Delete", + "confirmations.delete_group.heading": "Delete group", + "confirmations.delete_group.message": "Are you sure you want to delete this group? This is a permanent action that cannot be undone.", "confirmations.delete_list.confirm": "Delete", "confirmations.delete_list.heading": "Delete list", "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?", "confirmations.domain_block.confirm": "Hide entire domain", "confirmations.domain_block.heading": "Block {domain}", "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications.", + "confirmations.kick_from_group.confirm": "Kick", + "confirmations.kick_from_group.heading": "Kick group member", + "confirmations.kick_from_group.message": "Are you sure you want to kick @{name} from this group?", "confirmations.leave_event.confirm": "Leave event", "confirmations.leave_event.message": "If you want to rejoin the event, the request will be manually reviewed again. Are you sure you want to proceed?", + "confirmations.leave_group.confirm": "Leave", + "confirmations.leave_group.heading": "Leave group", + "confirmations.leave_group.message": "You are about to leave the group. Do you want to continue?", "confirmations.mute.confirm": "Mute", "confirmations.mute.heading": "Mute @{name}", "confirmations.mute.message": "Are you sure you want to mute {name}?", + "confirmations.promote_in_group.confirm": "Promote", + "confirmations.promote_in_group.message": "Are you sure you want to promote @{name}? You will not be able to demote them.", "confirmations.redraft.confirm": "Delete & redraft", "confirmations.redraft.heading": "Delete & redraft", "confirmations.redraft.message": "Are you sure you want to delete this post and re-draft it? Favorites and reposts will be lost, and replies to the original post will be orphaned.", @@ -606,6 +625,9 @@ "empty_column.filters": "You haven't created any muted words yet.", "empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.", "empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.", + "empty_column.group": "There are no posts in this group yet.", + "empty_column.group_blocks": "The group hasn't blocked any users yet.", + "empty_column.group_membership_requests": "There are no pending membership requests for this group.", "empty_column.hashtag": "There is nothing in this hashtag yet.", "empty_column.home": "Or you can visit {public} to get started and meet other users.", "empty_column.home.local_tab": "the {site_title} tab", @@ -621,6 +643,7 @@ "empty_column.remote": "There is nothing here! Manually follow users from {instance} to fill it up.", "empty_column.scheduled_statuses": "You don't have any scheduled statuses yet. When you add one, it will show up here.", "empty_column.search.accounts": "There are no people results for \"{term}\"", + "empty_column.search.groups": "There are no groups results for \"{term}\"", "empty_column.search.hashtags": "There are no hashtags results for \"{term}\"", "empty_column.search.statuses": "There are no posts results for \"{term}\"", "empty_column.test": "The test timeline is empty.", @@ -696,6 +719,42 @@ "gdpr.message": "{siteTitle} uses session cookies, which are essential to the website's functioning.", "gdpr.title": "{siteTitle} uses cookies", "getting_started.open_source_notice": "{code_name} is open source software. You can contribute or report issues at {code_link} (v{code_version}).", + "group.admin_subheading": "Group administrators", + "group.cancel_request": "Cancel request", + "group.group_mod_authorize": "Accept", + "group.group_mod_authorize.success": "Accepted @{name} to group", + "group.group_mod_block": "Block @{name} from group", + "group.group_mod_block.success": "Blocked @{name} from group", + "group.group_mod_demote": "Demote @{name}", + "group.group_mod_demote.success": "Demoted @{name} to group user", + "group.group_mod_kick": "Kick @{name} from group", + "group.group_mod_kick.success": "Kicked @{name} from group", + "group.group_mod_promote_admin": "Promote @{name} to group administrator", + "group.group_mod_promote_admin.success": "Promoted @{name} to group administrator", + "group.group_mod_promote_mod": "Promote @{name} to group moderator", + "group.group_mod_promote_mod.success": "Promoted @{name} to group moderator", + "group.group_mod_reject": "Reject", + "group.group_mod_reject.success": "Rejected @{name} from group", + "group.group_mod_unblock": "Unblock", + "group.group_mod_unblock.success": "Unblocked @{name} from group", + "group.header.alt": "Group header", + "group.join": "Join group", + "group.join.request_success": "Requested to join the group", + "group.join.success": "Joined the group", + "group.leave": "Leave group", + "group.leave.success": "Left the group", + "group.manage": "Manage group", + "group.moderator_subheading": "Group moderators", + "group.privacy.locked": "Private", + "group.privacy.public": "Public", + "group.request_join": "Request to join group", + "group.role.admin": "Admin", + "group.role.moderator": "Moderator", + "group.tabs.all": "All", + "group.tabs.members": "Members", + "group.user_subheading": "Users", + "groups.empty.subtitle": "Start discovering groups to join or create your own.", + "groups.empty.title": "No Groups yet", "hashtag.column_header.tag_mode.all": "and {additional}", "hashtag.column_header.tag_mode.any": "or {additional}", "hashtag.column_header.tag_mode.none": "without {additional}", @@ -799,6 +858,27 @@ "login_external.errors.instance_fail": "The instance returned an error.", "login_external.errors.network_fail": "Connection failed. Is a browser extension blocking it?", "login_form.header": "Sign In", + "manage_group.blocked_members": "Blocked members", + "manage_group.create": "Create", + "manage_group.delete_group": "Delete group", + "manage_group.edit_group": "Edit group", + "manage_group.edit_success": "The group was edited", + "manage_group.fields.description_label": "Description", + "manage_group.fields.description_placeholder": "Description", + "manage_group.fields.name_label": "Group name (required)", + "manage_group.fields.name_placeholder": "Group Name", + "manage_group.get_started": "Let's get started!", + "manage_group.next": "Next", + "manage_group.pending_requests": "Pending requests", + "manage_group.privacy.hint": "These settings cannot be changed later.", + "manage_group.privacy.label": "Privacy settings", + "manage_group.privacy.private.hint": "Discoverable. Users can join after their request is approved.", + "manage_group.privacy.private.label": "Private (Owner approval required)", + "manage_group.privacy.public.hint": "Discoverable. Anyone can join.", + "manage_group.privacy.public.label": "Public", + "manage_group.submit_success": "The group was created", + "manage_group.tagline": "Groups connect you with others based on shared interests.", + "manage_group.update": "Update", "media_panel.empty_message": "No media found.", "media_panel.title": "Media", "mfa.confirm.success_message": "MFA confirmed", @@ -865,7 +945,9 @@ "navigation_bar.compose_quote": "Quote post", "navigation_bar.compose_reply": "Reply to post", "navigation_bar.create_event": "Create new event", + "navigation_bar.create_group": "Create Group", "navigation_bar.domain_blocks": "Domain blocks", + "navigation_bar.edit_group": "Edit Group", "navigation_bar.favourites": "Likes", "navigation_bar.filters": "Filters", "navigation_bar.follow_requests": "Follow requests", @@ -877,6 +959,9 @@ "navigation_bar.preferences": "Preferences", "navigation_bar.profile_directory": "Profile directory", "navigation_bar.soapbox_config": "Soapbox config", + "new_group_panel.action": "Create group", + "new_group_panel.subtitle": "Can't find what you're looking for? Start your own private or public group.", + "new_group_panel.title": "Create New Group", "notification.favourite": "{name} liked your post", "notification.follow": "{name} followed you", "notification.follow_request": "{name} has requested to follow you", @@ -1107,6 +1192,7 @@ "search.placeholder": "Search", "search_results.accounts": "People", "search_results.filter_message": "You are searching for posts from @{acct}.", + "search_results.groups": "Groups", "search_results.hashtags": "Hashtags", "search_results.statuses": "Posts", "security.codes.fail": "Failed to fetch backup codes", @@ -1217,6 +1303,8 @@ "sponsored.subtitle": "Sponsored post", "status.admin_account": "Moderate @{name}", "status.admin_status": "Open this post in the moderation interface", + "status.approval.pending": "Pending approval", + "status.approval.rejected": "Rejected", "status.bookmark": "Bookmark", "status.bookmarked": "Bookmark added.", "status.cancel_reblog_private": "Un-repost", @@ -1226,11 +1314,16 @@ "status.delete": "Delete", "status.detailed_status": "Detailed conversation view", "status.direct": "Direct message @{name}", + "status.disabled_replies.group_membership": "Only group members can reply", "status.edit": "Edit", "status.embed": "Embed post", "status.external": "View post on {domain}", "status.favourite": "Like", "status.filtered": "Filtered", + "status.group": "Posted in {group}", + "status.group_mod_block": "Block @{name} from group", + "status.group_mod_delete": "Delete post from group", + "status.group_mod_kick": "Kick @{name} from group", "status.interactions.favourites": "{count, plural, one {Like} other {Likes}}", "status.interactions.quotes": "{count, plural, one {Quote} other {Quotes}}", "status.interactions.reblogs": "{count, plural, one {Repost} other {Reposts}}", @@ -1291,6 +1384,7 @@ "tabs_bar.all": "All", "tabs_bar.dashboard": "Dashboard", "tabs_bar.fediverse": "Fediverse", + "tabs_bar.groups": "Groups", "tabs_bar.home": "Home", "tabs_bar.local": "Local", "tabs_bar.more": "More",