mirror of https://github.com/zulip/zulip.git
parent
82b5d9304b
commit
ac13187d76
|
@ -3,21 +3,21 @@
|
|||
{{#if can_edit_message}}
|
||||
<li>
|
||||
<a href="#" class="popover_edit_message" data-msgid="{{message.id}}">
|
||||
<i class="icon-vector-pencil"></i> Edit
|
||||
<i class="icon-vector-pencil"></i> {{t "Edit" }}
|
||||
</a>
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
<li>
|
||||
<a href="#" class="respond_button">
|
||||
<i class="icon-vector-share-alt"></i> Reply
|
||||
<i class="icon-vector-share-alt"></i> {{t "Reply" }}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="#" class="popover_toggle_collapse" data-msgid="{{message.id}}">
|
||||
<i class="{{#if message.collapsed}}icon-vector-plus{{else}}icon-vector-minus{{/if}}"></i>
|
||||
{{#if message.collapsed}}Un-collapse{{else}}Collapse{{/if}}
|
||||
{{#if message.collapsed}}{{t "Un-collapse" }}{{else}}{{t "Collapse" }}{{/if}}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
@ -25,7 +25,7 @@
|
|||
<li>
|
||||
<a href="#" class="popover_mute_topic" data-msg-stream="{{message.stream}}" data-msg-topic="{{message.subject}}">
|
||||
<i class="icon-vector-eye-close"></i>
|
||||
Mute the topic <b>{{message.subject}}</b>
|
||||
{{#tr message}}Mute the topic <b>__subject__</b>{{/tr}}
|
||||
</a>
|
||||
</li>
|
||||
{{/if}}
|
||||
|
@ -34,14 +34,14 @@
|
|||
<li>
|
||||
<a href="#" class="popover_unmute_topic" data-msg-stream="{{message.stream}}" data-msg-topic="{{message.subject}}">
|
||||
<i class="icon-vector-eye-open"></i>
|
||||
Unmute the topic <b>{{message.subject}}</b>
|
||||
{{#tr message}}Unmute the topic <b>__subject__</b>{{/tr}}
|
||||
</a>
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
<li>
|
||||
<a href="{{ conversation_time_uri }}" class="popover_narrow_by_conversation_and_time" data-msgid="{{message.id}}">
|
||||
<i class="icon-vector-link"></i> Link to this conversation
|
||||
<i class="icon-vector-link"></i> {{t "Link to this conversation" }}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
</td>
|
||||
<td>
|
||||
<button class="btn delete btn-danger" data-emoji-name="{{name}}">
|
||||
Delete
|
||||
{{t "Delete" }}
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
</td>
|
||||
<td>
|
||||
<button class="btn deactivate btn-danger">
|
||||
Delete stream
|
||||
{{t "Delete stream" }}
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -2,29 +2,29 @@
|
|||
<div class="span12">
|
||||
<div class="administration">
|
||||
<div class="alert" id="administration-status"></div>
|
||||
<h1><i class="icon-vector-bolt administration-icon"></i>Administration</h1>
|
||||
<h1><i class="icon-vector-bolt administration-icon"></i>{{t "Administration" }}</h1>
|
||||
<ul class="nav nav-tabs" role="tablist">
|
||||
<li role="presentation" class="active">
|
||||
<a href="#organization" aria-controls="organization" role="tab" data-toggle="tab"><i class="icon-vector-gear settings-section-icon"></i> Organization settings</a>
|
||||
<a href="#organization" aria-controls="organization" role="tab" data-toggle="tab"><i class="icon-vector-gear settings-section-icon"></i> {{t "Organization settings" }}</a>
|
||||
</li>
|
||||
<li role="presentation">
|
||||
<a href="#users" aria-controls="users" role="tab" data-toggle="tab"><i class="icon-vector-user settings-section-icon"></i> Users</a>
|
||||
<a href="#users" aria-controls="users" role="tab" data-toggle="tab"><i class="icon-vector-user settings-section-icon"></i> {{t "Users" }}</a>
|
||||
</li>
|
||||
<li role="presentation">
|
||||
<a href="#deactivated-users" aria-controls="deactivated-users" role="tab" data-toggle="tab"><i class="icon-vector-trash settings-section-icon"></i> Deactivated Users</a>
|
||||
<a href="#deactivated-users" aria-controls="deactivated-users" role="tab" data-toggle="tab"><i class="icon-vector-trash settings-section-icon"></i> {{t "Deactivated Users" }}</a>
|
||||
</li>
|
||||
<li role="presentation">
|
||||
<a href="#bots" aria-controls="bots" role="tab" data-toggle="tab"><i class="icon-vector-github settings-section-icon"></i> Bots</a>
|
||||
<a href="#bots" aria-controls="bots" role="tab" data-toggle="tab"><i class="icon-vector-github settings-section-icon"></i> {{t "Bots" }}</a>
|
||||
</li>
|
||||
<li role="presentation">
|
||||
<a href="#streams" aria-controls="streams" role="tab" data-toggle="tab"><i class="icon-vector-exchange settings-section-icon"></i> Streams Deletion</a>
|
||||
<a href="#streams" aria-controls="streams" role="tab" data-toggle="tab"><i class="icon-vector-exchange settings-section-icon"></i> {{t "Streams Deletion" }}</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
<div role="tabpanel" class="tab-pane active" id="organization">
|
||||
<div id="organization-settings" class="settings-section">
|
||||
<div class="settings-section-title"><i class="icon-vector-gear settings-section-icon"></i>
|
||||
Organization settings</div>
|
||||
{{t "Organization settings" }}</div>
|
||||
<form class="form-horizontal admin-realm-form">
|
||||
<div class="control-group admin-realm">
|
||||
<div class="alert" id="admin-realm-name-status"></div>
|
||||
|
@ -39,19 +39,19 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label for="realm_restricted_to_domain" title="If checked, only users with an @{{ domain }} e-mail address will be able to join the organization." class="control-label">Users restricted to {{ domain }}</label>
|
||||
<label for="realm_restricted_to_domain" title="{{#tr this}}If checked, only users with an @__domain__ e-mail address will be able to join the organization.{{/tr}}" class="control-label">{{#tr this}}Users restricted to __domain__{{/tr}}</label>
|
||||
<div class="controls">
|
||||
<input type="checkbox" id="id_realm_restricted_to_domain" name="realm_restricted_to_domain" {{#if realm_restricted_to_domain}}checked="checked"{{/if}} />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label for="realm_invite_required" title="If checked, users must be invited in order to join your organization." class="control-label">E-mail invitation required</label>
|
||||
<label for="realm_invite_required" title="{{t 'If checked, users must be invited in order to join your organization.' }}" class="control-label">{{t "E-mail invitation required" }}</label>
|
||||
<div class="controls">
|
||||
<input type="checkbox" id="id_realm_invite_required" name="realm_invite_required" {{#if realm_invite_required}}checked="checked"{{/if}} />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label for="realm_invite_by_admins_only" id="id_realm_invite_by_admins_only_label" title="If checked, only administrators may invite new users." class="control-label{{#unless realm_invite_required}} control-label-disabled{{/unless}}">Only admins may invite</label>
|
||||
<label for="realm_invite_by_admins_only" id="id_realm_invite_by_admins_only_label" title="{{t 'If checked, only administrators may invite new users.' }}" class="control-label{{#unless realm_invite_required}} control-label-disabled{{/unless}}">{{t "Only admins may invite" }}</label>
|
||||
<div class="controls">
|
||||
<input type="checkbox" id="id_realm_invite_by_admins_only" name="realm_invite_by_admins_only" {{#unless realm_invite_required}}disabled="disabled"{{/unless}} {{#if realm_invite_by_admins_only}}checked="checked"{{/if}} />
|
||||
</div>
|
||||
|
@ -63,40 +63,40 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="controls organization-submission">
|
||||
<input type="submit" class="btn btn-big btn-primary" value="Save changes" />
|
||||
<input type="submit" class="btn btn-big btn-primary" value="{{t 'Save changes' }}" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div id="emoji-settings" class="settings-section">
|
||||
<div class="settings-section-title"><i class="icon-vector-smile settings-section-icon"></i>
|
||||
Custom realm emoji</div>
|
||||
{{t "Custom realm emoji" }}</div>
|
||||
<div class="admin-table-wrapper">
|
||||
<table class="table table-condensed table-striped admin_emoji_table">
|
||||
<tbody id="admin_emoji_table">
|
||||
<th>Name</th>
|
||||
<th class="image">Image</th>
|
||||
<th class="actions">Actions</th>
|
||||
<th>{{t "Name" }}</th>
|
||||
<th class="image">{{t "Image" }}</th>
|
||||
<th class="actions">{{t "Actions" }}</th>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<form class="form-horizontal admin-emoji-form">
|
||||
<div class="add-new-emoji-box">
|
||||
<div class="new-emoji-form">
|
||||
<div class="settings-section-title new-emoji-section-title">Add a New Emoji</div>
|
||||
<div class="settings-section-title new-emoji-section-title">{{t "Add a New Emoji" }}</div>
|
||||
<div class="alert" id="admin-emoji-status"></div>
|
||||
<div class="control-group">
|
||||
<label for="emoji_name" class="control-label">Emoji name</label>
|
||||
<label for="emoji_name" class="control-label">{{t "Emoji name" }}</label>
|
||||
<input type="text" name="name" id="emoji_name" placeholder="mouse_face" />
|
||||
<div class="alert" id="admin-emoji-name-status"></div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label for="emoji_url" class="control-label">Emoji URL</label>
|
||||
<label for="emoji_url" class="control-label">{{t "Emoji URL" }}</label>
|
||||
<input type="text" name="url" id="emoji_url" placeholder="http://emojipedia-us.s3.amazonaws.com/cache/46/7f/467fe69069c408e07517621f263ea9b5.png" />
|
||||
<div class="alert" id="admin-emoji-url-status"></div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<input type="submit" class="btn btn-big btn-primary" value="Add emoji" />
|
||||
<input type="submit" class="btn btn-big btn-primary" value="{{t 'Add emoji' }}" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -107,12 +107,12 @@
|
|||
<div role="tabpanel" class="tab-pane" id="users">
|
||||
<div id="admin-user-list" class="settings-section">
|
||||
<div class="settings-section-title"><i class="icon-vector-user settings-section-icon"></i>
|
||||
Users</div>
|
||||
{{t "Users" }}</div>
|
||||
<table class="table table-condensed table-striped">
|
||||
<tbody id="admin_users_table" class="admin_user_table">
|
||||
<th>Name</th>
|
||||
<th>Email</th>
|
||||
<th>Actions</th>
|
||||
<th>{{t "Name" }}</th>
|
||||
<th>{{t "Email" }}</th>
|
||||
<th>{{t "Actions" }}</th>
|
||||
</tbody>
|
||||
</table>
|
||||
<div id="admin_page_users_loading_indicator"></div>
|
||||
|
@ -121,12 +121,12 @@
|
|||
<div role="tabpanel" class="tab-pane" id="deactivated-users">
|
||||
<div id="admin-deactivated-users-list" class="settings-section">
|
||||
<div class="settings-section-title"><i class="icon-vector-trash settings-section-icon"></i>
|
||||
Deactivated Users</div>
|
||||
{{t "Deactivated Users" }}</div>
|
||||
<table class="table table-condensed table-striped">
|
||||
<tbody id="admin_deactivated_users_table" class="admin_user_table">
|
||||
<th>Name</th>
|
||||
<th>Email</th>
|
||||
<th>Actions</th>
|
||||
<th>{{t "Name" }}</th>
|
||||
<th>{{t "Email" }}</th>
|
||||
<th>{{t "Actions" }}</th>
|
||||
</tbody>
|
||||
</table>
|
||||
<div id="admin_page_deactivated_users_loading_indicator"></div>
|
||||
|
@ -135,13 +135,13 @@
|
|||
<div role="tabpanel" class="tab-pane" id="bots">
|
||||
<div id="admin-user-list" class="settings-section">
|
||||
<div class="settings-section-title"><i class="icon-vector-github settings-section-icon"></i>
|
||||
Bots</div>
|
||||
{{t "Bots" }}</div>
|
||||
<table class="table table-condensed table-striped">
|
||||
<tbody id="admin_bots_table" class="admin_bot_table">
|
||||
<th>Name</th>
|
||||
<th>Email</th>
|
||||
<th>Owner</th>
|
||||
<th>Actions</th>
|
||||
<th>{{t "Name" }}</th>
|
||||
<th>{{t "Email" }}</th>
|
||||
<th>{{t "Owner" }}</th>
|
||||
<th>{{t "Actions" }}</th>
|
||||
</tbody>
|
||||
</table>
|
||||
<div id="admin_page_bots_loading_indicator"></div>
|
||||
|
@ -155,8 +155,8 @@
|
|||
|
||||
<table class="table table-condensed table-striped">
|
||||
<tbody id="admin_streams_table" class="admin_stream_table">
|
||||
<th>Name</th>
|
||||
<th>Actions</th>
|
||||
<th>{{t "Name" }}</th>
|
||||
<th>{{t "Actions" }}</th>
|
||||
</tbody>
|
||||
</table>
|
||||
<div id="admin_page_streams_loading_indicator"></div>
|
||||
|
@ -167,28 +167,28 @@
|
|||
<div id="deactivation_user_modal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="deactivation_user_modal_label" aria-hidden="true">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h3 id="deactivation_user_modal_label">Deactivate <span class="email"></span></h3>
|
||||
<h3 id="deactivation_user_modal_label">{{t "Deactivate" }} <span class="email"></span></h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>By deactivating <strong><span class="user_name"></span></strong> <<span class="email"></span>>, they will be logged out immediately.</p>
|
||||
<p>Their password will be cleared from our systems, and any bots they maintain will be disabled.</p>
|
||||
<p>{{#tr this}}By deactivating <strong><span class="user_name"></span></strong> <<span class="email"></span>>, they will be logged out immediately.{{/tr}}</p>
|
||||
<p>{{t "Their password will be cleared from our systems, and any bots they maintain will be disabled." }}</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn btn-default" data-dismiss="modal" aria-hidden="true">Cancel</button>
|
||||
<button class="btn btn-danger" id="do_deactivate_user_button">Deactivate now</button>
|
||||
<button class="btn btn-default" data-dismiss="modal" aria-hidden="true">{{t "Cancel" }}</button>
|
||||
<button class="btn btn-danger" id="do_deactivate_user_button">{{t "Deactivate now" }}</button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="deactivation_stream_modal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="deactivation_stream_modal_label" aria-hidden="true">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h3 id="deactivation_stream_modal_label">Delete stream <span class="stream_name"></span></h3>
|
||||
<h3 id="deactivation_stream_modal_label">{{t "Delete stream" }} <span class="stream_name"></span></h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>Deleting this stream will immediately unsubscribe everyone, and the stream's content will not be recoverable. <strong>Are you sure you want to do this?</strong></p>
|
||||
<p>{{t "Deleting this stream will immediately unsubscribe everyone, and the stream's content will not be recoverable." }} <strong>{{t "Are you sure you want to do this?" }}</strong></p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn btn-default" data-dismiss="modal" aria-hidden="true">Cancel</button>
|
||||
<button class="btn btn-danger" id="do_deactivate_stream_button">Yes, delete this stream</button>
|
||||
<button class="btn btn-default" data-dismiss="modal" aria-hidden="true">{{t "Cancel" }}</button>
|
||||
<button class="btn btn-danger" id="do_deactivate_stream_button">{{t "Yes, delete this stream" }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -14,22 +14,22 @@
|
|||
<td>
|
||||
{{#if is_active}}
|
||||
<button class="btn deactivate btn-danger">
|
||||
Deactivate
|
||||
{{t "Deactivate" }}
|
||||
</button>
|
||||
{{else}}
|
||||
<button class="btn reactivate btn-warning">
|
||||
Reactivate
|
||||
{{t "Reactivate" }}
|
||||
</button>
|
||||
{{/if}}
|
||||
<span class="user-admin-settings">
|
||||
{{#if is_active_human}}
|
||||
{{#if is_admin}}
|
||||
<button class="btn remove-admin btn-danger">
|
||||
Remove admin
|
||||
{{t "Remove admin" }}
|
||||
</button>
|
||||
{{else}}
|
||||
<button class="btn make-admin btn-warning">
|
||||
Make admin
|
||||
{{t "Make admin" }}
|
||||
</button>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{{! Alert word in the settings page that can be removed }}
|
||||
<li class="alert-word-item" data-word='{{word}}'>
|
||||
{{#if editing}}
|
||||
<input class="edit-alert-word input-medium" type="text" placeholder="Alert Word" /><button class="btn btn-default btn-mini add-alert-word" type="button">Add</button>
|
||||
<input class="edit-alert-word input-medium" type="text" placeholder="{{t 'Alert Word' }}" /><button class="btn btn-default btn-mini add-alert-word" type="button">{{t "Add" }}</button>
|
||||
{{else}}
|
||||
{{word}}<button class="btn btn-default btn-mini remove-alert-word" type="button"><i class="icon-vector-remove"></i></button>
|
||||
{{/if}}
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
{{! Explanation of what "announce stream" does when creating a stream }}
|
||||
<div>
|
||||
|
||||
{{#tr this}}
|
||||
<p>Lets everyone know about the new stream,<br />
|
||||
even if you don't add them.</p>
|
||||
{{/tr}}
|
||||
|
||||
</div>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{{! The unread count in the bankruptcy modal }}
|
||||
|
||||
<div class="modal-body">
|
||||
<p>It's been a while! Since you were last here, you received <b>{{unread_count}}</b> new messages.</p>
|
||||
<p>Do you want to skip to your latest messages?</p>
|
||||
<p>{{#tr this}}It's been a while! Since you were last here, you received <b>__unread_count__</b> new messages.{{/tr}}</p>
|
||||
<p>{{t "Do you want to skip to your latest messages?" }}</p>
|
||||
</div>
|
||||
|
|
|
@ -5,25 +5,25 @@
|
|||
<div class="bot_info">
|
||||
<div class="name">{{name}}</div>
|
||||
<div class="email">
|
||||
<span class="field">Username</span>
|
||||
<span class="field">{{t "Username" }}</span>
|
||||
<span class="value">{{email}}</span>
|
||||
</div>
|
||||
<div class="api_key">
|
||||
<span class="field">API Key</span>
|
||||
<span class="field">{{t "API Key" }}</span>
|
||||
<span class="api-key-value-and-button">
|
||||
<span class="value">{{api_key}}
|
||||
</span>
|
||||
<button type="submit" class="btn btn-secondary regenerate_bot_api_key" title="Generate new API key" data-email="{{email}}">
|
||||
<button type="submit" class="btn btn-secondary regenerate_bot_api_key" title="{{t 'Generate new API key' }}" data-email="{{email}}">
|
||||
<i class="icon-vector-refresh"></i>
|
||||
</button>
|
||||
</span>
|
||||
<div class="api_key_error text-error"></div>
|
||||
</div>
|
||||
<div class="edit-bot-buttons">
|
||||
<button type="submit" class="btn btn-primary open_edit_bot_form" title="Edit bot" data-email="{{email}}">
|
||||
<button type="submit" class="btn btn-primary open_edit_bot_form" title="{{t 'Edit bot' }}" data-email="{{email}}">
|
||||
<i class="icon-vector-pencil"></i>
|
||||
</button>
|
||||
<button type="submit" class="btn btn-danger delete_bot" title="Delete bot" data-email="{{email}}">
|
||||
<button type="submit" class="btn btn-danger delete_bot" title="{{t 'Delete bot' }}" data-email="{{email}}">
|
||||
<i class="icon-vector-trash"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
@ -35,33 +35,33 @@
|
|||
<div class="edit_bot_email">{{email}}</div>
|
||||
<div class="edit-bot-form-box">
|
||||
<div class="control-group">
|
||||
<label for="edit_bot_name{{id_suffix}}" class="control-label">Full name</label>
|
||||
<label for="edit_bot_name{{id_suffix}}" class="control-label">{{t "Full name" }}</label>
|
||||
<div class="controls">
|
||||
<input type="text" name="bot_name" id="edit_bot_name{{id_suffix}}" class="edit_bot_name required" maxlength=50 />
|
||||
<div><label for="edit_bot_name{{id_suffix}}" generated="true" class="text-error"></label></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group new-bot-ui">
|
||||
<label for="edit_bot_default_sending_stream{{id_suffix}}" class="control-label">Send to stream</label>
|
||||
<label for="edit_bot_default_sending_stream{{id_suffix}}" class="control-label">{{t "Send to stream" }}</label>
|
||||
<select name="bot_default_sending_stream" class="edit_bot_default_sending_stream" id="edit_bot_default_sending_stream{{id_suffix}}"></select>
|
||||
</div>
|
||||
<div class="control-group new-bot-ui">
|
||||
<label for="edit_bot_default_events_register_stream{{id_suffix}}" class="control-label">Listen on</label>
|
||||
<label for="edit_bot_default_events_register_stream{{id_suffix}}" class="control-label">{{t "Listen on" }}</label>
|
||||
<select name="bot_default_events_register_stream" class="edit_bot_default_events_register_stream" id="edit_bot_default_events_register_stream{{id_suffix}}"></select>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label for="bot_avatar_file_input{{id_suffix}}" class="control-label">Avatar</label>
|
||||
<input type="file" id="bot_avatar_file_input{{id_suffix}}" name="bot_avatar_file_input" class="notvisible edit_bot_avatar_file_input" value="Upload avatar" />
|
||||
<input type="file" id="bot_avatar_file_input{{id_suffix}}" name="bot_avatar_file_input" class="notvisible edit_bot_avatar_file_input" value="{{t 'Upload avatar' }}" />
|
||||
<div class="controls">
|
||||
<div class="edit_bot_avatar_file"></div>
|
||||
<button type="button" class="btn btn-default edit_bot_avatar_upload_button">Choose avatar</button>
|
||||
<button type="button" class="btn btn-default edit_bot_avatar_clear_button">Clear avatar</button>
|
||||
<button type="button" class="btn btn-default edit_bot_avatar_upload_button">{{t "Choose avatar" }}</button>
|
||||
<button type="button" class="btn btn-default edit_bot_avatar_clear_button">{{t "Clear avatar" }}</button>
|
||||
</div>
|
||||
<div><label for="edit_bot_avatar_file{{id_suffix}}" generated="true" class="edit_bot_avatar_error text-error"></label></div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<input type="submit" class="btn btn-primary edit_bot_button" value="Save" />
|
||||
<input type="submit" class="btn btn-primary edit_bot_button" value="{{t 'Save' }}" />
|
||||
<button type="submit" class="btn btn-default reset_edit_bot">Cancel</button>
|
||||
</div>
|
||||
<div class="edit_bot_spinner"></div>
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{{#if can_make_public}}
|
||||
<button class="btn btn-primary make-stream-public-button" data-stream-name="{{name}}" tabindex="-1">
|
||||
Make stream public
|
||||
{{t "Make stream public" }}
|
||||
</button>
|
||||
{{/if}}
|
||||
{{#if can_make_private}}
|
||||
<button class="btn btn-danger make-stream-private-button" data-stream-name="{{name}}" tabindex="-1">
|
||||
Make stream private
|
||||
{{t "Make stream private" }}
|
||||
</button>
|
||||
{{/if}}
|
||||
<div class="change-stream-privacy-feedback"></div>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<div class="compose_invite_user" data-useremail="{{email}}">
|
||||
<strong>{{name}}</strong> is not subscribed to this stream.
|
||||
{{#tr this}}<strong>__name__</strong> is not subscribed to this stream.{{/tr}}
|
||||
<div class="compose_invite_user_controls">
|
||||
<span class="compose_invite_user_error alert alert-error" style="display: none;">Unable to subscribe user</span>
|
||||
<button href="" class="compose_invite_link btn" >Subscribe</button><button type="button" class="compose_invite_close close">×</button>
|
||||
<span class="compose_invite_user_error alert alert-error" style="display: none;">{{t "Unable to subscribe user" }}</span>
|
||||
<button href="" class="compose_invite_link btn" >{{t "Subscribe" }}</button><button type="button" class="compose_invite_close close">×</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
{{! Explanation of the stream email address }}
|
||||
<div>
|
||||
|
||||
<p>You can send emails to {{ page_params.product_name }}! Just copy and use this address as an email recipient, and:</p>
|
||||
<p>{{#tr this}}You can send emails to __page_params.product_name__! Just copy and use this address as an email recipient, and:{{/tr}}</p>
|
||||
|
||||
<img class="subscription-email-hint-image" src="static/images/integrations/zulip_mail.png" />
|
||||
|
||||
<ul>
|
||||
<li>The email will be forwarded to this stream</li>
|
||||
<li>The email subject will become the {{ page_params.product_name }} topic</li>
|
||||
<li>The email body will become the {{ page_params.product_name }} message</li>
|
||||
<li>{{t "The email will be forwarded to this stream" }}</li>
|
||||
<li>{{#tr this}}The email subject will become the __page_params.product_name__ topic{{/tr}}</li>
|
||||
<li>{{#tr this}}The email body will become the __page_params.product_name__ message{{/tr}}</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{{! Client-side Mustache template for rendering subscriptions in the "invite user" form.}}
|
||||
<a href="#" class="invite_check_all_button">Check all</a> |
|
||||
<a href="#" class="invite_uncheck_all_button">Uncheck all</a>
|
||||
<a href="#" class="invite_check_all_button">{{t "Check all" }}</a> |
|
||||
<a href="#" class="invite_uncheck_all_button">{{t "Uncheck all" }}</a>
|
||||
<div id="stream-checkboxes">
|
||||
{{#each streams}}
|
||||
<label class="checkbox">
|
||||
|
|
|
@ -3,13 +3,13 @@
|
|||
<form id="message_edit_form" class="form-horizontal">
|
||||
{{#if is_stream}}
|
||||
<div class="control-group">
|
||||
<label class="control-label edit-control-label" for="message_edit_topic">Topic</label>
|
||||
<label class="control-label edit-control-label" for="message_edit_topic">{{t "Topic" }}</label>
|
||||
<div class="controls edit-controls">
|
||||
<input type="text" value="{{topic}}" class="message_edit_topic" id="message_edit_topic" />
|
||||
<select class='message_edit_topic_propagate' style='display:none;'>
|
||||
<option selected="selected" value="change_one"> Change only this message topic</option>
|
||||
<option value="change_later"> Change later messages to this topic</option>
|
||||
<option value="change_all"> Change previous and following messages to this topic</option>
|
||||
<option selected="selected" value="change_one"> {{t "Change only this message topic" }}</option>
|
||||
<option value="change_later"> {{t "Change later messages to this topic" }}</option>
|
||||
<option value="change_all"> {{t "Change previous and following messages to this topic" }}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -21,8 +21,8 @@
|
|||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls edit-controls">
|
||||
<button type="button" class="message_edit_save btn btn-primary btn-small">Save</button>
|
||||
<button type="button" class="message_edit_cancel btn btn-default btn-small">Cancel</button>
|
||||
<button type="button" class="message_edit_save btn btn-primary btn-small">{{t "Save" }}</button>
|
||||
<button type="button" class="message_edit_cancel btn btn-default btn-small">{{t "Cancel" }}</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="alert alert-error edit_error hide"></div>
|
||||
|
|
|
@ -1,30 +1,30 @@
|
|||
{{! Contents of the "message info" popup }}
|
||||
<ul class="nav nav-list actions_popover sender_info_popover" data-email="{{message.sender_email}}">
|
||||
<div class="popover_info">
|
||||
<li>Sent by <b>{{message.sender_full_name}}</b></li>
|
||||
<li>{{#tr this}}Sent by <b>__message.sender_full_name__</b>{{/tr}}</li>
|
||||
<li class='my_email'>{{message.sender_email}}</li>
|
||||
<hr />
|
||||
|
||||
<li>{{message.full_date_str}}</li>
|
||||
<li>{{message.full_time_str}}</li>
|
||||
{{#if message.historical}}
|
||||
<li class="small">(Message sent when you were not subscribed)</li>
|
||||
<li class="small">({{t "Message sent when you were not subscribed" }})</li>
|
||||
{{/if}}
|
||||
</div>
|
||||
<hr />
|
||||
<li>
|
||||
<a href="#" class="respond_personal_button">
|
||||
<i class="icon-vector-edit"></i> Send {{message.sender_full_name}} a private message
|
||||
<i class="icon-vector-edit"></i> {{#tr this}}Send __message.sender_full_name__ a private message{{/tr}}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ pm_with_uri }}" class="narrow_to_private_messages">
|
||||
<i class="icon-vector-user"></i> Narrow to private messages with {{message.sender_full_name}}
|
||||
<i class="icon-vector-user"></i> {{#tr this}}Narrow to private messages with __message.sender_full_name__{{/tr}}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ sent_by_uri }}" class="narrow_to_messages_sent">
|
||||
<i class="icon-vector-bullhorn"></i> Narrow to messages sent by {{message.sender_full_name}}
|
||||
<i class="icon-vector-bullhorn"></i> {{#tr this}}Narrow to messages sent by __message.sender_full_name__{{/tr}}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{{! Title of the "message actions" popup }}
|
||||
{{#if message.is_stream}}
|
||||
Message to stream <b>{{message.stream}}</b>
|
||||
{{#tr this}}Message to stream <b>__message.stream__</b>{{/tr}}
|
||||
{{else}}
|
||||
Private message
|
||||
{{t "Private message" }}
|
||||
{{/if}}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{{! Client-side Mustache template for rendering users in the stream creation modal.}}
|
||||
<a href="#" class="subs_set_all_users">Check all</a> |
|
||||
<a href="#" class="subs_unset_all_users">Uncheck all</a>
|
||||
<a href="#" class="subs_set_all_users">{{t "Check all" }}</a> |
|
||||
<a href="#" class="subs_unset_all_users">{{t "Uncheck all" }}</a>
|
||||
<div id="user-checkboxes">
|
||||
{{#each users}}
|
||||
<label class="checkbox">
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<div>
|
||||
<p>Apply this change to all stream subscriptions?</p>
|
||||
<p>{{t "Apply this change to all stream subscriptions?" }}</p>
|
||||
|
||||
<div class="control-group">
|
||||
<div class="controls propagate-notifications-controls">
|
||||
<button type="button"
|
||||
class="yes_propagate_notifications btn btn-primary btn-small">Yes</button>
|
||||
class="yes_propagate_notifications btn btn-primary btn-small">{{t "Yes" }}</button>
|
||||
<button type="button"
|
||||
class="no_propagate_notifications btn btn-default btn-small">No</button>
|
||||
class="no_propagate_notifications btn btn-default btn-small">{{t "No" }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,10 +6,10 @@
|
|||
<a class="message_label_clickable narrows_by_recipient stream_label {{color_class}}"
|
||||
style="background: {{background_color}}; border-left-color: {{background_color}};"
|
||||
href="{{stream_url}}"
|
||||
title="Narrow to stream "{{display_recipient}}"">
|
||||
title="{{#tr this}}Narrow to stream "__display_recipient__"{{/tr}}">
|
||||
{{! invite only lock }}
|
||||
{{#if invite_only}}
|
||||
<i class="icon-vector-lock invite-stream-icon" title="This is an invite-only stream"></i>
|
||||
<i class="icon-vector-lock invite-stream-icon" title="{{t 'This is an invite-only stream' }}"></i>
|
||||
{{/if}}
|
||||
{{display_recipient}}
|
||||
</a>
|
||||
|
@ -22,7 +22,7 @@
|
|||
{{! topic link }}
|
||||
<a class="message_label_clickable narrows_by_subject"
|
||||
href="{{topic_url}}"
|
||||
title="Narrow to stream "{{display_recipient}}", topic "{{subject}}"">
|
||||
title="{{#tr this}}Narrow to stream "__display_recipient__", topic "__subject__"{{/tr}}">
|
||||
{{#if use_match_properties}}
|
||||
{{{match_subject}}}
|
||||
{{else}}
|
||||
|
@ -59,8 +59,8 @@
|
|||
<div class="message-header-contents">
|
||||
<a class="message_label_clickable narrows_by_recipient"
|
||||
href="{{pm_with_url}}"
|
||||
title="Narrow to your private messages with {{display_reply_to}}">
|
||||
You and {{display_reply_to}}
|
||||
title="{{#tr this}}Narrow to your private messages with __display_reply_to__{{/tr}}">
|
||||
{{#tr this}}You and __display_reply_to__{{/tr}}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
<h1><i class="icon-vector-wrench settings-icon"></i>Settings</h1>
|
||||
<h1><i class="icon-vector-wrench settings-icon"></i>{{t "Settings" }}</h1>
|
||||
|
||||
<div id="settings-change-box">
|
||||
|
||||
<div class="alert" id="settings-status"></div>
|
||||
|
||||
<div id="account-settings" class="settings-section">
|
||||
<div class="settings-section-title"><i class="icon-vector-user settings-section-icon"></i>Your Account</div>
|
||||
<div class="settings-section-title"><i class="icon-vector-user settings-section-icon"></i>{{t "Your Account" }}</div>
|
||||
<div class="account-settings-form">
|
||||
<form action="/json/settings/change" method="post"
|
||||
class="form-horizontal your-account-settings">
|
||||
<div class="control-group" id="name_change_container">
|
||||
<label for="full_name" class="control-label">Full name</label>
|
||||
<label for="full_name" class="control-label">{{t "Full name" }}</label>
|
||||
<div class="controls">
|
||||
<input type="text" name="full_name" id="full_name"
|
||||
value="{{ page_params.fullname }}" />
|
||||
|
@ -19,24 +19,24 @@
|
|||
|
||||
{{#if page_params.password_auth_enabled}}
|
||||
<div class="control-group" id="pw_change_link">
|
||||
<label for="change_password_button" class="control-label">Password</label>
|
||||
<label for="change_password_button" class="control-label">{{t "Password" }}</label>
|
||||
<div class="controls">
|
||||
<button class="btn btn-default change_password_button" data-dismiss="modal" aria-hidden="true">Change Password</button>
|
||||
<button class="btn btn-default change_password_button" data-dismiss="modal" aria-hidden="true">{{t "Change Password" }}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="pw_change_controls">
|
||||
<div class="control-group">
|
||||
<label for="old_password" class="control-label">Old password</label>
|
||||
<label for="old_password" class="control-label">{{t "Old password" }}</label>
|
||||
<div class="controls">
|
||||
<input type="password" autocomplete="off"
|
||||
name="old_password" id="old_password" value="" />
|
||||
(<a href="/accounts/password/reset/" target="_blank">Forgotten it?</a>)
|
||||
(<a href="/accounts/password/reset/" target="_blank">{{t "Forgotten it?" }}</a>)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="new_password" class="control-label">New password</label>
|
||||
<label for="new_password" class="control-label">{{t "New password" }}</label>
|
||||
<div class="controls">
|
||||
<input type="password" autocomplete="off"
|
||||
name="new_password" id="new_password" value="" />
|
||||
|
@ -44,7 +44,7 @@
|
|||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label">Password strength</label>
|
||||
<label class="control-label">{{t "Password strength" }}</label>
|
||||
<div class="controls">
|
||||
<div class="progress" id="pw_strength">
|
||||
<div class="bar bar-danger" style="width: 10%;"></div>
|
||||
|
@ -53,7 +53,7 @@
|
|||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="confirm_password" class="control-label">Confirm password</label>
|
||||
<label for="confirm_password" class="control-label">{{t "Confirm password" }}</label>
|
||||
<div class="controls">
|
||||
<input type="password" autocomplete="off"
|
||||
name="confirm_password" id="confirm_password" value="" />
|
||||
|
@ -66,7 +66,7 @@
|
|||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<input type="submit" name="change_settings"
|
||||
value="Save changes" class="btn btn-big btn-primary" />
|
||||
value="{{t 'Save changes' }}" class="btn btn-big btn-primary" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -76,9 +76,9 @@
|
|||
</p>
|
||||
<div id="user_avatar_file_input_error" class="text-error"></div>
|
||||
<div id="user_avatar_file"></div>
|
||||
<input type="file" name="user_avatar_file_input" class="notvisible" id="user_avatar_file_input" value="Upload avatar" />
|
||||
<input type="file" name="user_avatar_file_input" class="notvisible" id="user_avatar_file_input" value="{{t 'Upload avatar' }}" />
|
||||
<div id="upload_avatar_spinner"></div>
|
||||
<button class="btn btn-default" id="user_avatar_upload_button">Customize avatar</button>
|
||||
<button class="btn btn-default" id="user_avatar_upload_button">{{t 'Customize avatar' }}</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
@ -89,7 +89,7 @@
|
|||
<div>
|
||||
<div id="display-settings" class="settings-section">
|
||||
<div class="settings-section-title"><i class="icon-vector-time settings-section-icon"></i>
|
||||
Display Settings</div>
|
||||
{{t 'Display Settings' }}</div>
|
||||
<div class="alert" id="display-settings-status"></div>
|
||||
<div class="display-settings-form">
|
||||
|
||||
|
@ -100,7 +100,7 @@
|
|||
checked="yes"
|
||||
{{/if}} />
|
||||
</div>
|
||||
<label for="left_side_userlist" class="control-label">Display user list on left side in narrow windows.</label>
|
||||
<label for="left_side_userlist" class="control-label">{{t "Display user list on left side in narrow windows." }}</label>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
|
@ -111,7 +111,7 @@
|
|||
{{/if}} />
|
||||
</div>
|
||||
<label for="twenty_four_hour_time" class="control-label">
|
||||
Display time in 24-hour format (17:00 instead of 5:00 PM)
|
||||
{{t "Display time in 24-hour format (17:00 instead of 5:00 PM)" }}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -120,13 +120,13 @@
|
|||
|
||||
<div>
|
||||
<div id="notification-settings" class="settings-section">
|
||||
<div class="settings-section-title"><i class="icon-vector-warning-sign settings-section-icon"></i>Notifications</div>
|
||||
<div class="notification-reminder">You'll receive notifications when a message arrives and {{ page_params.product_name }} isn't in focus or the message is offscreen.</div>
|
||||
<div class="settings-section-title"><i class="icon-vector-warning-sign settings-section-icon"></i>{{t "Notifications" }}</div>
|
||||
<div class="notification-reminder">{{#tr this }}You'll receive notifications when a message arrives and __page_params.product_name__ isn't in focus or the message is offscreen.{{/tr}}</div>
|
||||
<div class="alert" id="notify-settings-status"></div>
|
||||
<div class="notification-settings-form">
|
||||
<h4>Stream messages</h4>
|
||||
<h4>{{t "Stream messages" }}</h4>
|
||||
|
||||
<p>Unless I say otherwise for a particular stream, I want:</p>
|
||||
<p>{{t "Unless I say otherwise for a particular stream, I want:" }}</p>
|
||||
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
|
@ -137,7 +137,7 @@
|
|||
{{/if}} />
|
||||
</div>
|
||||
<label for="enable_stream_desktop_notifications" class="control-label">
|
||||
Desktop notifications
|
||||
{{t "Desktop notifications" }}
|
||||
</label>
|
||||
<div class="propagate_stream_notifications_change"></div>
|
||||
</div>
|
||||
|
@ -150,19 +150,18 @@
|
|||
{{/if}} />
|
||||
</div>
|
||||
<label for="enable_stream_sounds" class="control-label">
|
||||
Audible notifications
|
||||
{{t "Audible notifications" }}
|
||||
</label>
|
||||
<div class="propagate_stream_notifications_change"></div>
|
||||
</div>
|
||||
|
||||
<p class="notification-settings-note">
|
||||
Change notification settings for individual streams on your <a
|
||||
href="/#subscriptions">Streams page</a>.
|
||||
{{#tr this}}Change notification settings for individual streams on your <a href="/#subscriptions">Streams page</a>.{{/tr}}
|
||||
</p>
|
||||
|
||||
<h4>Private messages and @-mentions</h4>
|
||||
<h4>{{t "Private messages and @-mentions" }}</h4>
|
||||
|
||||
<p>I want:</p>
|
||||
<p>{{t "I want:" }}</p>
|
||||
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
|
@ -172,7 +171,7 @@
|
|||
{{/if}} />
|
||||
</div>
|
||||
<label for="enable_desktop_notifications" class="control-label">
|
||||
Desktop notifications
|
||||
{{t "Desktop notifications" }}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
|
@ -184,7 +183,7 @@
|
|||
{{/if}} />
|
||||
</div>
|
||||
<label for="enable_sounds" class="control-label">
|
||||
Audible notifications
|
||||
{{t "Audible notifications" }}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
|
@ -196,7 +195,7 @@
|
|||
{{/if}} />
|
||||
</div>
|
||||
<label for="enable_offline_email_notifications" class="control-label">
|
||||
Email notifications when offline
|
||||
{{t "Email notifications when offline" }}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
|
@ -208,14 +207,14 @@
|
|||
{{/if}} />
|
||||
</div>
|
||||
<label for="enable_offline_push_notifications" class="control-label">
|
||||
Mobile push notifications when offline
|
||||
{{t "Mobile push notifications when offline" }}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div id="other_notifications">
|
||||
<h4>Other notifications</h4>
|
||||
<h4>{{t "Other notifications" }}</h4>
|
||||
|
||||
<p>I want:</p>
|
||||
<p>{{t "I want:" }}</p>
|
||||
|
||||
<div class="control-group" id="digest_container">
|
||||
<div class="controls">
|
||||
|
@ -225,7 +224,7 @@
|
|||
{{/if}} />
|
||||
</div>
|
||||
<label for="enable_digest_emails" class="control-label">
|
||||
Digest emails when I'm away
|
||||
{{t "Digest emails when I'm away" }}
|
||||
</label>
|
||||
</div>
|
||||
{{!-- If you add another control group here, make sure to change
|
||||
|
@ -237,7 +236,7 @@
|
|||
<div class="control-group">
|
||||
<div class="controls notification-submission">
|
||||
<input type="submit" id="change_notification_settings"
|
||||
name="change_notification_settings" value="Save changes"
|
||||
name="change_notification_settings" value="{{t 'Save changes' }}"
|
||||
class="btn btn-big btn-primary" />
|
||||
</div>
|
||||
</div>
|
||||
|
@ -250,11 +249,13 @@
|
|||
|
||||
<div id="bot-settings" class="settings-section">
|
||||
|
||||
<div class="settings-section-title"><i class="icon-vector-github settings-section-icon"></i>Your Bots</div>
|
||||
<div class="settings-section-title"><i class="icon-vector-github settings-section-icon"></i>{{t "Your Bots" }}</div>
|
||||
|
||||
<div class="bot-settings-form">
|
||||
{{#tr this}}
|
||||
<p class="bot-settings-note">Looking for our <a href="/integrations" target="_blank">Integrations</a>
|
||||
or <a href="/api" target="_blank">API</a> documentation?</p>
|
||||
{{/tr}}
|
||||
|
||||
<ol id="bots_list">
|
||||
</ol>
|
||||
|
@ -264,31 +265,31 @@
|
|||
<div class="settings-section-title new-bot-section-title">Add a New Bot</div>
|
||||
<div class="new-bot-form">
|
||||
<div class="control-group">
|
||||
<label for="create_bot_name" class="control-label">Full name</label>
|
||||
<label for="create_bot_name" class="control-label">{{t "Full name" }}</label>
|
||||
<input type="text" name="bot_name" id="create_bot_name" class="required"
|
||||
maxlength=100 placeholder="Full Bot Name" value="" />
|
||||
<div><label for="create_bot_name" generated="true" class="text-error"></label></div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label for="bot_short_name" class="control-label">Username</label>
|
||||
<label for="bot_short_name" class="control-label">{{t "Username" }}</label>
|
||||
<input type="text" name="bot_short_name" id="create_bot_short_name" class="required bot_local_part"
|
||||
placeholder="bot_user_name" value="" />-bot@{{ page_params.domain }}
|
||||
placeholder="bot_user_name" value="" />-{{t "bot" }}@{{ page_params.domain }}
|
||||
<div><label for="create_bot_short_name" generated="true" class="text-error"></label></div>
|
||||
</div>
|
||||
<div class="control-group new-bot-ui">
|
||||
<label for="create_bot_default_sending_stream" class="control-label">Send to stream</label>
|
||||
<label for="create_bot_default_sending_stream" class="control-label">{{t "Send to stream" }}</label>
|
||||
<select name="bot_default_sending_stream" id="create_bot_default_sending_stream"></select>
|
||||
</div>
|
||||
<div class="control-group new-bot-ui">
|
||||
<label for="create_bot_default_events_register_stream" class="control-label">Listen on</label>
|
||||
<label for="create_bot_default_events_register_stream" class="control-label">{{t "Listen on" }}</label>
|
||||
<select name="bot_default_events_register_stream" id="create_bot_default_events_register_stream"></select>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<div id="bot_avatar_file"></div>
|
||||
<input type="file" name="bot_avatar_file_input" class="notvisible" id="bot_avatar_file_input" value="Upload avatar" />
|
||||
<button class="btn btn-default" id="bot_avatar_clear_button">Clear avatar</button>
|
||||
<button class="btn btn-default" id="bot_avatar_upload_button">Customize avatar</button> (Optional)
|
||||
<input type="file" name="bot_avatar_file_input" class="notvisible" id="bot_avatar_file_input" value="{{t 'Upload avatar' }}" />
|
||||
<button class="btn btn-default" id="bot_avatar_clear_button">{{t "Clear avatar" }}</button>
|
||||
<button class="btn btn-default" id="bot_avatar_upload_button">{{t "Customize avatar" }}</button> ({{t "Optional" }})
|
||||
</div>
|
||||
</div>
|
||||
<p>
|
||||
|
@ -296,7 +297,7 @@
|
|||
</p>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<input type="submit" class="btn btn-primary" id="create_bot_button" value="Create Bot" />
|
||||
<input type="submit" class="btn btn-primary" id="create_bot_button" value="{{t 'Create Bot' }}" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -306,35 +307,39 @@
|
|||
<hr class="settings_separator" />
|
||||
|
||||
<div class="form-horizontal" id="api_key_button_box">
|
||||
{{#tr this}}
|
||||
<p class="api-key-note">For most bots using the API, you'll want to give each bot
|
||||
its own name and API key using the above section. But if you
|
||||
want to write a bot that can access your own private
|
||||
messages, you should use your personal API key.
|
||||
</p>
|
||||
{{/tr}}
|
||||
<div class="control-group">
|
||||
<button class="btn btn-default" id="api_key_button">Show/change your API key</button>
|
||||
<button class="btn btn-default" id="api_key_button">{{t "Show/change your API key" }}</button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="get_api_key_box">
|
||||
{{#tr this}}
|
||||
<p>Please re-enter your password to confirm your identity.
|
||||
(<a href="/accounts/password/reset/" target="_blank">Forgotten it?</a>)</p>
|
||||
{{/tr}}
|
||||
<form action="/json/fetch_api_key" method="post" class="form-horizontal">
|
||||
<div class="control-group">
|
||||
<label for="password" class="control-label">Current password</label>
|
||||
<label for="password" class="control-label">{{t "Current password" }}</label>
|
||||
<input type="password" autocomplete="off"
|
||||
name="password" id="get_api_key_password" value="" />
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<input type="submit" name="view_api_key" value="Get API key"
|
||||
<input type="submit" name="view_api_key" value="{{t 'Get API key' }}"
|
||||
class="btn btn-primary" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div id="show_api_key_box">
|
||||
<p>Your API key:</p>
|
||||
<p>{{t "Your API key:" }}</p>
|
||||
<p><b><span id="api_key_value"></span></b></p>
|
||||
<button type="submit" class="btn btn-primary regenerate_api_key">
|
||||
Generate new API Key
|
||||
{{t "Generate new API Key" }}
|
||||
</button>
|
||||
<div id="user_api_key_error text-error">
|
||||
</div>
|
||||
|
@ -344,18 +349,18 @@
|
|||
</div>
|
||||
|
||||
<div id="word-alert-settings" class="settings-section">
|
||||
<div class="settings-section-title"><i class="icon-vector-book settings-section-icon"></i>Custom Word Alerts</div>
|
||||
<div class="settings-section-title"><i class="icon-vector-book settings-section-icon"></i>{{t "Custom Word Alerts" }}</div>
|
||||
<ul id="word-alerts">
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="ui-settings">
|
||||
<div id="ui-settings" class="settings-section">
|
||||
<div class="settings-section-title"><i class="icon-vector-beaker settings-section-icon"></i>{{ page_params.product_name }} Labs</div>
|
||||
<div class="settings-section-title"><i class="icon-vector-beaker settings-section-icon"></i>{{#tr this}}__page_params.product_name__ Labs{{/tr}}</div>
|
||||
<div class="alert" id="ui-settings-status"></div>
|
||||
<div class="ui-settings-form">
|
||||
<p>
|
||||
Warning: the below features are experimental features and may not work as well as you would like.
|
||||
{{t "Warning: the below features are experimental features and may not work as well as you would like." }}
|
||||
</p>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
|
@ -365,7 +370,7 @@
|
|||
{{/if}} />
|
||||
</div>
|
||||
<label for="autoscroll_forever" class="control-label">
|
||||
Always auto-scroll to new messages
|
||||
{{t "Always auto-scroll to new messages" }}
|
||||
</label>
|
||||
|
||||
<div class="controls">
|
||||
|
@ -375,13 +380,13 @@
|
|||
{{/if}} />
|
||||
</div>
|
||||
<label for="default_desktop_notifications" class="control-label">
|
||||
Enable desktop notifications for new streams
|
||||
{{t "Enable desktop notifications for new streams" }}
|
||||
</label>
|
||||
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls ui-submission">
|
||||
<input type="submit" name="change_settings" value="Save changes" class="btn btn-big btn-primary" />
|
||||
<input type="submit" name="change_settings" value="{{t 'Save changes' }}" class="btn btn-big btn-primary" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
{{/each}}
|
||||
{{#if want_show_more_messages_links}}
|
||||
<li class="show-more-private-messages" data-name='more-private-messages'>
|
||||
<a href="#">(more conversations)</a>
|
||||
<a href="#">({{t "more conversations" }})</a>
|
||||
</li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
{{/each}}
|
||||
{{#if want_show_more_topics_links}}
|
||||
<li class="show-more-topics" data-stream="{{stream}}">
|
||||
<a href="#">(more topics)</a>
|
||||
<a href="#">({{t "more topics" }})</a>
|
||||
</li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
|
|
|
@ -15,12 +15,12 @@
|
|||
{{/include_sender}}
|
||||
<span class="message_time{{#if msg.local_id}} notvisible{{/if}}{{#if status_message}} status-time{{/if}}">{{timestr}}</span>
|
||||
{{#if_and last_edit_timestr include_sender}}
|
||||
<div class="message_edit_notice" title="Edited ({{last_edit_timestr}})">EDITED</div>
|
||||
<div class="message_edit_notice" title="Edited ({{last_edit_timestr}})">{{t "EDITED" }}</div>
|
||||
{{/if_and}}
|
||||
<div class="message_controls{{#status_message}} sender-status-controls{{/status_message}}">
|
||||
<div class="star">
|
||||
<span class="message_star {{#if msg/starred}}icon-vector-star{{else}}icon-vector-star-empty empty-star{{/if}}"
|
||||
title="{{#if msg/starred}}Unstar{{else}}Star{{/if}} this message"></span>
|
||||
title="{{#tr this}}{{#if msg/starred}}Unstar{{else}}Star{{/if}} this message{{/tr}}"></span>
|
||||
</div>
|
||||
<div class="info actions_hover">
|
||||
<i class="icon-vector-chevron-down"></i>
|
||||
|
@ -33,14 +33,14 @@
|
|||
<div class="message_content">{{#unless status_message}}{{#if use_match_properties}}{{{msg/match_content}}}{{else}}{{{msg/content}}}{{/if}}{{/unless}}</div>
|
||||
{{#if last_edit_timestr}}
|
||||
{{#unless include_sender}}
|
||||
<div class="message_edit_notice" title="Edited ({{last_edit_timestr}})">EDITED</div>
|
||||
<div class="message_edit_notice" title="Edited ({{last_edit_timestr}})">{{t "EDITED" }}</div>
|
||||
{{/unless}}
|
||||
{{/if}}
|
||||
<div class="message_edit">
|
||||
<div class="message_edit_form" id="{{msg/id}}"></div>
|
||||
</div>
|
||||
<div class="message_expander message_length_controller" title="See the rest of this message">[More...]</div>
|
||||
<div class="message_condenser message_length_controller" title="Make this message take up less space on the screen">[Condense this message]</div>
|
||||
<div class="message_expander message_length_controller" title="{{t 'See the rest of this message' }}">{{t "[More...]" }}</div>
|
||||
<div class="message_condenser message_length_controller" title="{{t 'Make this message take up less space on the screen' }}">{{t "[Condense this message]" }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<td class="unsubscribe">
|
||||
<div class="subscriber_list_remove">
|
||||
<form class="form-inline remove-subscriber-form">
|
||||
<input type="submit" name="unsubscribe" value="Unsubscribe"
|
||||
<input type="submit" name="unsubscribe" value="{{t 'Unsubscribe' }}"
|
||||
class="btn btn-danger remove-subscriber-button" />
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
@ -3,41 +3,41 @@
|
|||
<li>
|
||||
<a class="narrow_to_stream">
|
||||
<i class="icon-vector-bullhorn"></i>
|
||||
Narrow to stream <b>{{stream.name}}</b>
|
||||
{{#tr this}}Narrow to stream <b>__stream.name__</b>{{/tr}}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="toggle_home">
|
||||
{{#if stream.in_home_view}}
|
||||
<i class="icon-vector-eye-close"></i>
|
||||
Mute the stream <b>{{stream.name}}</b>
|
||||
{{#tr this}}Mute the stream <b>__stream.name__</b>{{/tr}}
|
||||
{{else}}
|
||||
<i class="icon-vector-eye-open"></i>
|
||||
Unmute the stream <b>{{stream.name}}</b>
|
||||
{{#tr this}}Unmute the stream <b>__stream.name__</b>{{/tr}}
|
||||
{{/if}}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="compose_to_stream">
|
||||
<i class="icon-vector-edit"></i>
|
||||
Compose a message to stream <b>{{stream.name}}</b>
|
||||
{{#tr this}}Compose a message to stream <b>__stream.name__</b>{{/tr}}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="mark_stream_as_read">
|
||||
<i class="icon-vector-book"></i>
|
||||
Mark all messages in <b>{{stream.name}}</b> as read
|
||||
{{#tr this}}Mark all messages in <b>__stream.name__</b> as read{{/tr}}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="open_stream_settings">
|
||||
<i class="icon-vector-cog"></i>
|
||||
Stream settings
|
||||
{{t "Stream settings" }}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<span class="colorpicker-container"><input stream_name="{{stream.name}}" class="colorpicker" type="text" value="{{stream.color}}" /></span>
|
||||
<a class="custom_color">Choose custom color</a>
|
||||
<a class="custom_color">{{t "Choose custom color" }}</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
|
|
@ -13,10 +13,10 @@
|
|||
<button class="btn sub_unsub_button btn-default{{#subscribed}} btn-success subscribed-button{{/subscribed}}"
|
||||
type="button" name="subscription">
|
||||
{{#subscribed}}
|
||||
Subscribed
|
||||
{{t "Subscribed" }}
|
||||
{{/subscribed}}
|
||||
{{^subscribed}}
|
||||
Subscribe
|
||||
{{t "Subscribe" }}
|
||||
{{/subscribed}}
|
||||
</button>
|
||||
</div>
|
||||
|
@ -32,7 +32,7 @@
|
|||
<div id="sub_setting_not_in_home_view" class="sub_setting_checkbox sub-mute-setting">
|
||||
<input id="mutestream-{{stream_id}}" class="sub_setting_control" type="checkbox" tabindex="-1" {{#unless in_home_view}}checked{{/unless}} />
|
||||
<label class="subscription-control-label">Mute stream</label>
|
||||
<p class="mute-note {{#if in_home_view}}hide-mute-note{{/if}}">Muted streams don't show up in your home view or generate notifications unless you are mentioned.</p>
|
||||
<p class="mute-note {{#if in_home_view}}hide-mute-note{{/if}}">{{t "Muted streams don't show up in your home view or generate notifications unless you are mentioned." }}</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
|
@ -40,13 +40,13 @@
|
|||
<div id="sub_desktop_notifications_setting"
|
||||
class="sub_setting_checkbox sub_notification_setting {{#unless in_home_view}}muted-sub{{/unless}}">
|
||||
<input id="desktop-notifystream-{{stream_id}}" class="sub_setting_control" type="checkbox" tabindex="-1" {{#if desktop_notifications}}checked{{/if}} {{#unless in_home_view}}disabled="disabled"{{/unless}}/>
|
||||
<label class="subscription-control-label">Receive desktop <br />notifications</label>
|
||||
<label class="subscription-control-label">{{t "Receive desktop <br />notifications" }}</label>
|
||||
</div>
|
||||
|
||||
<div id="sub_audible_notifications_setting"
|
||||
class="sub_setting_checkbox sub_notification_setting {{#unless in_home_view}}muted-sub{{/unless}}">
|
||||
<input id="audible-notifystream-{{stream_id}}" class="sub_setting_control" type="checkbox" tabindex="-1" {{#if audible_notifications}}checked{{/if}} {{#unless in_home_view}}disabled="disabled"{{/unless}}/>
|
||||
<label class="subscription-control-label">Receive audible<br />notifications</label>
|
||||
<label class="subscription-control-label">{{t "Receive audible<br />notifications" }}</label>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
|
@ -54,7 +54,7 @@
|
|||
<span class="sub_setting_control">
|
||||
<input stream_name="{{name}}" class="colorpicker" id="streamcolor" type="text" value="{{color}}" tabindex="-1" />
|
||||
</span>
|
||||
<label for="streamcolor" class="subscription-control-label">Stream color</label>
|
||||
<label for="streamcolor" class="subscription-control-label">{{t "Stream color" }}</label>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -70,18 +70,18 @@
|
|||
|
||||
{{#if is_admin}}
|
||||
<div class="admin-settings">
|
||||
<span class="sub_settings_title">Administrator settings</span>
|
||||
<span class="sub_settings_title">{{t "Administrator settings" }}</span>
|
||||
<div class="rename-stream">
|
||||
<form class="form-inline">
|
||||
<input type="text" name="new-name" value="" class="input-block new-stream-name" tabindex="-1" />
|
||||
<input type="submit" name="rename" value="Rename stream" class="btn btn-danger stream-rename-button" tabindex="-1" />
|
||||
<input type="submit" name="rename" value="{{t 'Rename stream' }}" class="btn btn-danger stream-rename-button" tabindex="-1" />
|
||||
</form>
|
||||
</div>
|
||||
<div class="change-stream-description">
|
||||
<form class="form-inline">
|
||||
<input type="hidden" name="stream_name" value="{{name}}" />
|
||||
<input type="text" name="description" value="{{description}}" class="input-block description" tabindex="-1" />
|
||||
<input type="submit" name="change-stream-description" value="Change stream description" class="btn btn-danger change-stream-description-button" tabindex="-1" />
|
||||
<input type="submit" name="change-stream-description" value="{{t 'Change stream description' }}" class="btn btn-danger change-stream-description-button" tabindex="-1" />
|
||||
</form>
|
||||
</div>
|
||||
<div class="change-stream-privacy">
|
||||
|
@ -92,11 +92,11 @@
|
|||
|
||||
{{#render_subscribers}}
|
||||
<div class="subscriber_list_settings">
|
||||
<span class="sub_settings_title">Stream membership</span>
|
||||
<span class="sub_settings_title">{{t "Stream membership" }}</span>
|
||||
<div class="subscriber_list_add">
|
||||
<form class="form-inline">
|
||||
<input type="text" name="principal" placeholder="Email address" value="" class="input-block" tabindex="-1" />
|
||||
<input type="submit" name="add_subscriber" value="Add" class="btn btn-primary add-subscriber-button" tabindex="-1 "/>
|
||||
<input type="text" name="principal" placeholder="{{t 'Email address' }}" value="" class="input-block" tabindex="-1" />
|
||||
<input type="submit" name="add_subscriber" value="{{t 'Add' }}" class="btn btn-primary add-subscriber-button" tabindex="-1 "/>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
<div class="subscription_table_elem">
|
||||
<form id="add_new_subscription" class="form-inline" action="">
|
||||
<input type="text" name="stream_name" id="create_stream_name"
|
||||
placeholder="Stream name" value="" />
|
||||
placeholder="{{t 'Stream name' }}" value="" />
|
||||
<input type="submit" class="btn btn-primary"
|
||||
id="create_stream_button" value="Create new stream" />
|
||||
id="create_stream_button" value="{{t 'Create new stream' }}" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,3 +1,2 @@
|
|||
This is
|
||||
{{#if invite_only}}an <span class="icon-vector-lock"></span> <b>invite-only stream</b>. Only people who have been invited can access its content, but any member of the stream can invite others.
|
||||
{{else}}a <span class="icon-vector-globe"></span> <b>public stream</b>. Anybody in your organization can join.{{/if}}
|
||||
{{#if invite_only}}{{t 'This is an <span class="icon-vector-lock"></span> <b>invite-only stream</b>. Only people who have been invited can access its content, but any member of the stream can invite others.' }}
|
||||
{{else}}{{t 'This is a <span class="icon-vector-globe"></span> <b>public stream</b>. Anybody in your organization can join.' }}{{/if}}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<li>
|
||||
<a class="narrow_to_topic" data-stream-name="{{ stream_name}}" data-topic-name="{{ topic_name }}">
|
||||
<i class="icon-vector-bullhorn"></i>
|
||||
Narrow to topic <b>{{ topic_name }}</b>
|
||||
{{#tr this}}Narrow to topic <b>__topic_name__</b>{{/tr}}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
|||
<li>
|
||||
<a href="#" class="sidebar-popover-mute-topic" data-stream-name="{{ stream_name }}" data-topic-name="{{ topic_name }}">
|
||||
<i class="icon-vector-eye-close"></i>
|
||||
Mute the topic <b>{{ topic_name }}</b>
|
||||
{{#tr this}}Mute the topic <b>__topic_name__</b>{{/tr}}
|
||||
</a>
|
||||
</li>
|
||||
{{/if}}
|
||||
|
@ -20,14 +20,14 @@
|
|||
<li>
|
||||
<a href="#" class="sidebar-popover-unmute-topic" data-stream-name="{{ stream_name }}" data-topic-name="{{ topic_name }}">
|
||||
<i class="icon-vector-eye-open"></i>
|
||||
Unmute the topic <b>{{ topic_name }}</b>
|
||||
{{#tr this}}Unmute the topic <b>__topic_name__</b>{{/tr}}
|
||||
</a>
|
||||
</li>
|
||||
{{/if}}
|
||||
<li>
|
||||
<a class="sidebar-popover-mark-topic-read" data-stream-name="{{ stream_name }}" data-topic-name="{{ topic_name }}">
|
||||
<i class="icon-vector-book"></i>
|
||||
Mark all messages in <b>{{topic_name}}</b> as read
|
||||
{{#tr this}}Mark all messages in <b>__topic_name__</b> as read{{/tr}}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
|
|
@ -2,10 +2,12 @@
|
|||
|
||||
<div class="tutorial-popover popover-{{placement}}" id="tutorial-home">
|
||||
|
||||
{{#tr this}}
|
||||
<p>You can <b>narrow</b> to a stream or topic by <b>clicking on it</b>, or
|
||||
see messages from all streams at once from your Home view.</p>
|
||||
{{/tr}}
|
||||
|
||||
<div class="tutorial-done-button">
|
||||
<button class="btn btn-primary" type="submit" id="tutorial-home-next">Next</button>
|
||||
<button class="btn btn-primary" type="submit" id="tutorial-home-next">{{t "Next" }}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{{! Contents of the "tutorial message" onboarding popup }}
|
||||
|
||||
<div class="tutorial-popover popover-{{placement}}" id="tutorial-message">
|
||||
<p>Welcome to {{ page_params.product_name }}!</p>
|
||||
{{#tr this}}<p>Welcome to __page_params.product_name__!</p>{{/tr}}
|
||||
|
||||
<p>Messages in {{ page_params.product_name }} go to a <b>stream</b> and have a <b>topic</b>.</p>
|
||||
{{#tr this}}<p>Messages in __page_params.product_name__ go to a <b>stream</b> and have a <b>topic</b>.</p>{{/tr}}
|
||||
|
||||
<div class="tutorial-done-button">
|
||||
<button class="btn btn-primary" type="submit" id="tutorial-message-next">Next</button>
|
||||
<button class="btn btn-primary" type="submit" id="tutorial-message-next">{{t "Next" }}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -2,10 +2,12 @@
|
|||
|
||||
<div class="tutorial-popover popover-{{placement}}" id="tutorial-reply">
|
||||
|
||||
{{#tr this}}
|
||||
<p><b>Reply</b> to a message by <b>clicking on it</b>. The stream
|
||||
and topic will automatically be filled in.</p>
|
||||
{{/tr}}
|
||||
|
||||
<div class="tutorial-done-button">
|
||||
<button class="btn btn-primary" type="submit" id="tutorial-reply-next">Next</button>
|
||||
<button class="btn btn-primary" type="submit" id="tutorial-reply-next">{{t "Next" }}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -2,11 +2,13 @@
|
|||
|
||||
<div class="tutorial-popover popover-{{placement}}" id="tutorial-stream">
|
||||
<p>
|
||||
{{#tr this}}
|
||||
<b>Streams</b> are like chat rooms or mailing lists. You can easily
|
||||
<b>join</b>, <b>leave</b>, and <b>make</b> them.
|
||||
{{/tr}}
|
||||
</p>
|
||||
|
||||
<div class="tutorial-done-button">
|
||||
<button class="btn btn-primary" type="submit" id="tutorial-stream-next">Next</button>
|
||||
<button class="btn btn-primary" type="submit" id="tutorial-stream-next">{{t "Next" }}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -3,12 +3,14 @@
|
|||
<div class="tutorial-popover popover-{{placement}}" id="tutorial-subject">
|
||||
|
||||
<p>
|
||||
{{#tr this}}
|
||||
The <b>topic</b> of a conversation is one or two words that describe
|
||||
what it is about, for example: <b>Bug #345</b>, <b>lunch</b>, or
|
||||
<b>logo</b>. Don't overthink it.
|
||||
{{/tr}}
|
||||
</p>
|
||||
|
||||
<div class="tutorial-done-button">
|
||||
<button class="btn btn-primary" type="submit" id="tutorial-subject-next">Next</button>
|
||||
<button class="btn btn-primary" type="submit" id="tutorial-subject-next">{{t "Next" }}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -3,19 +3,19 @@
|
|||
<li>
|
||||
<a class="narrow_to_private_messages">
|
||||
<i class="icon-vector-user"></i>
|
||||
Narrow to private messages with <b>{{name}}</b>
|
||||
{{#tr this}}Narrow to private messages with <b>__name__</b>{{/tr}}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="narrow_to_messages_sent">
|
||||
<i class="icon-vector-bullhorn"></i>
|
||||
Narrow to messages sent by <b>{{name}}</b>
|
||||
{{#tr this}}Narrow to messages sent by <b>__name__</b>{{/tr}}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="compose_private_message">
|
||||
<i class="icon-vector-edit"></i>
|
||||
Compose a message to <b>{{name}}</b>
|
||||
{{#tr this}}Compose a message to <b>__name__</b>{{/tr}}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
|
Loading…
Reference in New Issue