web-i18n: Update frontend translated strings for stream rename channel.

Updates translated strings in web/ that do not need updates to any
tests. The majority of these strings are also unique to the file/
template that they are in. A few have overlap with one other file.

Some changes here update placeholders/variables in these strings to
no longer use stream so that all the translation updates for this
rename happen at the same time.

The exception to this are cases of "<z-stream>" placeholders in
these translated strings.

Part of the stream to channel rename project.
This commit is contained in:
Lauryn Menard 2024-04-18 15:20:36 +02:00 committed by Tim Abbott
parent 36e00308b8
commit 4dcb0258a5
56 changed files with 120 additions and 120 deletions

View File

@ -83,7 +83,7 @@ IGNORED_PHRASES = [
r"acme", r"acme",
# Fragments of larger strings # Fragments of larger strings
r"is …", r"is …",
r"your subscriptions on your Streams page", r"your subscriptions on your Channels page",
r"Add global time<br />Everyone sees global times in their own time zone\.", r"Add global time<br />Everyone sees global times in their own time zone\.",
r"user", r"user",
r"an unknown operating system", r"an unknown operating system",

View File

@ -29,8 +29,8 @@ const admin_settings_label = {
}), }),
// Organization settings // Organization settings
realm_allow_edit_history: $t({defaultMessage: "Enable message edit history"}), realm_allow_edit_history: $t({defaultMessage: "Enable message edit history"}),
realm_mandatory_topics: $t({defaultMessage: "Require topics in stream messages"}), realm_mandatory_topics: $t({defaultMessage: "Require topics in channel messages"}),
realm_new_stream_announcements_stream: $t({defaultMessage: "New stream announcements"}), realm_new_stream_announcements_stream: $t({defaultMessage: "New channel announcements"}),
realm_signup_announcements_stream: $t({defaultMessage: "New user announcements"}), realm_signup_announcements_stream: $t({defaultMessage: "New user announcements"}),
realm_zulip_update_announcements_stream: $t({defaultMessage: "Zulip update announcements"}), realm_zulip_update_announcements_stream: $t({defaultMessage: "Zulip update announcements"}),
realm_inline_image_preview: $t({ realm_inline_image_preview: $t({
@ -42,7 +42,7 @@ const admin_settings_label = {
defaultMessage: "Allow message content in message notification emails", defaultMessage: "Allow message content in message notification emails",
}), }),
realm_enable_spectator_access: $t({ realm_enable_spectator_access: $t({
defaultMessage: "Allow creating web-public streams (visible to anyone on the Internet)", defaultMessage: "Allow creating web-public channels (visible to anyone on the Internet)",
}), }),
realm_digest_emails_enabled: $t({ realm_digest_emails_enabled: $t({
defaultMessage: "Send weekly digest emails to inactive users", defaultMessage: "Send weekly digest emails to inactive users",

View File

@ -328,7 +328,7 @@ export class BuddyList extends BuddyListConf {
let header_text; let header_text;
if (current_sub) { if (current_sub) {
header_text = $t({defaultMessage: "In this stream"}); header_text = $t({defaultMessage: "In this channel"});
} else { } else {
header_text = $t({defaultMessage: "In this conversation"}); header_text = $t({defaultMessage: "In this conversation"});
} }

View File

@ -173,7 +173,7 @@ export function show_stream_does_not_exist_error(stream_name: string): void {
const new_row_html = render_stream_does_not_exist_error({ const new_row_html = render_stream_does_not_exist_error({
banner_type: ERROR, banner_type: ERROR,
stream_name, channel_name: stream_name,
classname: CLASSNAMES.stream_does_not_exist, classname: CLASSNAMES.stream_does_not_exist,
}); });
append_compose_banner_to_banner_list($(new_row_html), $("#compose_banners")); append_compose_banner_to_banner_list($(new_row_html), $("#compose_banners"));
@ -192,7 +192,7 @@ export function show_stream_not_subscribed_error(sub: StreamSubscription): void
banner_type: ERROR, banner_type: ERROR,
banner_text: $t({ banner_text: $t({
defaultMessage: defaultMessage:
"You're not subscribed to this stream. You will not be notified if other users reply to your message.", "You're not subscribed to this channel. You will not be notified if other users reply to your message.",
}), }),
button_text: stream_data.can_toggle_subscription(sub) button_text: stream_data.can_toggle_subscription(sub)
? $t({defaultMessage: "Subscribe"}) ? $t({defaultMessage: "Subscribe"})

View File

@ -69,7 +69,7 @@ export function notify_automatic_new_visibility_policy(
banner_type: compose_banner.SUCCESS, banner_type: compose_banner.SUCCESS,
classname: compose_banner.CLASSNAMES.automatic_new_visibility_policy, classname: compose_banner.CLASSNAMES.automatic_new_visibility_policy,
link_msg_id: data.id, link_msg_id: data.id,
stream_topic, channel_topic: stream_topic,
narrow_url, narrow_url,
followed, followed,
button_text: $t({defaultMessage: "Change setting"}), button_text: $t({defaultMessage: "Change setting"}),

View File

@ -171,7 +171,7 @@ export function initialize(): void {
narrow_filter.operands("channel")[0] === compose_state.stream_name() narrow_filter.operands("channel")[0] === compose_state.stream_name()
) { ) {
display_current_view = $t({ display_current_view = $t({
defaultMessage: "Currently viewing the entire stream.", defaultMessage: "Currently viewing the entire channel.",
}); });
} else if ( } else if (
_.isEqual(narrow_filter.sorted_term_types(), ["is-dm"]) && _.isEqual(narrow_filter.sorted_term_types(), ["is-dm"]) &&

View File

@ -304,11 +304,11 @@ export function compute_placeholder_text(opts: ComposePlaceholderOptions): strin
if (stream_name && opts.topic) { if (stream_name && opts.topic) {
return $t( return $t(
{defaultMessage: "Message #{stream_name} > {topic_name}"}, {defaultMessage: "Message #{channel_name} > {topic_name}"},
{stream_name, topic_name: opts.topic}, {channel_name: stream_name, topic_name: opts.topic},
); );
} else if (stream_name) { } else if (stream_name) {
return $t({defaultMessage: "Message #{stream_name}"}, {stream_name}); return $t({defaultMessage: "Message #{channel_name}"}, {channel_name: stream_name});
} }
} else if (opts.direct_message_user_ids.length > 0) { } else if (opts.direct_message_user_ids.length > 0) {
const users = people.get_users_from_ids(opts.direct_message_user_ids); const users = people.get_users_from_ids(opts.direct_message_user_ids);

View File

@ -53,13 +53,13 @@ const markdown_help_rows = [
usage_html: format_usage_html("Ctrl", "Shift", "L"), usage_html: format_usage_html("Ctrl", "Shift", "L"),
}, },
{ {
markdown: "#**stream name**", markdown: "#**channel name**",
output_html: "<p><a>#stream name</a></p>", output_html: "<p><a>#channel name</a></p>",
effect_html: "(links to a stream)", effect_html: "(links to a channel)",
}, },
{ {
markdown: "#**stream name>topic name**", markdown: "#**channel name>topic name**",
output_html: "<p><a>#stream name > topic name</a></p>", output_html: "<p><a>#channel name > topic name</a></p>",
effect_html: "(links to topic)", effect_html: "(links to topic)",
}, },
{ {

View File

@ -89,7 +89,7 @@ const keyboard_handling_context: messages_overlay_ui.Context = {
function get_display_stream_name(stream_id: number): string { function get_display_stream_name(stream_id: number): string {
const stream_name = sub_store.maybe_get_stream_name(stream_id); const stream_name = sub_store.maybe_get_stream_name(stream_id);
if (stream_name === undefined) { if (stream_name === undefined) {
return $t({defaultMessage: "Unknown stream"}); return $t({defaultMessage: "Unknown channel"});
} }
return stream_name; return stream_name;
} }

View File

@ -33,7 +33,7 @@ function setup_settings_label() {
}), }),
presence_enabled_parens_text: $t({defaultMessage: "invisible mode off"}), presence_enabled_parens_text: $t({defaultMessage: "invisible mode off"}),
send_stream_typing_notifications: $t({ send_stream_typing_notifications: $t({
defaultMessage: "Let recipients see when I'm typing messages in streams", defaultMessage: "Let recipients see when I'm typing messages in channels",
}), }),
send_private_typing_notifications: $t({ send_private_typing_notifications: $t({
defaultMessage: "Let recipients see when I'm typing direct messages", defaultMessage: "Let recipients see when I'm typing direct messages",

View File

@ -821,7 +821,7 @@ export function save_discard_widget_status_handler(
banner_type: compose_banner.WARNING, banner_type: compose_banner.WARNING,
banner_text: $t({ banner_text: $t({
defaultMessage: defaultMessage:
"Only subscribers can access or join private streams, so you will lose access to this stream if you convert it to a private stream while not subscribed to it.", "Only subscribers can access or join private channels, so you will lose access to this channel if you convert it to a private channel while not subscribed to it.",
}), }),
button_text: $t({defaultMessage: "Subscribe"}), button_text: $t({defaultMessage: "Subscribe"}),
classname: "stream_privacy_warning", classname: "stream_privacy_warning",

View File

@ -673,7 +673,7 @@ export function init_dropdown_widgets() {
}, },
default_id: realm.realm_new_stream_announcements_stream_id, default_id: realm.realm_new_stream_announcements_stream_id,
unique_id_type: dropdown_widget.DataTypes.NUMBER, unique_id_type: dropdown_widget.DataTypes.NUMBER,
text_if_current_value_not_in_options: $t({defaultMessage: "Cannot view stream"}), text_if_current_value_not_in_options: $t({defaultMessage: "Cannot view channel"}),
}); });
settings_components.set_new_stream_announcements_stream_widget( settings_components.set_new_stream_announcements_stream_widget(
new_stream_announcements_stream_widget, new_stream_announcements_stream_widget,
@ -696,7 +696,7 @@ export function init_dropdown_widgets() {
}, },
default_id: realm.realm_signup_announcements_stream_id, default_id: realm.realm_signup_announcements_stream_id,
unique_id_type: dropdown_widget.DataTypes.NUMBER, unique_id_type: dropdown_widget.DataTypes.NUMBER,
text_if_current_value_not_in_options: $t({defaultMessage: "Cannot view stream"}), text_if_current_value_not_in_options: $t({defaultMessage: "Cannot view channel"}),
}); });
settings_components.set_signup_announcements_stream_widget(signup_announcements_stream_widget); settings_components.set_signup_announcements_stream_widget(signup_announcements_stream_widget);
signup_announcements_stream_widget.setup(); signup_announcements_stream_widget.setup();
@ -717,7 +717,7 @@ export function init_dropdown_widgets() {
}, },
default_id: realm.realm_zulip_update_announcements_stream_id, default_id: realm.realm_zulip_update_announcements_stream_id,
unique_id_type: dropdown_widget.DataTypes.NUMBER, unique_id_type: dropdown_widget.DataTypes.NUMBER,
text_if_current_value_not_in_options: $t({defaultMessage: "Cannot view stream"}), text_if_current_value_not_in_options: $t({defaultMessage: "Cannot view channel"}),
}); });
settings_components.set_zulip_update_announcements_stream_widget( settings_components.set_zulip_update_announcements_stream_widget(
zulip_update_announcements_stream_widget, zulip_update_announcements_stream_widget,

View File

@ -187,7 +187,7 @@ function show_add_default_streams_modal() {
}, },
error(xhr) { error(xhr) {
ui_report.error( ui_report.error(
$t_html({defaultMessage: "Failed adding one or more streams."}), $t_html({defaultMessage: "Failed adding one or more channels."}),
xhr, xhr,
$("#dialog_error"), $("#dialog_error"),
); );
@ -209,7 +209,7 @@ function show_add_default_streams_modal() {
} }
dialog_widget.launch({ dialog_widget.launch({
html_heading: $t_html({defaultMessage: "Add default streams"}), html_heading: $t_html({defaultMessage: "Add default channels"}),
html_body, html_body,
html_submit_button: $t_html({defaultMessage: "Add"}), html_submit_button: $t_html({defaultMessage: "Add"}),
help_link: "/help/set-default-streams-for-new-users", help_link: "/help/set-default-streams-for-new-users",

View File

@ -388,7 +388,7 @@ function show_stream_email_address_modal(address) {
}); });
dialog_widget.launch({ dialog_widget.launch({
html_heading: $t_html({defaultMessage: "Generate stream email address"}), html_heading: $t_html({defaultMessage: "Generate channel email address"}),
html_body: copy_email_address_modal_html, html_body: copy_email_address_modal_html,
id: "copy_email_address_modal", id: "copy_email_address_modal",
html_submit_button: $t_html({defaultMessage: "Copy address"}), html_submit_button: $t_html({defaultMessage: "Copy address"}),
@ -452,8 +452,8 @@ export function initialize() {
const change_stream_info_modal = render_change_stream_info_modal(template_data); const change_stream_info_modal = render_change_stream_info_modal(template_data);
dialog_widget.launch({ dialog_widget.launch({
html_heading: $t_html( html_heading: $t_html(
{defaultMessage: "Edit #{stream_name}"}, {defaultMessage: "Edit #{channel_name}"},
{stream_name: stream.name}, {channel_name: stream.name},
), ),
html_body: change_stream_info_modal, html_body: change_stream_info_modal,
id: "change_stream_info_modal", id: "change_stream_info_modal",
@ -592,7 +592,7 @@ export function initialize() {
const stream_id = get_stream_id(e.target); const stream_id = get_stream_id(e.target);
if (!stream_id) { if (!stream_id) {
ui_report.client_error( ui_report.client_error(
$t_html({defaultMessage: "Invalid stream ID"}), $t_html({defaultMessage: "Invalid channel ID"}),
$(".stream_change_property_info"), $(".stream_change_property_info"),
); );
return; return;
@ -602,7 +602,7 @@ export function initialize() {
const stream_id = $(".dialog_submit_button").data("stream-id"); const stream_id = $(".dialog_submit_button").data("stream-id");
if (!stream_id) { if (!stream_id) {
ui_report.client_error( ui_report.client_error(
$t_html({defaultMessage: "Invalid stream ID"}), $t_html({defaultMessage: "Invalid channel ID"}),
$(".stream_change_property_info"), $(".stream_change_property_info"),
); );
return; return;

View File

@ -247,7 +247,7 @@ function remove_subscriber({stream_id, target_user_id, $list_entry}) {
function removal_failure() { function removal_failure() {
show_stream_subscription_request_result({ show_stream_subscription_request_result({
message: $t({defaultMessage: "Error removing user from this stream."}), message: $t({defaultMessage: "Error removing user from this channel."}),
add_class: "text-error", add_class: "text-error",
remove_class: "text-success", remove_class: "text-success",
}); });

View File

@ -362,11 +362,11 @@ export function update_add_subscriptions_elements(sub) {
if (!settings_data.user_can_subscribe_other_users()) { if (!settings_data.user_can_subscribe_other_users()) {
tooltip_message = $t({ tooltip_message = $t({
defaultMessage: defaultMessage:
"You do not have permission to add other users to streams in this organization.", "You do not have permission to add other users to channels in this organization.",
}); });
} else { } else {
tooltip_message = $t({ tooltip_message = $t({
defaultMessage: "Only stream members can add users to a private stream.", defaultMessage: "Only channel members can add users to a private channel.",
}); });
} }
settings_components.initialize_disable_btn_hint_popover( settings_components.initialize_disable_btn_hint_popover(

View File

@ -380,7 +380,7 @@ export function initialize(): void {
delegate("body", { delegate("body", {
target: ".settings-radio-input-parent.default_stream_private_tooltip", target: ".settings-radio-input-parent.default_stream_private_tooltip",
content: $t({ content: $t({
defaultMessage: "Default streams for new users cannot be made private.", defaultMessage: "Default channels for new users cannot be made private.",
}), }),
appendTo: () => document.body, appendTo: () => document.body,
onHidden(instance) { onHidden(instance) {
@ -391,7 +391,7 @@ export function initialize(): void {
delegate("body", { delegate("body", {
target: ".default-stream.default_stream_private_tooltip", target: ".default-stream.default_stream_private_tooltip",
content: $t({ content: $t({
defaultMessage: "Private streams cannot be default streams for new users.", defaultMessage: "Private channels cannot be default channels for new users.",
}), }),
appendTo: () => document.body, appendTo: () => document.body,
onHidden(instance) { onHidden(instance) {
@ -480,7 +480,7 @@ export function initialize(): void {
target: "#stream_creation_form .add_subscribers_disabled", target: "#stream_creation_form .add_subscribers_disabled",
content: $t({ content: $t({
defaultMessage: defaultMessage:
"You do not have permission to add other users to streams in this organization.", "You do not have permission to add other users to channels in this organization.",
}), }),
appendTo: () => document.body, appendTo: () => document.body,
onHidden(instance) { onHidden(instance) {
@ -555,7 +555,7 @@ export function initialize(): void {
instance.setContent( instance.setContent(
$t({ $t({
defaultMessage: defaultMessage:
"You do not have permission to move messages to another stream in this organization.", "You do not have permission to move messages to another channel in this organization.",
}), }),
); );
return undefined; return undefined;

View File

@ -56,7 +56,7 @@ export function filters_dropdown_options(current_value: string | number | undefi
unique_id: FILTERS.ALL_TOPICS, unique_id: FILTERS.ALL_TOPICS,
name: $t({defaultMessage: "All topics"}), name: $t({defaultMessage: "All topics"}),
description: $t({ description: $t({
defaultMessage: "Includes muted streams and topics", defaultMessage: "Includes muted channels and topics",
}), }),
bold_current_selection: current_value === FILTERS.ALL_TOPICS, bold_current_selection: current_value === FILTERS.ALL_TOPICS,
}, },

View File

@ -7,20 +7,20 @@
{{else}} {{else}}
<span class="stream-status"> <span class="stream-status">
{{#if deactivated}} {{#if deactivated}}
{{t "This stream has been archived." }} {{t "This channel has been archived." }}
{{else if subscribed }} {{else if subscribed }}
{{#tr}} {{#tr}}
You subscribed to stream <z-stream-name></z-stream-name>. You subscribed to channel <z-stream-name></z-stream-name>.
{{#*inline "z-stream-name"}}{{> stream_privacy }} {{stream_name}}{{/inline}} {{#*inline "z-stream-name"}}{{> stream_privacy }} {{stream_name}}{{/inline}}
{{/tr}} {{/tr}}
{{else if just_unsubscribed }} {{else if just_unsubscribed }}
{{#tr}} {{#tr}}
You unsubscribed from stream <z-stream-name></z-stream-name>. You unsubscribed from channel <z-stream-name></z-stream-name>.
{{#*inline "z-stream-name"}}{{> stream_privacy }} {{stream_name}}{{/inline}} {{#*inline "z-stream-name"}}{{> stream_privacy }} {{stream_name}}{{/inline}}
{{/tr}} {{/tr}}
{{else}} {{else}}
{{#tr}} {{#tr}}
You are not subscribed to stream <z-stream-name></z-stream-name>. You are not subscribed to channel <z-stream-name></z-stream-name>.
{{#*inline "z-stream-name"}}{{> stream_privacy }} {{stream_name}}{{/inline}} {{#*inline "z-stream-name"}}{{> stream_privacy }} {{stream_name}}{{/inline}}
{{/tr}} {{/tr}}
{{/if}} {{/if}}

View File

@ -2,12 +2,12 @@
<p class="banner_message"> <p class="banner_message">
{{#if followed}} {{#if followed}}
{{#tr}} {{#tr}}
Now following <z-link>{stream_topic}</z-link>. Now following <z-link>{channel_topic}</z-link>.
{{#*inline "z-link"}}<a class="above_compose_banner_action_link" href="{{narrow_url}}" data-message-id="{{link_msg_id}}">{{> @partial-block}}</a>{{/inline}} {{#*inline "z-link"}}<a class="above_compose_banner_action_link" href="{{narrow_url}}" data-message-id="{{link_msg_id}}">{{> @partial-block}}</a>{{/inline}}
{{/tr}} {{/tr}}
{{else}} {{else}}
{{#tr}} {{#tr}}
Unmuted <z-link>{stream_topic}</z-link>. Unmuted <z-link>{channel_topic}</z-link>.
{{#*inline "z-link"}}<a class="above_compose_banner_action_link" href="{{narrow_url}}" data-message-id="{{link_msg_id}}">{{> @partial-block}}</a>{{/inline}} {{#*inline "z-link"}}<a class="above_compose_banner_action_link" href="{{narrow_url}}" data-message-id="{{link_msg_id}}">{{> @partial-block}}</a>{{/inline}}
{{/tr}} {{/tr}}
{{/if}} {{/if}}

View File

@ -2,15 +2,15 @@
<p class="banner_message"> <p class="banner_message">
{{#if can_subscribe_other_users}} {{#if can_subscribe_other_users}}
{{#if should_add_guest_user_indicator}} {{#if should_add_guest_user_indicator}}
{{#tr}}<strong>{name}</strong> <i>(guest)</i> is not subscribed to this stream. They will not be notified unless you subscribe them.{{/tr}} {{#tr}}<strong>{name}</strong> <i>(guest)</i> is not subscribed to this channel. They will not be notified unless you subscribe them.{{/tr}}
{{else}} {{else}}
{{#tr}}<strong>{name}</strong> is not subscribed to this stream. They will not be notified unless you subscribe them.{{/tr}} {{#tr}}<strong>{name}</strong> is not subscribed to this channel. They will not be notified unless you subscribe them.{{/tr}}
{{/if}} {{/if}}
{{else}} {{else}}
{{#if should_add_guest_user_indicator}} {{#if should_add_guest_user_indicator}}
{{#tr}}<strong>{name}</strong> <i>(guest)</i> is not subscribed to this stream. They will not be notified if you mention them.{{/tr}} {{#tr}}<strong>{name}</strong> <i>(guest)</i> is not subscribed to this channel. They will not be notified if you mention them.{{/tr}}
{{else}} {{else}}
{{#tr}}<strong>{name}</strong> is not subscribed to this stream. They will not be notified if you mention them.{{/tr}} {{#tr}}<strong>{name}</strong> is not subscribed to this channel. They will not be notified if you mention them.{{/tr}}
{{/if}} {{/if}}
{{/if}} {{/if}}
</p> </p>

View File

@ -1,8 +1,8 @@
{{#> compose_banner }} {{#> compose_banner }}
<p class="banner_message"> <p class="banner_message">
{{#tr}} {{#tr}}
The stream <b>#{stream_name}</b> does not exist. Manage your subscriptions The channel <b>#{channel_name}</b> does not exist. Manage your subscriptions
<z-link>on your Streams page</z-link>. <z-link>on your Channels page</z-link>.
{{#*inline "z-link"}}<a href='#streams/all'>{{> @partial-block}}</a>{{/inline}} {{#*inline "z-link"}}<a href='#streams/all'>{{> @partial-block}}</a>{{/inline}}
{{/tr}} {{/tr}}
</p> </p>

View File

@ -1,7 +1,7 @@
{{#> compose_banner }} {{#> compose_banner }}
<p class="banner_message"> <p class="banner_message">
{{#if (eq muted_narrow "stream")}} {{#if (eq muted_narrow "stream")}}
{{#tr}}Your message was sent to a stream you have muted.{{/tr}} {{#tr}}Your message was sent to a channel you have muted.{{/tr}}
{{else if (eq muted_narrow "topic")}} {{else if (eq muted_narrow "topic")}}
{{#tr}}Your message was sent to a topic you have muted.{{/tr}} {{#tr}}Your message was sent to a topic you have muted.{{/tr}}
{{/if}} {{/if}}

View File

@ -1,14 +1,14 @@
<p> <p>
{{#tr}} {{#tr}}
Archiving stream <z-stream></z-stream> will immediately unsubscribe everyone. This action cannot be undone. Archiving channel <z-stream></z-stream> will immediately unsubscribe everyone. This action cannot be undone.
{{#*inline "z-stream"}}<strong>{{{stream_name_with_privacy_symbol_html}}}</strong>{{/inline}} {{#*inline "z-stream"}}<strong>{{{stream_name_with_privacy_symbol_html}}}</strong>{{/inline}}
{{/tr}} {{/tr}}
</p> </p>
{{#if is_announcement_stream}} {{#if is_announcement_stream}}
<p class="notification_stream_archive_warning">{{#tr}}Archiving this stream will also disable settings that were configured to use this stream:{{/tr}}</p> <p class="notification_stream_archive_warning">{{#tr}}Archiving this channel will also disable settings that were configured to use this channel:{{/tr}}</p>
<ul> <ul>
{{#if is_new_stream_announcements_stream}} {{#if is_new_stream_announcements_stream}}
<li>{{#tr}}New stream notifications{{/tr}}</li> <li>{{#tr}}New channel notifications{{/tr}}</li>
{{/if}} {{/if}}
{{#if is_signup_announcements_stream}} {{#if is_signup_announcements_stream}}
<li>{{#tr}}New user notifications{{/tr}}</li> <li>{{#tr}}New user notifications{{/tr}}</li>

View File

@ -1,6 +1,6 @@
<p> <p>
{{#tr}} {{#tr}}
The topic <strong>{topic_name}</strong> already exists in this stream. The topic <strong>{topic_name}</strong> already exists in this channel.
Are you sure you want to combine messages from these topics? This cannot be undone. Are you sure you want to combine messages from these topics? This cannot be undone.
{{/tr}} {{/tr}}
</p> </p>

View File

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

View File

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

View File

@ -1,16 +1,16 @@
{{#unless unsubscribing_other_user}} {{#unless unsubscribing_other_user}}
<p>{{t "Once you leave this stream, you will not be able to rejoin."}}</p> <p>{{t "Once you leave this channel, you will not be able to rejoin."}}</p>
{{/unless}} {{/unless}}
{{#if display_stream_archive_warning}} {{#if display_stream_archive_warning}}
<p> <p>
{{#if unsubscribing_other_user}} {{#if unsubscribing_other_user}}
{{#tr}} {{#tr}}
Because you are removing the last subscriber from a private stream, it will be automatically <z-link>archived</z-link>. Because you are removing the last subscriber from a private channel, it will be automatically <z-link>archived</z-link>.
{{#*inline "z-link"}}<a target="_blank" rel="noopener noreferrer" href="/help/archive-a-stream">{{> @partial-block}}</a>{{/inline}} {{#*inline "z-link"}}<a target="_blank" rel="noopener noreferrer" href="/help/archive-a-stream">{{> @partial-block}}</a>{{/inline}}
{{/tr}} {{/tr}}
{{else}} {{else}}
{{#tr}} {{#tr}}
Because you are the only subscriber, this stream will be automatically <z-link>archived</z-link>. Because you are the only subscriber, this channel will be automatically <z-link>archived</z-link>.
{{#*inline "z-link"}}<a target="_blank" rel="noopener noreferrer" href="/help/archive-a-stream">{{> @partial-block}}</a>{{/inline}} {{#*inline "z-link"}}<a target="_blank" rel="noopener noreferrer" href="/help/archive-a-stream">{{> @partial-block}}</a>{{/inline}}
{{/tr}} {{/tr}}
{{/if}} {{/if}}

View File

@ -56,14 +56,14 @@
</select> </select>
</div> </div>
<div> <div>
<label>{{t "Streams they should join" }}</label> <label>{{t "Channels they should join" }}</label>
<div id="streams_to_add"> <div id="streams_to_add">
{{#if show_select_default_streams_option}} {{#if show_select_default_streams_option}}
<div class="select_default_streams new-style"> <div class="select_default_streams new-style">
<label class="checkbox display-block"> <label class="checkbox display-block">
<input type="checkbox" id="invite_select_default_streams" checked="checked" /> <input type="checkbox" id="invite_select_default_streams" checked="checked" />
<span></span> <span></span>
{{t 'Default streams for this organization'}} {{t 'Default channels for this organization'}}
</label> </label>
</div> </div>
{{/if}} {{/if}}
@ -83,7 +83,7 @@
#{{name}} #{{name}}
{{/if}} {{/if}}
{{#if (eq name ../new_stream_announcements_stream)}} {{#if (eq name ../new_stream_announcements_stream)}}
<i>({{t 'Receives new stream announcements' }})</i> <i>({{t 'Receives new channel announcements' }})</i>
{{/if}} {{/if}}
</label> </label>
{{/each}} {{/each}}

View File

@ -21,7 +21,7 @@
&nbsp; &nbsp;
<span> <span>
{{#tr}} {{#tr}}
Consider <z-link>searching all public streams</z-link>. Consider <z-link>searching all public channels</z-link>.
{{#*inline "z-link"}}<a class="search-shared-history" href="">{{> @partial-block}}</a>{{/inline}} {{#*inline "z-link"}}<a class="search-shared-history" href="">{{> @partial-block}}</a>{{/inline}}
{{/tr}} {{/tr}}
</span> </span>

View File

@ -4,10 +4,10 @@
</a> </a>
<template id="stream-details-tooltip-template"> <template id="stream-details-tooltip-template">
<div> <div>
<div>{{t "Go to stream settings" }}</div> <div>{{t "Go to channel settings" }}</div>
{{#unless is_spectator}} {{#unless is_spectator}}
<div class="tooltip-inner-content italic"> <div class="tooltip-inner-content italic">
{{t "This stream has {sub_count, plural, =0 {no subscribers} one {# subscriber} other {# subscribers}}." }} {{t "This channel has {sub_count, plural, =0 {no subscribers} one {# subscriber} other {# subscribers}}." }}
</div> </div>
{{/unless}} {{/unless}}
</div> </div>

View File

@ -5,7 +5,7 @@
{{#if only_topic_edit }} {{#if only_topic_edit }}
<p>{{t "Rename topic to:" }}</p> <p>{{t "Rename topic to:" }}</p>
{{else}} {{else}}
<p>{{t "Select a stream below or change topic name." }}</p> <p>{{t "Select a channel below or change topic name." }}</p>
{{/if}} {{/if}}
<div class="topic_stream_edit_header"> <div class="topic_stream_edit_header">
{{#unless only_topic_edit}} {{#unless only_topic_edit}}

View File

@ -15,7 +15,7 @@
<tbody data-empty="{{t 'No conversations match your filters.' }}" class="required-text"></tbody> <tbody data-empty="{{t 'No conversations match your filters.' }}" class="required-text"></tbody>
<thead> <thead>
<tr> <tr>
<th data-sort="stream_sort">{{t 'Stream' }}</th> <th data-sort="stream_sort">{{t 'Channel' }}</th>
<th data-sort="topic_sort">{{t 'Topic' }}</th> <th data-sort="topic_sort">{{t 'Topic' }}</th>
<th data-sort="unread_sort" data-tippy-content="{{t 'Sort by unread message count' }}" class="unread_sort tippy-zulip-delayed-tooltip hidden-for-spectators"> <th data-sort="unread_sort" data-tippy-content="{{t 'Sort by unread message count' }}" class="unread_sort tippy-zulip-delayed-tooltip hidden-for-spectators">
<i class="zulip-icon zulip-icon-unread"></i> <i class="zulip-icon zulip-icon-unread"></i>

View File

@ -19,11 +19,11 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="operator">stream:<span class="operator_value">stream</span></td> <td class="operator">channel:<span class="operator_value">channel</span></td>
<td class="definition"> <td class="definition">
{{#tr}} {{#tr}}
Narrow to messages on stream <z-value></z-value>. Narrow to messages on channel <z-value></z-value>.
{{#*inline "z-value"}}<span class="operator_value">stream</span>{{/inline}} {{#*inline "z-value"}}<span class="operator_value">channel</span>{{/inline}}
{{/tr}} {{/tr}}
</td> </td>
</tr> </tr>
@ -61,9 +61,9 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="operator">streams:public</td> <td class="operator">channels:public</td>
<td class="definition"> <td class="definition">
{{t 'Search all public streams in the organization.'}} {{t 'Search all public channels in the organization.'}}
</td> </td>
</tr> </tr>
<tr> <tr>

View File

@ -3,13 +3,13 @@
{{> ../help_link_widget link="/help/export-your-organization" }} {{> ../help_link_widget link="/help/export-your-organization" }}
</h3> </h3>
<p> <p>
{{t 'Exports all users, settings, and all data visible in public streams.' }} {{t 'Exports all users, settings, and all data visible in public channels.' }}
{{t 'Any organization administrator can conduct an export.'}} {{t 'Any organization administrator can conduct an export.'}}
{{t 'Depending on the size of your organization, an export can take anywhere from seconds to an hour.' }} {{t 'Depending on the size of your organization, an export can take anywhere from seconds to an hour.' }}
</p> </p>
<p> <p>
{{#tr}} {{#tr}}
<z-link>Click here</z-link> to learn about exporting private streams and direct messages. <z-link>Click here</z-link> to learn about exporting private channels and direct messages.
{{#*inline "z-link"}}<a href="/help/export-your-organization" target="_blank" rel="noopener noreferrer">{{> @partial-block}}</a>{{/inline}} {{#*inline "z-link"}}<a href="/help/export-your-organization" target="_blank" rel="noopener noreferrer">{{> @partial-block}}</a>{{/inline}}
{{/tr}} {{/tr}}
{{t 'Note that organizations are limited to five exports per week.' }} {{t 'Note that organizations are limited to five exports per week.' }}

View File

@ -1,5 +1,5 @@
<div class="choice-row" data-value="{{value}}"> <div class="choice-row" data-value="{{value}}">
{{> ../dropdown_widget widget_name=stream_dropdown_widget_name default_text=(t 'Select stream')}} {{> ../dropdown_widget widget_name=stream_dropdown_widget_name default_text=(t 'Select channel')}}
<button type="button" class="button rounded small delete-choice" title="{{t 'Delete' }}"> <button type="button" class="button rounded small delete-choice" title="{{t 'Delete' }}">
<i class="fa fa-trash-o" aria-hidden="true"></i> <i class="fa fa-trash-o" aria-hidden="true"></i>
</button> </button>

View File

@ -140,7 +140,7 @@
prefix=prefix}} prefix=prefix}}
<div class="input-group"> <div class="input-group">
<label for="demote_inactive_streams" class="dropdown-title">{{t "Demote inactive streams" }} <label for="demote_inactive_streams" class="dropdown-title">{{t "Demote inactive channels" }}
{{> ../help_link_widget link="/help/manage-inactive-streams" }} {{> ../help_link_widget link="/help/manage-inactive-streams" }}
</label> </label>
<select name="demote_inactive_streams" class="setting_demote_inactive_streams prop-element settings_select bootstrap-focus-style" id="{{prefix}}demote_inactive_streams" data-setting-widget-type="number"> <select name="demote_inactive_streams" class="setting_demote_inactive_streams prop-element settings_select bootstrap-focus-style" id="{{prefix}}demote_inactive_streams" data-setting-widget-type="number">

View File

@ -4,7 +4,7 @@
<h3>{{t "Notification triggers" }}</h3> <h3>{{t "Notification triggers" }}</h3>
{{> settings_save_discard_widget section_name="general-notify-settings" show_only_indicator=(not for_realm_settings) }} {{> settings_save_discard_widget section_name="general-notify-settings" show_only_indicator=(not for_realm_settings) }}
</div> </div>
<p>{{t "Configure how Zulip notifies you about new messages. In muted streams, stream notification settings apply only to unmuted topics." }}</p> <p>{{t "Configure how Zulip notifies you about new messages. In muted channels, channel notification settings apply only to unmuted topics." }}</p>
<table class="notification-table table table-bordered wrapped-table"> <table class="notification-table table table-bordered wrapped-table">
<thead> <thead>
<tr> <tr>

View File

@ -64,12 +64,12 @@
<div id="org-stream-permissions" class="settings-subsection-parent"> <div id="org-stream-permissions" class="settings-subsection-parent">
<div class="subsection-header"> <div class="subsection-header">
<h3>{{t "Stream permissions" }}</h3> <h3>{{t "Channel permissions" }}</h3>
{{> settings_save_discard_widget section_name="stream-permissions" }} {{> settings_save_discard_widget section_name="stream-permissions" }}
</div> </div>
<div class="m-10 inline-block organization-permissions-parent"> <div class="m-10 inline-block organization-permissions-parent">
<div class="input-group"> <div class="input-group">
<label for="realm_create_public_stream_policy" class="dropdown-title">{{t "Who can create public streams" }}</label> <label for="realm_create_public_stream_policy" class="dropdown-title">{{t "Who can create public channels" }}</label>
<select name="realm_create_public_stream_policy" id="id_realm_create_public_stream_policy" class="prop-element settings_select bootstrap-focus-style" data-setting-widget-type="number"> <select name="realm_create_public_stream_policy" id="id_realm_create_public_stream_policy" class="prop-element settings_select bootstrap-focus-style" data-setting-widget-type="number">
{{> dropdown_options_widget option_values=common_policy_values}} {{> dropdown_options_widget option_values=common_policy_values}}
</select> </select>
@ -83,19 +83,19 @@
is_disabled=disable_enable_spectator_access_setting is_disabled=disable_enable_spectator_access_setting
help_link="/help/public-access-option"}} help_link="/help/public-access-option"}}
<div class="input-group realm_create_web_public_stream_policy"> <div class="input-group realm_create_web_public_stream_policy">
<label for="realm_create_web_public_stream_policy" class="dropdown-title">{{t "Who can create web-public streams" }}</label> <label for="realm_create_web_public_stream_policy" class="dropdown-title">{{t "Who can create web-public channels" }}</label>
<select name="realm_create_web_public_stream_policy" id="id_realm_create_web_public_stream_policy" class="prop-element settings_select bootstrap-focus-style" data-setting-widget-type="number"> <select name="realm_create_web_public_stream_policy" id="id_realm_create_web_public_stream_policy" class="prop-element settings_select bootstrap-focus-style" data-setting-widget-type="number">
{{> dropdown_options_widget option_values=create_web_public_stream_policy_values}} {{> dropdown_options_widget option_values=create_web_public_stream_policy_values}}
</select> </select>
</div> </div>
<div class="input-group"> <div class="input-group">
<label for="realm_create_private_stream_policy" class="dropdown-title">{{t "Who can create private streams" }}</label> <label for="realm_create_private_stream_policy" class="dropdown-title">{{t "Who can create private channels" }}</label>
<select name="realm_create_private_stream_policy" id="id_realm_create_private_stream_policy" class="prop-element settings_select bootstrap-focus-style" data-setting-widget-type="number"> <select name="realm_create_private_stream_policy" id="id_realm_create_private_stream_policy" class="prop-element settings_select bootstrap-focus-style" data-setting-widget-type="number">
{{> dropdown_options_widget option_values=common_policy_values}} {{> dropdown_options_widget option_values=common_policy_values}}
</select> </select>
</div> </div>
<div class="input-group"> <div class="input-group">
<label for="realm_invite_to_stream_policy" class="dropdown-title">{{t "Who can add users to streams" }}</label> <label for="realm_invite_to_stream_policy" class="dropdown-title">{{t "Who can add users to channels" }}</label>
<select name="realm_invite_to_stream_policy" id="id_realm_invite_to_stream_policy" class="prop-element settings_select bootstrap-focus-style" data-setting-widget-type="number"> <select name="realm_invite_to_stream_policy" id="id_realm_invite_to_stream_policy" class="prop-element settings_select bootstrap-focus-style" data-setting-widget-type="number">
{{> dropdown_options_widget option_values=common_policy_values}} {{> dropdown_options_widget option_values=common_policy_values}}
</select> </select>
@ -186,7 +186,7 @@
</div> </div>
<div class="input-group"> <div class="input-group">
<label for="realm_move_messages_between_streams_policy">{{t "Who can move messages to another stream" }} <label for="realm_move_messages_between_streams_policy">{{t "Who can move messages to another channel" }}
</label> </label>
<select name="realm_move_messages_between_streams_policy" class="setting-widget prop-element bootstrap-focus-style move-message-policy-setting settings_select" id="id_realm_move_messages_between_streams_policy" data-setting-widget-type="number"> <select name="realm_move_messages_between_streams_policy" class="setting-widget prop-element bootstrap-focus-style move-message-policy-setting settings_select" id="id_realm_move_messages_between_streams_policy" data-setting-widget-type="number">
{{> dropdown_options_widget option_values=move_messages_between_streams_policy_values}} {{> dropdown_options_widget option_values=move_messages_between_streams_policy_values}}
@ -194,7 +194,7 @@
</div> </div>
<div class="input-group time-limit-setting"> <div class="input-group time-limit-setting">
<label for="realm_move_messages_between_streams_limit_seconds" class="dropdown-title">{{t "Time limit for moving messages between streams" }} <i>({{t "does not apply to moderators and administrators" }})</i></label> <label for="realm_move_messages_between_streams_limit_seconds" class="dropdown-title">{{t "Time limit for moving messages between channels" }} <i>({{t "does not apply to moderators and administrators" }})</i></label>
<select name="realm_move_messages_between_streams_limit_seconds" id="id_realm_move_messages_between_streams_limit_seconds" class="prop-element bootstrap-focus-style settings_select" data-setting-widget-type="time-limit"> <select name="realm_move_messages_between_streams_limit_seconds" id="id_realm_move_messages_between_streams_limit_seconds" class="prop-element bootstrap-focus-style settings_select" data-setting-widget-type="time-limit">
{{#each msg_move_limit_dropdown_values}} {{#each msg_move_limit_dropdown_values}}
<option value="{{value}}">{{text}}</option> <option value="{{value}}">{{text}}</option>

View File

@ -17,7 +17,7 @@
<div class="progressive-table-wrapper" data-simplebar> <div class="progressive-table-wrapper" data-simplebar>
<table class="table table-striped wrapped-table"> <table class="table table-striped wrapped-table">
<thead class="table-sticky-headers"> <thead class="table-sticky-headers">
<th data-sort="alphabetic" data-sort-prop="stream">{{t "Stream" }}</th> <th data-sort="alphabetic" data-sort-prop="stream">{{t "Channel" }}</th>
<th data-sort="alphabetic" data-sort-prop="topic">{{t "Topic" }}</th> <th data-sort="alphabetic" data-sort-prop="topic">{{t "Topic" }}</th>
<th data-sort="numeric" data-sort-prop="visibility_policy">{{t "Status" }}</th> <th data-sort="numeric" data-sort-prop="visibility_policy">{{t "Status" }}</th>
<th data-sort="numeric" data-sort-prop="date_updated" class="active topic_date_updated">{{t "Date updated" }}</th> <th data-sort="numeric" data-sort-prop="date_updated" class="active topic_date_updated">{{t "Date updated" }}</th>

View File

@ -1,7 +1,7 @@
<div class="add_subscribers_container"> <div class="add_subscribers_container">
<div class="pill-container person_picker"> <div class="pill-container person_picker">
<div class="input" contenteditable="true" <div class="input" contenteditable="true"
data-placeholder="{{t 'Add subscribers. Use usergroup or #streamname to bulk add subscribers.' }}"> data-placeholder="{{t 'Add subscribers. Use usergroup or #channelname to bulk add subscribers.' }}">
{{~! Squash whitespace so that placeholder is displayed when empty. ~}} {{~! Squash whitespace so that placeholder is displayed when empty. ~}}
</div> </div>
</div> </div>

View File

@ -1,7 +1,7 @@
<label class="checkbox"> <label class="checkbox">
<input type="checkbox" name="announce" value="announce" checked /> <input type="checkbox" name="announce" value="announce" checked />
<span></span> <span></span>
{{t "Announce new stream in"}} {{t "Announce new channel in"}}
{{#if new_stream_announcements_stream_sub}} {{#if new_stream_announcements_stream_sub}}
<strong> <strong>
{{> ../inline_decorated_stream_name {{> ../inline_decorated_stream_name

View File

@ -63,7 +63,7 @@
<span class="stream-message-count-text">{{stream_weekly_traffic}}</span> <span class="stream-message-count-text">{{stream_weekly_traffic}}</span>
</div> </div>
{{else}} {{else}}
<div class="stream-message-count tippy-zulip-tooltip" data-tippy-content="{{t 'Stream created recently' }}"> <div class="stream-message-count tippy-zulip-tooltip" data-tippy-content="{{t 'Channel created recently' }}">
<span class="stream-message-count-text">{{t "New" }}</span> <span class="stream-message-count-text">{{t "New" }}</span>
</div> </div>
{{/if}} {{/if}}

View File

@ -1,6 +1,6 @@
<div> <div>
<label for="change_stream_name"> <label for="change_stream_name">
{{t 'Stream name' }} {{t 'Channel name' }}
</label> </label>
<input type="text" id="change_stream_name" class="modal_text_input" name="stream_name" value="{{ stream_name }}" maxlength="{{ max_stream_name_length }}" /> <input type="text" id="change_stream_name" class="modal_text_input" name="stream_name" value="{{ stream_name }}" maxlength="{{ max_stream_name_length }}" />
</div> </div>

View File

@ -1,7 +1,7 @@
<div class="confirm-stream-privacy-modal"> <div class="confirm-stream-privacy-modal">
<div class="new-style"> <div class="new-style">
<p class="confirm-stream-privacy-info"> <p class="confirm-stream-privacy-info">
{{t "This change will make this stream's entire message history accessible according to the new configuration."}} {{t "This change will make this channel's entire message history accessible according to the new configuration."}}
</p> </p>
</div> </div>
</div> </div>

View File

@ -1,7 +1,7 @@
<div class="copy-email-modal"> <div class="copy-email-modal">
<div class="new-style"> <div class="new-style">
<p class="question-which-parts"> <p class="question-which-parts">
{{t "Which parts of the email should be included in the Zulip message sent to this stream?"}} {{t "Which parts of the email should be included in the Zulip message sent to this channel?"}}
</p> </p>
{{#each tags}} {{#each tags}}
{{#if (eq this.name "prefer-html") }} {{#if (eq this.name "prefer-html") }}
@ -17,7 +17,7 @@
{{/each}} {{/each}}
<hr /> <hr />
<p class="stream-email-header"> <p class="stream-email-header">
{{t "Stream email address:"}} {{t "Channel email address:"}}
</p> </p>
<div class="stream-email"> <div class="stream-email">
<div class="email-address">{{email_address}}</div> <div class="email-address">{{email_address}}</div>

View File

@ -25,7 +25,7 @@
<th data-sort="email">{{t "Email" }}</th> <th data-sort="email">{{t "Email" }}</th>
<th>{{t "Action" }}</th> <th>{{t "Action" }}</th>
</thead> </thead>
<tbody id="create_stream_subscribers" class="subscriber_table" data-empty="{{t 'This stream has no subscribers.' }}" data-search-results-empty="{{t 'No stream subscribers match your current filter.'}}"></tbody> <tbody id="create_stream_subscribers" class="subscriber_table" data-empty="{{t 'This channel has no subscribers.' }}" data-search-results-empty="{{t 'No channel subscribers match your current filter.'}}"></tbody>
</table> </table>
</div> </div>
</div> </div>

View File

@ -1,5 +1,5 @@
<div class="hide" id="stream-creation" tabindex="-1" role="dialog" <div class="hide" id="stream-creation" tabindex="-1" role="dialog"
aria-label="{{t 'Stream creation' }}"> aria-label="{{t 'Channel creation' }}">
<form id="stream_creation_form"> <form id="stream_creation_form">
<div class="stream-creation-simplebar-container" data-simplebar> <div class="stream-creation-simplebar-container" data-simplebar>
<div class="alert stream_create_info"></div> <div class="alert stream_create_info"></div>
@ -7,19 +7,19 @@
<div class="stream-creation-body"> <div class="stream-creation-body">
<section class="block"> <section class="block">
<label for="create_stream_name"> <label for="create_stream_name">
{{t "Stream name" }} {{t "Channel name" }}
</label> </label>
<input type="text" name="stream_name" id="create_stream_name" class="settings_text_input" <input type="text" name="stream_name" id="create_stream_name" class="settings_text_input"
placeholder="{{t 'Stream name' }}" value="" autocomplete="off" maxlength="{{ max_stream_name_length }}" /> placeholder="{{t 'Channel name' }}" value="" autocomplete="off" maxlength="{{ max_stream_name_length }}" />
<div id="stream_name_error" class="stream_creation_error"></div> <div id="stream_name_error" class="stream_creation_error"></div>
</section> </section>
<section class="block"> <section class="block">
<label for="create_stream_description"> <label for="create_stream_description">
{{t "Stream description" }} {{t "Channel description" }}
{{> ../help_link_widget link="/help/change-the-stream-description" }} {{> ../help_link_widget link="/help/change-the-stream-description" }}
</label> </label>
<input type="text" name="stream_description" id="create_stream_description" class="settings_text_input" <input type="text" name="stream_description" id="create_stream_description" class="settings_text_input"
placeholder="{{t 'Stream description' }}" value="" autocomplete="off" maxlength="{{ max_stream_description_length }}" /> placeholder="{{t 'Channel description' }}" value="" autocomplete="off" maxlength="{{ max_stream_description_length }}" />
</section> </section>
{{#if ask_to_announce_stream}} {{#if ask_to_announce_stream}}
<div id="announce-new-stream"> <div id="announce-new-stream">
@ -28,7 +28,7 @@
{{/if}} {{/if}}
<section class="block" id="make-invite-only"> <section class="block" id="make-invite-only">
<div class="stream-types"> <div class="stream-types">
<h3 class="stream_setting_subsection_title">{{t "Stream permissions" }}</h3> <h3 class="stream_setting_subsection_title">{{t "Channel permissions" }}</h3>
{{> stream_types {{> stream_types
stream_post_policy=stream_post_policy_values.everyone.code stream_post_policy=stream_post_policy_values.everyone.code
is_stream_edit=false is_stream_edit=false

View File

@ -4,6 +4,6 @@
</span> </span>
{{else}} {{else}}
<span class="sub-stream-description no-description"> <span class="sub-stream-description no-description">
{{t "This stream does not yet have a description." }} {{t "This channel does not yet have a description." }}
</span> </span>
{{/if}} {{/if}}

View File

@ -27,7 +27,7 @@
<th>{{t "Actions" }}</th> <th>{{t "Actions" }}</th>
{{/if}} {{/if}}
</thead> </thead>
<tbody class="subscriber_table" data-empty="{{t 'This stream has no subscribers.' }}" data-search-results-empty="{{t 'No stream subscribers match your current filter.'}}"></tbody> <tbody class="subscriber_table" data-empty="{{t 'This channel has no subscribers.' }}" data-search-results-empty="{{t 'No channel subscribers match your current filter.'}}"></tbody>
</table> </table>
</div> </div>
</div> </div>

View File

@ -6,7 +6,7 @@
<template id="cannot-subscribe-tooltip-template"> <template id="cannot-subscribe-tooltip-template">
<span> <span>
{{#tr}} {{#tr}}
Cannot subscribe to private stream <z-stream></z-stream> Cannot subscribe to private channel <z-stream></z-stream>
{{#*inline "z-stream"}}{{> ../inline_decorated_stream_name stream=../sub}}{{/inline}} {{#*inline "z-stream"}}{{> ../inline_decorated_stream_name stream=../sub}}{{/inline}}
{{/tr}} {{/tr}}
</span> </span>
@ -21,7 +21,7 @@
</div> </div>
<a href="{{preview_url}}" class="button small rounded tippy-zulip-delayed-tooltip" id="preview-stream-button" role="button" data-tooltip-template-id="view-stream-tooltip-template" data-tippy-placement="bottom" {{#unless should_display_preview_button }}style="display: none"{{/unless}}><i class="fa fa-eye"></i></a> <a href="{{preview_url}}" class="button small rounded tippy-zulip-delayed-tooltip" id="preview-stream-button" role="button" data-tooltip-template-id="view-stream-tooltip-template" data-tippy-placement="bottom" {{#unless should_display_preview_button }}style="display: none"{{/unless}}><i class="fa fa-eye"></i></a>
{{#if is_realm_admin}} {{#if is_realm_admin}}
<button class="button small rounded btn-danger deactivate tippy-zulip-delayed-tooltip" type="button" name="delete_button" data-tippy-content="{{t 'Archive stream'}}"> <i class="fa fa-trash-o" aria-hidden="true"></i></button> <button class="button small rounded btn-danger deactivate tippy-zulip-delayed-tooltip" type="button" name="delete_button" data-tippy-content="{{t 'Archive channel'}}"> <i class="fa fa-trash-o" aria-hidden="true"></i></button>
{{/if}} {{/if}}
</div> </div>
{{/with}} {{/with}}
@ -43,7 +43,7 @@
</div> </div>
<div class="stream_change_property_info alert-notification"></div> <div class="stream_change_property_info alert-notification"></div>
<div class="button-group" {{#unless can_change_name_description}}style="display:none"{{/unless}}> <div class="button-group" {{#unless can_change_name_description}}style="display:none"{{/unless}}>
<button id="open_stream_info_modal" class="button rounded small btn-warning tippy-zulip-delayed-tooltip" data-tippy-content="{{t 'Edit stream name and description' }}"> <button id="open_stream_info_modal" class="button rounded small btn-warning tippy-zulip-delayed-tooltip" data-tippy-content="{{t 'Edit channel name and description' }}">
<i class="fa fa-pencil" aria-hidden="true"></i> <i class="fa fa-pencil" aria-hidden="true"></i>
</button> </button>
</div> </div>
@ -55,7 +55,7 @@
</div> </div>
<div class="stream-permissions settings-subsection-parent" id="stream_permission_settings"> <div class="stream-permissions settings-subsection-parent" id="stream_permission_settings">
<div class="subsection-header"> <div class="subsection-header">
<h3 class="stream_setting_subsection_title">{{t "Stream permissions" }} <h3 class="stream_setting_subsection_title">{{t "Channel permissions" }}
</h3> </h3>
{{> ../settings/settings_save_discard_widget section_name="stream-permissions" }} {{> ../settings/settings_save_discard_widget section_name="stream-permissions" }}
</div> </div>
@ -78,7 +78,7 @@
<div class="stream_details_box"> <div class="stream_details_box">
<div class="stream_details_box_header"> <div class="stream_details_box_header">
<h3 class="stream_setting_subsection_title"> <h3 class="stream_setting_subsection_title">
{{t "Stream details" }} {{t "Channel details" }}
</h3> </h3>
<div class="stream_email_address_error alert-notification"></div> <div class="stream_email_address_error alert-notification"></div>
</div> </div>
@ -105,7 +105,7 @@
{{/if}} {{/if}}
</div> </div>
<div class="stream_details_subsection"> <div class="stream_details_subsection">
{{t "Stream ID"}}<br/> {{t "Channel ID"}}<br/>
{{stream_id}} {{stream_id}}
</div> </div>
{{/with}} {{/with}}
@ -113,7 +113,7 @@
<div class="input-group stream-email-box"> <div class="input-group stream-email-box">
<label for="copy_stream_email_button" class="title inline-block">Email address</label> <label for="copy_stream_email_button" class="title inline-block">Email address</label>
<p class="field-hint"> <p class="field-hint">
{{t "You can use email to send messages to Zulip streams."}} {{t "You can use email to send messages to Zulip channels."}}
{{> ../help_link_widget link="/help/message-a-stream-by-email" }} {{> ../help_link_widget link="/help/message-a-stream-by-email" }}
</p> </p>
<button class="button small rounded copy_email_button" id="copy_stream_email_button" type="button"> <button class="button small rounded copy_email_button" id="copy_stream_email_button" type="button">
@ -144,7 +144,7 @@
</div> </div>
{{/each}} {{/each}}
<div class="input-group"> <div class="input-group">
<label for="streamcolor">{{t "Stream color" }}</label> <label for="streamcolor">{{t "Channel color" }}</label>
<span class="sub_setting_control"> <span class="sub_setting_control">
<input stream_id="{{sub.stream_id}}" class="colorpicker" id="streamcolor" type="text" value="{{sub.color}}" tabindex="-1" /> <input stream_id="{{sub.stream_id}}" class="colorpicker" id="streamcolor" type="text" value="{{sub.color}}" tabindex="-1" />
</span> </span>
@ -154,7 +154,7 @@
<div class="subsection-header"> <div class="subsection-header">
<h4 class="stream_setting_subsection_title">{{t "Notification settings" }}</h4> <h4 class="stream_setting_subsection_title">{{t "Notification settings" }}</h4>
<div class="stream_change_property_status alert-notification"></div> <div class="stream_change_property_status alert-notification"></div>
<p>{{t "In muted streams, stream notification settings apply only to unmuted topics." }}</p> <p>{{t "In muted channels, channel notification settings apply only to unmuted topics." }}</p>
</div> </div>
<div class="input-group"> <div class="input-group">
<button class="button small rounded reset-stream-notifications-button" type="button">{{t "Reset to default notifications" }}</button> <button class="button small rounded reset-stream-notifications-button" type="button">{{t "Reset to default notifications" }}</button>

View File

@ -1,6 +1,6 @@
{{#unless can_change_stream_permissions}} {{#unless can_change_stream_permissions}}
{{#if can_change_name_description}} {{#if can_change_name_description}}
<div class="tip">{{t "Only subscribers to this stream can edit stream permissions."}}</div> <div class="tip">{{t "Only subscribers to this channel can edit channel permissions."}}</div>
{{else}} {{else}}
<div class="tip">{{t "Only organization administrators can edit these settings."}}</div> <div class="tip">{{t "Only organization administrators can edit these settings."}}</div>
{{/if}} {{/if}}

View File

@ -1,6 +1,6 @@
<div class="input-group stream-privacy-values"> <div class="input-group stream-privacy-values">
<div class="alert stream-privacy-status"></div> <div class="alert stream-privacy-status"></div>
<label>{{t 'Who can access the stream?'}} <label>{{t 'Who can access the channel?'}}
{{> ../help_link_widget link="/help/stream-permissions" }} {{> ../help_link_widget link="/help/stream-permissions" }}
</label> </label>
@ -21,13 +21,13 @@
prefix="id_" prefix="id_"
setting_name="is_default_stream" setting_name="is_default_stream"
is_checked=check_default_stream is_checked=check_default_stream
label="Default stream for new users" label=(t "Default channel for new users")
help_link="/help/set-default-streams-for-new-users" help_link="/help/set-default-streams-for-new-users"
}} }}
</div> </div>
<div class="input-group"> <div class="input-group">
<label class="dropdown-title">{{t 'Who can post to the stream?'}} <label class="dropdown-title">{{t 'Who can post to the channel?'}}
{{> ../help_link_widget link="/help/stream-sending-policy" }} {{> ../help_link_widget link="/help/stream-sending-policy" }}
</label> </label>
<select name="stream-post-policy" class="stream_post_policy_setting prop-element settings_select bootstrap-focus-style" id="id_stream_post_policy" data-setting-widget-type="number"> <select name="stream-post-policy" class="stream_post_policy_setting prop-element settings_select bootstrap-focus-style" id="id_stream_post_policy" data-setting-widget-type="number">
@ -41,7 +41,7 @@
{{> ../dropdown_widget_with_label {{> ../dropdown_widget_with_label
widget_name=can_remove_subscribers_setting_widget_name widget_name=can_remove_subscribers_setting_widget_name
label=(t 'Who can unsubscribe others from this stream?') label=(t 'Who can unsubscribe others from this channel?')
value_type="number"}} value_type="number"}}
{{#if (or is_owner is_stream_edit)}} {{#if (or is_owner is_stream_edit)}}

View File

@ -41,6 +41,6 @@
{{#if is_unsubscribed}} {{#if is_unsubscribed}}
&nbsp; &nbsp;
<span class="fa fa-exclamation-triangle unsubscribed_icon" <span class="fa fa-exclamation-triangle unsubscribed_icon"
title="{{t 'You are not currently subscribed to this stream.' }}"></span> title="{{t 'You are not currently subscribed to this channel.' }}"></span>
{{/if}} {{/if}}
{{~/if}} {{~/if}}

View File

@ -1,7 +1,7 @@
<div class="add_members_container"> <div class="add_members_container">
<div class="pill-container person_picker"> <div class="pill-container person_picker">
<div class="input" contenteditable="true" <div class="input" contenteditable="true"
data-placeholder="{{t 'Add members. Use usergroup or #streamname to bulk add members.' }}"> data-placeholder="{{t 'Add members. Use usergroup or #channelname to bulk add members.' }}">
{{~! Squash whitespace so that placeholder is displayed when empty. ~}} {{~! Squash whitespace so that placeholder is displayed when empty. ~}}
</div> </div>
</div> </div>

View File

@ -8,7 +8,7 @@
{{#if show_unsubscribe_button}} {{#if show_unsubscribe_button}}
<td class="remove_subscription"> <td class="remove_subscription">
<div class="subscription_list_remove"> <div class="subscription_list_remove">
<button type="button" name="unsubscribe" class="remove-subscription-button button small rounded btn-danger {{#if (or show_private_stream_unsub_tooltip show_last_user_in_private_stream_unsub_tooltip)}}tippy-zulip-tooltip{{/if}}" data-tippy-content='{{#if show_private_stream_unsub_tooltip}}{{t "Use stream settings to unsubscribe from private streams."}}{{else}}{{t "Use stream settings to unsubscribe the last user from a private stream."}}{{/if}}'> <button type="button" name="unsubscribe" class="remove-subscription-button button small rounded btn-danger {{#if (or show_private_stream_unsub_tooltip show_last_user_in_private_stream_unsub_tooltip)}}tippy-zulip-tooltip{{/if}}" data-tippy-content='{{#if show_private_stream_unsub_tooltip}}{{t "Use channel settings to unsubscribe from private channels."}}{{else}}{{t "Use channel settings to unsubscribe the last user from a private channel."}}{{/if}}'>
{{t 'Unsubscribe' }} {{t 'Unsubscribe' }}
</button> </button>
</div> </div>