desktop, android: channels and chat relays ui (#6670)

This commit is contained in:
spaced4ndy
2026-03-13 11:59:29 +00:00
committed by GitHub
parent 2ada82b589
commit 4e16792ddc
28 changed files with 2585 additions and 269 deletions
@@ -100,7 +100,7 @@
<string name="simplex_link_invitation">SimpleX one-time invitation</string>
<string name="simplex_link_group">SimpleX group link</string>
<string name="simplex_link_channel">SimpleX channel link</string>
<string name="simplex_link_relay">SimpleX relay link</string>
<string name="simplex_link_relay">SimpleX relay address</string>
<string name="simplex_link_connection">via %1$s</string>
<string name="simplex_link_mode">SimpleX links</string>
<string name="simplex_link_mode_description">Description</string>
@@ -141,6 +141,8 @@
<string name="no_media_servers_configured_for_private_routing">No servers to receive files.</string>
<string name="for_chat_profile">For chat profile %s:</string>
<string name="errors_in_servers_configuration">Errors in servers configuration.</string>
<string name="no_chat_relays_enabled">No chat relays enabled.</string>
<string name="server_warning">Server warning</string>
<string name="error_accepting_operator_conditions">Error accepting conditions</string>
<string name="blocking_reason_spam">Spam</string>
<string name="blocking_reason_content">Content violates conditions of use</string>
@@ -514,8 +516,11 @@
<string name="chat_banner_your_contact">Your contact</string>
<string name="chat_banner_bot">Bot</string>
<string name="chat_banner_join_group">Tap Join group</string>
<string name="chat_banner_join_channel">Tap Join channel</string>
<string name="chat_banner_your_group">Your group</string>
<string name="chat_banner_your_channel">Your channel</string>
<string name="chat_banner_group">Group</string>
<string name="chat_banner_channel">Channel</string>
<string name="chat_banner_business_connection">Business connection</string>
<string name="chat_banner_your_business_contact">Your business contact</string>
@@ -561,6 +566,8 @@
<string name="report_sent_alert_title">Report sent to moderators</string>
<string name="report_sent_alert_msg_view_in_support_chat">You can view your reports in Chat with admins.</string>
<string name="compose_view_join_group">Join group</string>
<string name="compose_view_join_channel">Join channel</string>
<string name="compose_view_broadcast">Broadcast</string>
<string name="compose_view_add_message">Add message</string>
<string name="compose_view_connect">Connect</string>
<string name="compose_view_send_contact_request_alert_question">Send contact request?</string>
@@ -575,7 +582,9 @@
<string name="cant_send_message_contact_not_synchronized">not synchronized</string>
<string name="cant_send_message_contact_disabled">contact disabled</string>
<string name="observer_cant_send_message_title">you are observer</string>
<string name="you_are_subscriber">you are subscriber</string>
<string name="observer_cant_send_message_desc">Please contact group admin.</string>
<string name="channel_role_label">channel</string>
<string name="cant_send_message_rejected">request to join rejected</string>
<string name="cant_send_message_group_deleted">group is deleted</string>
<string name="cant_send_message_mem_removed">removed from group</string>
@@ -1655,8 +1664,10 @@
<string name="youve_accepted_group_invitation_connecting_to_inviting_group_member">You joined this group. Connecting to inviting group member.</string>
<string name="leave_group_button">Leave</string>
<string name="leave_group_question">Leave group?</string>
<string name="leave_channel_question">Leave channel?</string>
<string name="leave_chat_question">Leave chat?</string>
<string name="you_will_stop_receiving_messages_from_this_group_chat_history_will_be_preserved">You will stop receiving messages from this group. Chat history will be preserved.</string>
<string name="you_will_stop_receiving_messages_from_this_channel_chat_history_will_be_preserved">You will stop receiving messages from this channel. Chat history will be preserved.</string>
<string name="you_will_stop_receiving_messages_from_this_chat_chat_history_will_be_preserved">You will stop receiving messages from this chat. Chat history will be preserved.</string>
<string name="icon_descr_add_members">Invite members</string>
<string name="icon_descr_group_inactive">Group inactive</string>
@@ -1755,6 +1766,7 @@
<string name="group_member_role_moderator">moderator</string>
<string name="group_member_role_admin">admin</string>
<string name="group_member_role_owner">owner</string>
<string name="group_member_role_relay">relay</string>
<!-- GroupMemberStatus -->
<string name="group_member_status_rejected">rejected</string>
@@ -1803,24 +1815,32 @@
<string name="group_info_section_title_num_members">%1$s MEMBERS</string>
<string name="group_info_member_you">you: %1$s</string>
<string name="button_delete_group">Delete group</string>
<string name="button_delete_channel">Delete channel</string>
<string name="button_delete_chat">Delete chat</string>
<string name="delete_group_question">Delete group?</string>
<string name="delete_channel_question">Delete channel?</string>
<string name="delete_chat_question">Delete chat?</string>
<string name="delete_group_for_all_members_cannot_undo_warning">Group will be deleted for all members - this cannot be undone!</string>
<string name="delete_channel_for_all_subscribers_cannot_undo_warning">Channel will be deleted for all subscribers - this cannot be undone!</string>
<string name="delete_chat_for_all_members_cannot_undo_warning">Chat will be deleted for all members - this cannot be undone!</string>
<string name="delete_group_for_self_cannot_undo_warning">Group will be deleted for you - this cannot be undone!</string>
<string name="delete_channel_for_self_cannot_undo_warning">Channel will be deleted for you - this cannot be undone!</string>
<string name="delete_chat_for_self_cannot_undo_warning">Chat will be deleted for you - this cannot be undone!</string>
<string name="button_leave_group">Leave group</string>
<string name="button_leave_channel">Leave channel</string>
<string name="button_leave_chat">Leave chat</string>
<string name="button_edit_group_profile">Edit group profile</string>
<string name="button_edit_channel_profile">Edit channel profile</string>
<string name="button_add_welcome_message">Add welcome message</string>
<string name="button_welcome_message">Welcome message</string>
<string name="group_link">Group link</string>
<string name="channel_link">Channel link</string>
<string name="create_group_link">Create group link</string>
<string name="button_create_group_link">Create link</string>
<string name="delete_link_question">Delete link?</string>
<string name="delete_link">Delete link</string>
<string name="you_can_share_group_link_anybody_will_be_able_to_connect">You can share a link or a QR code - anybody will be able to join the group. You won\'t lose members of the group if you later delete it.</string>
<string name="you_can_share_channel_link_anybody_will_be_able_to_connect">You can share a link or a QR code - anybody will be able to join the channel.</string>
<string name="all_group_members_will_remain_connected">All group members will remain connected.</string>
<string name="error_creating_link_for_group">Error creating group link</string>
<string name="error_updating_link_for_group">Error updating group link</string>
@@ -1837,7 +1857,10 @@
<string name="send_receipts_disabled_alert_title">Receipts are disabled</string>
<string name="send_receipts_disabled_alert_msg">This group has over %1$d members, delivery receipts are not sent.</string>
<string name="action_button_add_members">Invite</string>
<string name="action_button_channel_link">Link</string>
<string name="button_support_chat">Chat with admins</string>
<string name="button_channel_members">Channel members</string>
<string name="button_channel_relays">Chat relays</string>
<!-- Chat / Chat item info -->
<string name="section_title_for_console">FOR CONSOLE</string>
@@ -1872,6 +1895,7 @@
<!-- GroupMemberInfoView.kt -->
<string name="button_remove_member_question">Remove member?</string>
<string name="button_remove_subscriber_question">Remove subscriber?</string>
<string name="button_remove_members_question">Remove members?</string>
<string name="button_delete_member_messages_question">Delete member messages?</string>
<string name="button_remove_member">Remove member</string>
@@ -1879,6 +1903,7 @@
<string name="button_support_chat_member">Chat with member</string>
<string name="button_send_direct_message">Send direct message</string>
<string name="member_will_be_removed_from_group_cannot_be_undone">Member will be removed from group - this cannot be undone!</string>
<string name="subscriber_will_be_removed_from_channel_cannot_be_undone">Subscriber will be removed from channel - this cannot be undone!</string>
<string name="members_will_be_removed_from_group_cannot_be_undone">Members will be removed from group - this cannot be undone!</string>
<string name="member_will_be_removed_from_chat_cannot_be_undone">Member will be removed from chat - this cannot be undone!</string>
<string name="members_will_be_removed_from_chat_cannot_be_undone">Members will be removed from chat - this cannot be undone!</string>
@@ -1925,7 +1950,7 @@
<string name="info_row_group">Group</string>
<string name="info_row_chat">Chat</string>
<string name="info_row_connection">Connection</string>
<string name="info_row_connection_failed">Connection failed</string>
<string name="info_row_connection_failed">CONNECTION FAILED</string>
<string name="conn_level_desc_direct">direct</string>
<string name="conn_level_desc_indirect">indirect (%1$s)</string>
<string name="message_queue_info">Message queue info</string>
@@ -2794,4 +2819,99 @@
<!-- GroupMentions.kt -->
<string name="max_group_mentions_per_message_reached">You can mention up to %1$s members per message!</string>
<!-- ChannelMembersView.kt -->
<string name="channel_members_title_owners_and_subscribers">Owners &amp; subscribers</string>
<string name="channel_members_section_owners">Owners</string>
<string name="channel_members_num_subscribers">%1$d subscribers</string>
<string name="channel_members_no_subscribers">No subscribers</string>
<!-- ChatRelayView.kt -->
<string name="chat_relay">Chat relay</string>
<string name="new_chat_relay">New chat relay</string>
<string name="preset_relay_name">Preset relay name</string>
<string name="preset_relay_address">Preset relay address</string>
<string name="your_relay_name">Your relay name</string>
<string name="your_relay_address">Your relay address</string>
<string name="enter_relay_name">Enter relay name…</string>
<string name="use_relay">Use relay</string>
<string name="test_relay">Test relay</string>
<string name="use_for_new_channels">Use for new channels</string>
<string name="delete_relay">Delete relay</string>
<string name="not_implemented">Not implemented</string>
<string name="relay_testing_not_available">Relay testing is not yet available.</string>
<string name="invalid_relay_name">Invalid relay name!</string>
<string name="check_relay_name">Check relay name and try again.</string>
<string name="invalid_relay_address">Invalid relay address!</string>
<string name="check_relay_address">Check relay address and try again.</string>
<string name="error_adding_relay">Error adding relay</string>
<!-- OperatorView.kt / ProtocolServersView.kt -->
<string name="chat_relays">Chat relays</string>
<string name="chat_relays_forward_messages_in_channels">Chat relays forward messages in channels you create.</string>
<!-- ChannelRelaysView.kt -->
<string name="channel_relays_title">Chat relays</string>
<string name="no_chat_relays">No chat relays</string>
<string name="chat_relays_forward_messages">Chat relays forward messages to channel subscribers.</string>
<string name="relay_conn_status_connected">connected</string>
<string name="relay_conn_status_connecting">connecting</string>
<string name="relay_conn_status_deleted">deleted</string>
<string name="relay_conn_status_failed">failed</string>
<string name="relay_status_new">new</string>
<string name="relay_status_invited">invited</string>
<string name="relay_status_accepted">accepted</string>
<string name="relay_status_active">active</string>
<!-- ComposeView.kt channel relay bars -->
<string name="relay_bar_active_with_failures">%1$d/%2$d relays active, %3$d failed</string>
<string name="relay_bar_active">%1$d/%2$d relays active</string>
<string name="relay_bar_connected_with_errors">%1$d/%2$d relays connected, %3$d errors</string>
<string name="relay_bar_connected">%1$d/%2$d relays connected</string>
<string name="relay_bar_count">%1$d relays</string>
<!-- GroupMemberInfoView.kt channel-related -->
<string name="member_info_section_title_relay">RELAY</string>
<string name="member_info_section_title_owner">OWNER</string>
<string name="member_info_section_title_subscriber">SUBSCRIBER</string>
<string name="info_row_channel">Channel</string>
<string name="info_row_relay_link">Relay link</string>
<string name="info_row_relay_address">Relay address</string>
<string name="via_relay_hostname">via %1$s</string>
<string name="share_relay_address">Share relay address</string>
<string name="relay_section_footer_owner">Subscribers use relay link to connect to the channel.\nRelay address was used to set up this relay for the channel.</string>
<string name="relay_section_footer_subscriber">You connected to the channel via this relay link.</string>
<string name="button_remove_subscriber">Remove subscriber</string>
<string name="block_subscriber_for_all_question">Block subscriber for all?</string>
<!-- AddChannelView.kt -->
<string name="create_channel_title">Create channel</string>
<string name="create_channel_button">Create channel</string>
<string name="create_channel_beta_button">Create channel (BETA)</string>
<string name="channel_display_name_field">Channel name</string>
<string name="creating_channel">Creating channel</string>
<string name="error_creating_channel">Error creating channel</string>
<string name="cancel_creating_channel_question">Cancel creating channel?</string>
<string name="cancel_creating_channel_confirm">Cancel</string>
<string name="enable_at_least_one_chat_relay">Enable at least one chat relay to create a channel.</string>
<string name="your_profile_shared_with_channel_relays">Your profile %1$s will be shared with channel relays and subscribers.</string>
<string name="configure_relays">Configure relays</string>
<string name="relay_status_failed">failed</string>
<string name="relay_connection_failed">Relay connection failed</string>
<string name="not_all_relays_connected">Not all relays connected</string>
<string name="wait_verb">Wait</string>
<string name="proceed_verb">Proceed</string>
<string name="channel_will_start_with_relays">Channel will start working with %1$d of %2$d relays. Proceed?</string>
<!-- ConnectPlan.kt channel-related -->
<string name="relay_address_alert_title">Relay address</string>
<string name="relay_address_alert_message">This is a chat relay address, it cannot be used to connect.</string>
<string name="connect_plan_open_channel">Open channel</string>
<string name="connect_plan_open_new_channel">Open new channel</string>
<string name="connect_plan_this_is_your_link_for_channel">Your channel</string>
<string name="connect_plan_this_is_your_link_for_channel_vName"><![CDATA[This is your link for channel <b>%1$s</b>!]]></string>
<string name="error_opening_channel">Error opening channel</string>
<!-- ChatListNavLinkView.kt channel-related -->
<string name="unblock_subscriber_for_all_question">Unblock subscriber for all?</string>
</resources>
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#000000"><path d="M129-560q0 63 21.5 121.25T213-333q7.5 8 8.25 18.75T214.5-296q-8 8-17.5 6t-17-10q-48-53.5-73.5-120.75T81-560q0-72 25.5-139.25T180-820.5q7.5-7.5 17-9t17.25 6.25q7.75 7.75 7 18T213-787.5q-41 48-62.5 106.25T129-560Zm143.75 71.75q11.75 34.75 34.75 63.75 6.5 8 7 18t-7.25 17.75q-7.75 7.75-17.5 7.25T273.5-390q-29-36-44.75-79.75T213-560q0-46.5 15.75-90.25T273.5-730q6.5-8 16.25-9t17.5 6.75q7.75 7.75 7.25 17.75t-7 17.5q-23 29-34.75 64.5T261-560q0 37 11.75 71.75ZM451.5-150v-325q-28-8.5-44.5-32.25T390.5-560q0-37.5 26-63.75T480-650q37.5 0 63.75 26.25T570-560q0 29-16.75 52.75T509-475v325q0 12.5-8.25 20.5t-20.75 8q-12.5 0-20.5-8t-8-20.5Zm235.75-481.75Q675.5-666.5 653-696q-7-7.5-7.5-17.5t7.25-17.75q7.75-7.75 17.5-7.25t16.25 8.5q29 36 44.75 79.75T747-560q0 46.5-15.75 90.25T686.5-390q-6.5 8-15.75 8.5t-17-7.25Q646-396.5 646-406.5t7-18q22.5-29 34.25-63.75T699-560q0-37-11.75-71.75ZM831-560q0-63-21.5-121.25T747-787.5q-7.5-7.5-8.25-18.25t7-18.5Q753.5-832 763-830t17.5 9.5q47.5 54 73 121.25T879-560q0 72-25.5 139.25T780.5-300q-8 8-17.5 9.5t-17.25-6.25q-7.75-7.75-7-18T747-333q41-47.5 62.5-105.75T831-560Z"/></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB