snapshot of https://github.com/zulip/zulip.git @ 48c69911c7dd4e03b20552eb3bd77ad8151c1357 (2026-09-15)
Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled

This commit is contained in:
upstream-mirror
2026-09-15 15:05:30 +05:00
commit 64898b2c79
8999 changed files with 1757358 additions and 0 deletions

View File

@@ -0,0 +1 @@
{{t "Channels in this folder will become uncategorized."}} {{t "This action cannot be undone."}}

View File

@@ -0,0 +1,3 @@
<p>{{t "A deactivated emoji will remain visible in existing messages and emoji reactions, but cannot be used on new messages."}}</p>
<p>{{t "This action cannot be undone."}}</p>

View File

@@ -0,0 +1,3 @@
<p>{{t "By deactivating your account, you will be logged out immediately." }}</p>
<p>{{t "Note that any bots that you maintain will be disabled." }}</p>
<p>{{t "Are you sure you want to deactivate your account?"}}</p>

View File

@@ -0,0 +1,26 @@
{{#if can_set_data_deletion}}
<form id="realm-data-deletion-form">
<div class="input-group">
<label for="delete-realm-data-in" class="modal-field-label">{{t "After how much time should all data for this organization be permanently deleted (users, channels, messages, etc.)?" }}</label>
<select id="delete-realm-data-in" name="delete-realm-data-in" class="modal_select bootstrap-focus-style">
{{#each delete_in_options}}
<option {{#if this.default }}selected{{/if}} value="{{this.value}}">{{this.description}}</option>
{{/each}}
</select>
<p class="time-input-formatted-description"></p>
<div id="custom-realm-deletion-time" class="dependent-settings-block custom-time-input-container">
<label class="modal-field-label">{{custom_deletion_input_label}}</label>
<input id="custom-deletion-time-input" name="custom-deletion-time-input" class="custom-time-input-value inline-block modal_text_input" type="text" autocomplete="off" value="" maxlength="4"/>
<select id="custom-deletion-time-unit" name="custom-deletion-time-unit" class="custom-time-input-unit bootstrap-focus-style modal_select" >
{{#each time_choices}}
<option value="{{this.name}}">{{this.description}}</option>
{{/each}}
</select>
<p class="custom-time-input-formatted-description"></p>
</div>
</div>
</form>
<p>{{t "Are you sure you want to deactivate this organization? All users will lose access to their Zulip accounts." }}</p>
{{else}}
<p>{{t "Are you sure you want to deactivate this organization? All data will be immediately deleted." }}</p>
{{/if}}

View File

@@ -0,0 +1,32 @@
<p>
{{#tr}}Archiving this channel will:{{/tr}}
</p>
<ul>
<li>{{#tr}}Remove it from the left sidebar for all users.{{/tr}}</li>
<li>{{#tr}}Prevent new messages from being sent to this channel.{{/tr}}</li>
<li>{{#tr}}Prevent messages in this channel from being edited, deleted, or moved.{{/tr}}</li>
{{#if is_announcement_stream}}
<li>{{#tr}}Disable announcements that are currently sent to this channel:{{/tr}}
<ul>
{{#if is_moderation_request_channel}}
<li>{{#tr}}Moderation requests{{/tr}}</li>
{{/if}}
{{#if is_new_stream_announcements_stream}}
<li>{{#tr}}New channel announcements{{/tr}}</li>
{{/if}}
{{#if is_signup_announcements_stream}}
<li>{{#tr}}New user announcements{{/tr}}</li>
{{/if}}
{{#if is_zulip_update_announcements_stream}}
<li>{{#tr}}Zulip update announcements{{/tr}}</li>
{{/if}}
</ul>
</li>
{{/if}}
</ul>
<p>
{{#tr}}
Users can still search for messages in archived channels.
You can always unarchive this channel.
{{/tr}}
</p>

View File

@@ -0,0 +1,59 @@
<p>
{{#tr}}
When you deactivate <z-user></z-user>, they will be immediately logged out.
{{#*inline "z-user"}}<strong>{{username}}</strong>{{#if email}} &lt;{{email}}&gt;{{/if}}{{/inline}}
{{/tr}}
</p>
<p>{{t "Their password will be cleared from our systems, and any bots they maintain will be disabled." }}</p>
<p>
{{#unless (eq number_of_invites_by_user 0)}}
{{#tr}}
<strong>{username}</strong> has {number_of_invites_by_user, plural, one {# unexpired invitation} other {# unexpired invitations}}.
{{/tr}}
{{/unless}}
</p>
{{#unless (eq bots_owned_by_user.length 0)}}
<p>
{{t "They administer the following bots:"}}
</p>
<ul>
{{#each bots_owned_by_user}}
<li>{{this.full_name}}</li>
{{/each}}
</ul>
{{/unless}}
<label class="checkbox">
<input type="checkbox" class="send_email" />
<span class="rendered-checkbox"></span>
{{t "Notify this user by email?" }}
</label>
<div class="email_field">
<p class="border-top">
<strong>{{t "Subject" }}:</strong>
{{t "Notification of account deactivation on {realm_name}" }}
</p>
<div class="email-body">
<p>
{{#tr}}
Your Zulip account on <z-link></z-link> has been deactivated,
and you will no longer be able to log in.
{{#*inline "z-link"}}<a href="{{realm_url}}">{{realm_url}}</a>{{/inline}}
{{/tr}}
</p>
<p>{{t "The administrators provided the following comment:" }}</p>
<textarea class="email_field_textarea modal-textarea" rows="8" maxlength="2000"></textarea>
</div>
</div>
<div class="deactivate-actions">
<label>{{t "Choose content to delete"}}</label>
<div class="input-group">
{{#each user_deactivation_actions}}
<label class="checkbox">
<input type="checkbox" data-key="{{this.key}}"/>
<span class="rendered-checkbox"></span>
{{this.value}}
</label>
<br/>
{{/each}}
</div>
</div>

View File

@@ -0,0 +1 @@
{{t "Are you sure you want to delete all drafts?"}} {{t "This action cannot be undone."}}

View File

@@ -0,0 +1,3 @@
{{#tr}}
<p><strong>{file_name}</strong> will be removed from the messages where it was shared. This action cannot be undone.</p>
{{/tr}}

View File

@@ -0,0 +1,20 @@
<div>
{{#if realm_message_edit_history_is_visible}}
{{#tr}}
The following <z-link>uploaded files</z-link> are no longer attached to any messages. They can still be accessed from this message's edit history. Would you like to delete them entirely?
{{#*inline "z-link"}}<a class="uploaded_files_settings_link" href="/#settings/uploaded-files">{{> @partial-block}}</a>{{/inline}}
{{/tr}}
{{else}}
{{#tr}}
The following <z-link>uploaded files</z-link> are no longer attached to any messages. Would you like to delete them entirely?
{{#*inline "z-link"}}<a class="uploaded_files_settings_link" href="/#settings/uploaded-files">{{> @partial-block}}</a>{{/inline}}
{{/tr}}
{{/if}}
</div>
<ul class="modal-options-list">
{{#each attachments_list}}
<li>
<a href="/user_uploads/{{this.path_id}}" rel="noopener noreferrer" target="_blank">{{this.name}}</a>
</li>
{{/each}}
</ul>

View File

@@ -0,0 +1,12 @@
{{#if (eq count 1)}}
{{#tr}}
This will delete the <z-profile-field-name></z-profile-field-name> profile field for 1 user.
{{#*inline "z-profile-field-name"}}<strong>{{profile_field_name}}</strong>{{/inline}}
{{/tr}}
{{else}}
{{#tr}}
This will delete the <z-profile-field-name></z-profile-field-name> profile field for <z-count></z-count> users.
{{#*inline "z-count"}}{{count}}{{/inline}}
{{#*inline "z-profile-field-name"}}<strong>{{profile_field_name}}</strong>{{/inline}}
{{/tr}}
{{/if}}

View File

@@ -0,0 +1,26 @@
<p>
{{#if (eq count 1)}}
{{#tr}}
This will clear the <z-field-name></z-field-name> profile field for 1 user.
{{#*inline "z-field-name"}}<strong>{{field_name}}</strong>{{/inline}}
{{/tr}}
{{else}}
{{#tr}}
This will clear the <z-field-name></z-field-name> profile field for <z-count></z-count> users.
{{#*inline "z-count"}}{{count}}{{/inline}}
{{#*inline "z-field-name"}}<strong>{{field_name}}</strong>{{/inline}}
{{/tr}}
{{/if}}
</p>
<div>
{{#if (eq deleted_options_count 1)}}
{{t "Deleted option:" }}
{{else}}
{{t "Deleted options:" }}
{{/if}}
</div>
<ul class="modal-options-list">
{{#each deleted_option_texts}}
<li>{{this}}</li>
{{/each}}
</ul>

View File

@@ -0,0 +1,9 @@
<p>
{{t "Deleting a topic will immediately remove it and its messages for everyone. Other users may find this confusing, especially if they had received an email or push notification related to the deleted messages." }}
</p>
<p>
{{#tr}}
Are you sure you want to permanently delete <z-topic-display-name></z-topic-display-name>?
{{#*inline "z-topic-display-name"}}<span class="white-space-preserve-wrap{{#if is_empty_string_topic}} empty-topic-display{{/if}}"><b class="highlighted-element">{{topic_display_name}}</b></span>{{/inline}}
{{/tr}}
</p>

View File

@@ -0,0 +1,12 @@
<p>
{{#tr}}
You are about to disable all notifications for direct messages,
@&#8209;mentions and alerts, which may cause you to miss messages
that require your timely attention.
If you would like to temporarily disable all desktop notifications,
consider <z-link>turning on "Do not disturb"</z-link> instead.
{{#*inline "z-link"}}<a target="_blank" rel="noopener noreferrer" href="/help/do-not-disturb">{{> @partial-block}}</a>{{/inline}}
{{/tr}}
</p>
<p>{{t "Are you sure you want to continue?"}}</p>

View File

@@ -0,0 +1,5 @@
<p>
{{#tr}}
Scrolling to your last message will mark <b>{num_unread}</b> unread messages as read. Would you like to scroll to that message and edit it?
{{/tr}}
</p>

View File

@@ -0,0 +1,8 @@
<div class="rendered_markdown">
<p>
{{#tr}}
There is a default emoji with this name. Do you want to override it with a custom emoji?
The name <code>:{emoji_name}:</code> will no longer work to access the default emoji.
{{/tr}}
</p>
</div>

View File

@@ -0,0 +1,4 @@
<p>
{{t "You are already a member of this group because you are a member of a subgroup"}} (<b class="highlighted-element">{{associated_subgroup_names}}</b>).
{{t "Are you sure you want to join it directly as well?" }}
</p>

View File

@@ -0,0 +1,11 @@
<p>
{{t "Which messages do you want to mark as read? This action cannot be undone." }}
</p>
<div class="input-group">
<select id="mark_as_read_option" class="modal_select bootstrap-style-font">
<option value="muted_topics">{{t "Muted topics" }}</option>
<option value="topics_not_followed" selected>{{t "Topics you don't follow" }}</option>
<option value="all_messages">{{t "All messages" }}</option>
</select>
<p id="message_count" class="message_count"></p>
</div>

View File

@@ -0,0 +1,7 @@
<p>
{{#tr}}
The topic <z-topic-name>{topic_display_name}</z-topic-name> already exists in this channel.
Are you sure you want to combine messages from these topics? This cannot be undone.
{{#*inline "z-topic-name"}}<strong class="white-space-preserve-wrap {{#if is_empty_string_topic}}empty-topic-display{{/if}}">{{> @partial-block}}</strong>{{/inline}}
{{/tr}}
</p>

View File

@@ -0,0 +1,6 @@
<p>{{t "You do not have permission to move some of the messages in this topic. Contact a moderator to move all messages."}}
</p>
<p>
{{messages_allowed_to_move_text}}
{{messages_not_allowed_to_move_text}}
</p>

View File

@@ -0,0 +1,4 @@
{{#tr}}
Are you sure you want to mute <z-highlight>{user_name}</z-highlight>? Messages sent by muted users will never trigger notifications, will be marked as read, and will be hidden.
{{#*inline "z-highlight"}}<b class="highlighted-element">{{> @partial-block}}</b>{{/inline}}
{{/tr}}

View File

@@ -0,0 +1,16 @@
<p>
{{#tr}}
<z-user></z-user> will have the same properties as it did prior to deactivation,
including role, owner and channel subscriptions.
{{#*inline "z-user"}}<strong>{{username}}</strong>{{/inline}}
{{/tr}}
</p>
{{#if original_owner_deactivated}}
<p>
{{#tr}}
Because the original owner of this bot <z-bot-owner></z-bot-owner> is deactivated, you will become the owner for this bot.
{{#*inline "z-bot-owner"}}<strong>{{owner_name}}</strong>{{/inline}}
{{/tr}}
{{t "However, it will no longer be subscribed to the private channels that you are not subscribed to." }}
</p>
{{/if}}

View File

@@ -0,0 +1,8 @@
<p>
{{#tr}}Unarchiving this channel will:{{/tr}}
</p>
<ul>
<li>{{#tr}}Make it appear in the left sidebar for all subscribers.{{/tr}}</li>
<li>{{#tr}}Allow sending new messages to this channel.{{/tr}}</li>
<li>{{#tr}}Allow messages in this channel to be edited, deleted, or moved.{{/tr}}</li>
</ul>

View File

@@ -0,0 +1,8 @@
<p>
{{#tr}}
<z-user></z-user> will have the same role, channel subscriptions,
user group memberships, and other settings and permissions as they did
prior to deactivation.
{{#*inline "z-user"}}<strong>{{username}}</strong>{{/inline}}
{{/tr}}
</p>

View File

@@ -0,0 +1,11 @@
<p>
{{#tr}}
Are you sure you want to resend the invitation to <z-email></z-email>?
{{#*inline "z-email"}}<strong>{{email}}</strong>{{/inline}}
{{/tr}}
</p>
<p>
{{#tr}}
This will not change the expiration time for this invitation.
{{/tr}}
</p>

View File

@@ -0,0 +1,4 @@
{{#tr}}
Are you sure you want to reset notifications for <z-stream></z-stream>?
{{#*inline "z-stream"}}{{> ../decorated_channel_name inline_with_text=true stream=sub show_colored_icon=false}}{{/inline}}
{{/tr}}

View File

@@ -0,0 +1,9 @@
{{#if is_multiuse}}
{{#if referred_by}}
{{#tr}}Are you sure you want to revoke this invitation link created by <strong>{referred_by}</strong>?{{/tr}}
{{else}}
{{#tr}}Are you sure you want to revoke this invitation link?{{/tr}}
{{/if}}
{{else}}
{{#tr}}Are you sure you want to revoke the invitation to <strong>{email}</strong>?{{/tr}}
{{/if}}

View File

@@ -0,0 +1 @@
{{t "Are you sure you want to create channel ''''{channel_name}'''' and subscribe {count} users to it?" }}

View File

@@ -0,0 +1 @@
{{t "Are you sure you want to unstar all starred messages?"}} {{t "This action cannot be undone."}}

View File

@@ -0,0 +1,4 @@
{{#tr}}
Are you sure you want to unstar all messages in <stream-topic></stream-topic>?
{{#*inline "stream-topic"}}{{> ../stream_topic_widget . }}{{/inline}}
{{/tr}} {{t "This action cannot be undone."}}

View File

@@ -0,0 +1,8 @@
{{#unless unsubscribing_other_user}}
<p>{{t "Once you leave this channel, you will not be able to rejoin."}}</p>
{{/unless}}
{{#if organization_will_lose_content_access}}
<p>
{{t "Your organization will lose access content in this channel, and nobody will be able to subscribe to it in the future."}}
</p>
{{/if}}

View File

@@ -0,0 +1,6 @@
{{#tr}}
You're marking the topic <z-highlight>{topic_name}</z-highlight> as resolved. This adds a ✔ at the beginning of the topic name to let everyone know that this conversation is done. <z-link>Learn more</z-link>
{{#*inline "z-link"}}<a target="_blank" rel="noopener noreferrer" href="/help/resolve-a-topic">{{>
@partial-block}}</a>{{/inline}}
{{#*inline "z-highlight"}}<b class="highlighted-element">{{> @partial-block}}</b>{{/inline}}
{{/tr}}