Add translation tags to the templates.

Fixes #726
This commit is contained in:
Umair Khan 2016-05-12 16:53:41 +05:00 committed by Tim Abbott
parent 82b5d9304b
commit ac13187d76
35 changed files with 219 additions and 205 deletions

View File

@ -3,21 +3,21 @@
{{#if can_edit_message}} {{#if can_edit_message}}
<li> <li>
<a href="#" class="popover_edit_message" data-msgid="{{message.id}}"> <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> </a>
</li> </li>
{{/if}} {{/if}}
<li> <li>
<a href="#" class="respond_button"> <a href="#" class="respond_button">
<i class="icon-vector-share-alt"></i> Reply <i class="icon-vector-share-alt"></i> {{t "Reply" }}
</a> </a>
</li> </li>
<li> <li>
<a href="#" class="popover_toggle_collapse" data-msgid="{{message.id}}"> <a href="#" class="popover_toggle_collapse" data-msgid="{{message.id}}">
<i class="{{#if message.collapsed}}icon-vector-plus{{else}}icon-vector-minus{{/if}}"></i> <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> </a>
</li> </li>
@ -25,7 +25,7 @@
<li> <li>
<a href="#" class="popover_mute_topic" data-msg-stream="{{message.stream}}" data-msg-topic="{{message.subject}}"> <a href="#" class="popover_mute_topic" data-msg-stream="{{message.stream}}" data-msg-topic="{{message.subject}}">
<i class="icon-vector-eye-close"></i> <i class="icon-vector-eye-close"></i>
Mute the topic <b>{{message.subject}}</b> {{#tr message}}Mute the topic <b>__subject__</b>{{/tr}}
</a> </a>
</li> </li>
{{/if}} {{/if}}
@ -34,14 +34,14 @@
<li> <li>
<a href="#" class="popover_unmute_topic" data-msg-stream="{{message.stream}}" data-msg-topic="{{message.subject}}"> <a href="#" class="popover_unmute_topic" data-msg-stream="{{message.stream}}" data-msg-topic="{{message.subject}}">
<i class="icon-vector-eye-open"></i> <i class="icon-vector-eye-open"></i>
Unmute the topic <b>{{message.subject}}</b> {{#tr message}}Unmute the topic <b>__subject__</b>{{/tr}}
</a> </a>
</li> </li>
{{/if}} {{/if}}
<li> <li>
<a href="{{ conversation_time_uri }}" class="popover_narrow_by_conversation_and_time" data-msgid="{{message.id}}"> <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> </a>
</li> </li>

View File

@ -8,7 +8,7 @@
</td> </td>
<td> <td>
<button class="btn delete btn-danger" data-emoji-name="{{name}}"> <button class="btn delete btn-danger" data-emoji-name="{{name}}">
Delete {{t "Delete" }}
</button> </button>
</td> </td>
</tr> </tr>

View File

@ -6,7 +6,7 @@
</td> </td>
<td> <td>
<button class="btn deactivate btn-danger"> <button class="btn deactivate btn-danger">
Delete stream {{t "Delete stream" }}
</button> </button>
</td> </td>
</tr> </tr>

View File

@ -2,29 +2,29 @@
<div class="span12"> <div class="span12">
<div class="administration"> <div class="administration">
<div class="alert" id="administration-status"></div> <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"> <ul class="nav nav-tabs" role="tablist">
<li role="presentation" class="active"> <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>
<li role="presentation"> <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>
<li role="presentation"> <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>
<li role="presentation"> <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>
<li role="presentation"> <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> </li>
</ul> </ul>
<div class="tab-content"> <div class="tab-content">
<div role="tabpanel" class="tab-pane active" id="organization"> <div role="tabpanel" class="tab-pane active" id="organization">
<div id="organization-settings" class="settings-section"> <div id="organization-settings" class="settings-section">
<div class="settings-section-title"><i class="icon-vector-gear settings-section-icon"></i> <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"> <form class="form-horizontal admin-realm-form">
<div class="control-group admin-realm"> <div class="control-group admin-realm">
<div class="alert" id="admin-realm-name-status"></div> <div class="alert" id="admin-realm-name-status"></div>
@ -39,19 +39,19 @@
</div> </div>
</div> </div>
<div class="control-group"> <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"> <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}} /> <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> </div>
<div class="control-group"> <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"> <div class="controls">
<input type="checkbox" id="id_realm_invite_required" name="realm_invite_required" {{#if realm_invite_required}}checked="checked"{{/if}} /> <input type="checkbox" id="id_realm_invite_required" name="realm_invite_required" {{#if realm_invite_required}}checked="checked"{{/if}} />
</div> </div>
</div> </div>
<div class="control-group"> <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"> <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}} /> <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> </div>
@ -63,40 +63,40 @@
</div> </div>
</div> </div>
<div class="controls organization-submission"> <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> </div>
</form> </form>
</div> </div>
<div id="emoji-settings" class="settings-section"> <div id="emoji-settings" class="settings-section">
<div class="settings-section-title"><i class="icon-vector-smile settings-section-icon"></i> <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"> <div class="admin-table-wrapper">
<table class="table table-condensed table-striped admin_emoji_table"> <table class="table table-condensed table-striped admin_emoji_table">
<tbody id="admin_emoji_table"> <tbody id="admin_emoji_table">
<th>Name</th> <th>{{t "Name" }}</th>
<th class="image">Image</th> <th class="image">{{t "Image" }}</th>
<th class="actions">Actions</th> <th class="actions">{{t "Actions" }}</th>
</tbody> </tbody>
</table> </table>
</div> </div>
<form class="form-horizontal admin-emoji-form"> <form class="form-horizontal admin-emoji-form">
<div class="add-new-emoji-box"> <div class="add-new-emoji-box">
<div class="new-emoji-form"> <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="alert" id="admin-emoji-status"></div>
<div class="control-group"> <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" /> <input type="text" name="name" id="emoji_name" placeholder="mouse_face" />
<div class="alert" id="admin-emoji-name-status"></div> <div class="alert" id="admin-emoji-name-status"></div>
</div> </div>
<div class="control-group"> <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" /> <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 class="alert" id="admin-emoji-url-status"></div>
</div> </div>
<div class="control-group"> <div class="control-group">
<div class="controls"> <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> </div>
</div> </div>
@ -107,12 +107,12 @@
<div role="tabpanel" class="tab-pane" id="users"> <div role="tabpanel" class="tab-pane" id="users">
<div id="admin-user-list" class="settings-section"> <div id="admin-user-list" class="settings-section">
<div class="settings-section-title"><i class="icon-vector-user settings-section-icon"></i> <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"> <table class="table table-condensed table-striped">
<tbody id="admin_users_table" class="admin_user_table"> <tbody id="admin_users_table" class="admin_user_table">
<th>Name</th> <th>{{t "Name" }}</th>
<th>Email</th> <th>{{t "Email" }}</th>
<th>Actions</th> <th>{{t "Actions" }}</th>
</tbody> </tbody>
</table> </table>
<div id="admin_page_users_loading_indicator"></div> <div id="admin_page_users_loading_indicator"></div>
@ -121,12 +121,12 @@
<div role="tabpanel" class="tab-pane" id="deactivated-users"> <div role="tabpanel" class="tab-pane" id="deactivated-users">
<div id="admin-deactivated-users-list" class="settings-section"> <div id="admin-deactivated-users-list" class="settings-section">
<div class="settings-section-title"><i class="icon-vector-trash settings-section-icon"></i> <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"> <table class="table table-condensed table-striped">
<tbody id="admin_deactivated_users_table" class="admin_user_table"> <tbody id="admin_deactivated_users_table" class="admin_user_table">
<th>Name</th> <th>{{t "Name" }}</th>
<th>Email</th> <th>{{t "Email" }}</th>
<th>Actions</th> <th>{{t "Actions" }}</th>
</tbody> </tbody>
</table> </table>
<div id="admin_page_deactivated_users_loading_indicator"></div> <div id="admin_page_deactivated_users_loading_indicator"></div>
@ -135,13 +135,13 @@
<div role="tabpanel" class="tab-pane" id="bots"> <div role="tabpanel" class="tab-pane" id="bots">
<div id="admin-user-list" class="settings-section"> <div id="admin-user-list" class="settings-section">
<div class="settings-section-title"><i class="icon-vector-github settings-section-icon"></i> <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"> <table class="table table-condensed table-striped">
<tbody id="admin_bots_table" class="admin_bot_table"> <tbody id="admin_bots_table" class="admin_bot_table">
<th>Name</th> <th>{{t "Name" }}</th>
<th>Email</th> <th>{{t "Email" }}</th>
<th>Owner</th> <th>{{t "Owner" }}</th>
<th>Actions</th> <th>{{t "Actions" }}</th>
</tbody> </tbody>
</table> </table>
<div id="admin_page_bots_loading_indicator"></div> <div id="admin_page_bots_loading_indicator"></div>
@ -155,8 +155,8 @@
<table class="table table-condensed table-striped"> <table class="table table-condensed table-striped">
<tbody id="admin_streams_table" class="admin_stream_table"> <tbody id="admin_streams_table" class="admin_stream_table">
<th>Name</th> <th>{{t "Name" }}</th>
<th>Actions</th> <th>{{t "Actions" }}</th>
</tbody> </tbody>
</table> </table>
<div id="admin_page_streams_loading_indicator"></div> <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 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"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <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>
<div class="modal-body"> <div class="modal-body">
<p>By deactivating <strong><span class="user_name"></span></strong> &lt;<span class="email"></span>&gt;, they will be logged out immediately.</p> <p>{{#tr this}}By deactivating <strong><span class="user_name"></span></strong> &lt;<span class="email"></span>&gt;, they will be logged out immediately.{{/tr}}</p>
<p>Their password will be cleared from our systems, and any bots they maintain will be disabled.</p> <p>{{t "Their password will be cleared from our systems, and any bots they maintain will be disabled." }}</p>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button class="btn btn-default" data-dismiss="modal" aria-hidden="true">Cancel</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">Deactivate now</button> <button class="btn btn-danger" id="do_deactivate_user_button">{{t "Deactivate now" }}</button>
</div> </div>
</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 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"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <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>
<div class="modal-body"> <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>
<div class="modal-footer"> <div class="modal-footer">
<button class="btn btn-default" data-dismiss="modal" aria-hidden="true">Cancel</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">Yes, delete this stream</button> <button class="btn btn-danger" id="do_deactivate_stream_button">{{t "Yes, delete this stream" }}</button>
</div> </div>
</div> </div>
</div> </div>

View File

@ -14,22 +14,22 @@
<td> <td>
{{#if is_active}} {{#if is_active}}
<button class="btn deactivate btn-danger"> <button class="btn deactivate btn-danger">
Deactivate {{t "Deactivate" }}
</button> </button>
{{else}} {{else}}
<button class="btn reactivate btn-warning"> <button class="btn reactivate btn-warning">
Reactivate {{t "Reactivate" }}
</button> </button>
{{/if}} {{/if}}
<span class="user-admin-settings"> <span class="user-admin-settings">
{{#if is_active_human}} {{#if is_active_human}}
{{#if is_admin}} {{#if is_admin}}
<button class="btn remove-admin btn-danger"> <button class="btn remove-admin btn-danger">
Remove admin {{t "Remove admin" }}
</button> </button>
{{else}} {{else}}
<button class="btn make-admin btn-warning"> <button class="btn make-admin btn-warning">
Make admin {{t "Make admin" }}
</button> </button>
{{/if}} {{/if}}
{{/if}} {{/if}}

View File

@ -1,7 +1,7 @@
{{! Alert word in the settings page that can be removed }} {{! Alert word in the settings page that can be removed }}
<li class="alert-word-item" data-word='{{word}}'> <li class="alert-word-item" data-word='{{word}}'>
{{#if editing}} {{#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}} {{else}}
{{word}}<button class="btn btn-default btn-mini remove-alert-word" type="button"><i class="icon-vector-remove"></i></button> {{word}}<button class="btn btn-default btn-mini remove-alert-word" type="button"><i class="icon-vector-remove"></i></button>
{{/if}} {{/if}}

View File

@ -1,7 +1,9 @@
{{! Explanation of what "announce stream" does when creating a stream }} {{! Explanation of what "announce stream" does when creating a stream }}
<div> <div>
{{#tr this}}
<p>Lets everyone know about the new stream,<br /> <p>Lets everyone know about the new stream,<br />
even if you don't add them.</p> even if you don't add them.</p>
{{/tr}}
</div> </div>

View File

@ -1,6 +1,6 @@
{{! The unread count in the bankruptcy modal }} {{! The unread count in the bankruptcy modal }}
<div class="modal-body"> <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>{{#tr this}}It's been a while! Since you were last here, you received <b>__unread_count__</b> new messages.{{/tr}}</p>
<p>Do you want to skip to your latest messages?</p> <p>{{t "Do you want to skip to your latest messages?" }}</p>
</div> </div>

View File

@ -5,25 +5,25 @@
<div class="bot_info"> <div class="bot_info">
<div class="name">{{name}}</div> <div class="name">{{name}}</div>
<div class="email"> <div class="email">
<span class="field">Username</span> <span class="field">{{t "Username" }}</span>
<span class="value">{{email}}</span> <span class="value">{{email}}</span>
</div> </div>
<div class="api_key"> <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="api-key-value-and-button">
<span class="value">{{api_key}} <span class="value">{{api_key}}
</span> </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> <i class="icon-vector-refresh"></i>
</button> </button>
</span> </span>
<div class="api_key_error text-error"></div> <div class="api_key_error text-error"></div>
</div> </div>
<div class="edit-bot-buttons"> <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> <i class="icon-vector-pencil"></i>
</button> </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> <i class="icon-vector-trash"></i>
</button> </button>
</div> </div>
@ -35,33 +35,33 @@
<div class="edit_bot_email">{{email}}</div> <div class="edit_bot_email">{{email}}</div>
<div class="edit-bot-form-box"> <div class="edit-bot-form-box">
<div class="control-group"> <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"> <div class="controls">
<input type="text" name="bot_name" id="edit_bot_name{{id_suffix}}" class="edit_bot_name required" maxlength=50 /> <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><label for="edit_bot_name{{id_suffix}}" generated="true" class="text-error"></label></div>
</div> </div>
</div> </div>
<div class="control-group new-bot-ui"> <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> <select name="bot_default_sending_stream" class="edit_bot_default_sending_stream" id="edit_bot_default_sending_stream{{id_suffix}}"></select>
</div> </div>
<div class="control-group new-bot-ui"> <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> <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>
<div class="control-group"> <div class="control-group">
<label for="bot_avatar_file_input{{id_suffix}}" class="control-label">Avatar</label> <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="controls">
<div class="edit_bot_avatar_file"></div> <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_upload_button">{{t "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_clear_button">{{t "Clear avatar" }}</button>
</div> </div>
<div><label for="edit_bot_avatar_file{{id_suffix}}" generated="true" class="edit_bot_avatar_error text-error"></label></div> <div><label for="edit_bot_avatar_file{{id_suffix}}" generated="true" class="edit_bot_avatar_error text-error"></label></div>
</div> </div>
<div class="control-group"> <div class="control-group">
<div class="controls"> <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> <button type="submit" class="btn btn-default reset_edit_bot">Cancel</button>
</div> </div>
<div class="edit_bot_spinner"></div> <div class="edit_bot_spinner"></div>

View File

@ -1,11 +1,11 @@
{{#if can_make_public}} {{#if can_make_public}}
<button class="btn btn-primary make-stream-public-button" data-stream-name="{{name}}" tabindex="-1"> <button class="btn btn-primary make-stream-public-button" data-stream-name="{{name}}" tabindex="-1">
Make stream public {{t "Make stream public" }}
</button> </button>
{{/if}} {{/if}}
{{#if can_make_private}} {{#if can_make_private}}
<button class="btn btn-danger make-stream-private-button" data-stream-name="{{name}}" tabindex="-1"> <button class="btn btn-danger make-stream-private-button" data-stream-name="{{name}}" tabindex="-1">
Make stream private {{t "Make stream private" }}
</button> </button>
{{/if}} {{/if}}
<div class="change-stream-privacy-feedback"></div> <div class="change-stream-privacy-feedback"></div>

View File

@ -1,7 +1,7 @@
<div class="compose_invite_user" data-useremail="{{email}}"> <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"> <div class="compose_invite_user_controls">
<span class="compose_invite_user_error alert alert-error" style="display: none;">Unable to subscribe user</span> <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" >Subscribe</button><button type="button" class="compose_invite_close close">×</button> <button href="" class="compose_invite_link btn" >{{t "Subscribe" }}</button><button type="button" class="compose_invite_close close">×</button>
</div> </div>
</div> </div>

View File

@ -1,14 +1,14 @@
{{! Explanation of the stream email address }} {{! Explanation of the stream email address }}
<div> <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" /> <img class="subscription-email-hint-image" src="static/images/integrations/zulip_mail.png" />
<ul> <ul>
<li>The email will be forwarded to this stream</li> <li>{{t "The email will be forwarded to this stream" }}</li>
<li>The email subject will become the {{ page_params.product_name }} topic</li> <li>{{#tr this}}The email subject will become the __page_params.product_name__ topic{{/tr}}</li>
<li>The email body will become the {{ page_params.product_name }} message</li> <li>{{#tr this}}The email body will become the __page_params.product_name__ message{{/tr}}</li>
</ul> </ul>
</div> </div>

View File

@ -1,6 +1,6 @@
{{! Client-side Mustache template for rendering subscriptions in the "invite user" form.}} {{! 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_check_all_button">{{t "Check all" }}</a> |
<a href="#" class="invite_uncheck_all_button">Uncheck all</a> <a href="#" class="invite_uncheck_all_button">{{t "Uncheck all" }}</a>
<div id="stream-checkboxes"> <div id="stream-checkboxes">
{{#each streams}} {{#each streams}}
<label class="checkbox"> <label class="checkbox">

View File

@ -3,13 +3,13 @@
<form id="message_edit_form" class="form-horizontal"> <form id="message_edit_form" class="form-horizontal">
{{#if is_stream}} {{#if is_stream}}
<div class="control-group"> <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"> <div class="controls edit-controls">
<input type="text" value="{{topic}}" class="message_edit_topic" id="message_edit_topic" /> <input type="text" value="{{topic}}" class="message_edit_topic" id="message_edit_topic" />
<select class='message_edit_topic_propagate' style='display:none;'> <select class='message_edit_topic_propagate' style='display:none;'>
<option selected="selected" value="change_one"> Change only this message topic</option> <option selected="selected" value="change_one"> {{t "Change only this message topic" }}</option>
<option value="change_later"> Change later messages to this topic</option> <option value="change_later"> {{t "Change later messages to this topic" }}</option>
<option value="change_all"> Change previous and following messages to this topic</option> <option value="change_all"> {{t "Change previous and following messages to this topic" }}</option>
</select> </select>
</div> </div>
</div> </div>
@ -21,8 +21,8 @@
</div> </div>
<div class="control-group"> <div class="control-group">
<div class="controls edit-controls"> <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_save btn btn-primary btn-small">{{t "Save" }}</button>
<button type="button" class="message_edit_cancel btn btn-default btn-small">Cancel</button> <button type="button" class="message_edit_cancel btn btn-default btn-small">{{t "Cancel" }}</button>
</div> </div>
</div> </div>
<div class="alert alert-error edit_error hide"></div> <div class="alert alert-error edit_error hide"></div>

View File

@ -1,30 +1,30 @@
{{! Contents of the "message info" popup }} {{! Contents of the "message info" popup }}
<ul class="nav nav-list actions_popover sender_info_popover" data-email="{{message.sender_email}}"> <ul class="nav nav-list actions_popover sender_info_popover" data-email="{{message.sender_email}}">
<div class="popover_info"> <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> <li class='my_email'>{{message.sender_email}}</li>
<hr /> <hr />
<li>{{message.full_date_str}}</li> <li>{{message.full_date_str}}</li>
<li>{{message.full_time_str}}</li> <li>{{message.full_time_str}}</li>
{{#if message.historical}} {{#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}} {{/if}}
</div> </div>
<hr /> <hr />
<li> <li>
<a href="#" class="respond_personal_button"> <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> </a>
</li> </li>
<li> <li>
<a href="{{ pm_with_uri }}" class="narrow_to_private_messages"> <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> </a>
</li> </li>
<li> <li>
<a href="{{ sent_by_uri }}" class="narrow_to_messages_sent"> <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> </a>
</li> </li>
</ul> </ul>

View File

@ -1,6 +1,6 @@
{{! Title of the "message actions" popup }} {{! Title of the "message actions" popup }}
{{#if message.is_stream}} {{#if message.is_stream}}
Message to stream <b>{{message.stream}}</b> {{#tr this}}Message to stream <b>__message.stream__</b>{{/tr}}
{{else}} {{else}}
Private message {{t "Private message" }}
{{/if}} {{/if}}

View File

@ -1,6 +1,6 @@
{{! Client-side Mustache template for rendering users in the stream creation modal.}} {{! 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_set_all_users">{{t "Check all" }}</a> |
<a href="#" class="subs_unset_all_users">Uncheck all</a> <a href="#" class="subs_unset_all_users">{{t "Uncheck all" }}</a>
<div id="user-checkboxes"> <div id="user-checkboxes">
{{#each users}} {{#each users}}
<label class="checkbox"> <label class="checkbox">

View File

@ -1,12 +1,12 @@
<div> <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="control-group">
<div class="controls propagate-notifications-controls"> <div class="controls propagate-notifications-controls">
<button type="button" <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" <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> </div>
</div> </div>

View File

@ -6,10 +6,10 @@
<a class="message_label_clickable narrows_by_recipient stream_label {{color_class}}" <a class="message_label_clickable narrows_by_recipient stream_label {{color_class}}"
style="background: {{background_color}}; border-left-color: {{background_color}};" style="background: {{background_color}}; border-left-color: {{background_color}};"
href="{{stream_url}}" href="{{stream_url}}"
title="Narrow to stream &quot;{{display_recipient}}&quot;"> title="{{#tr this}}Narrow to stream &quot;__display_recipient__&quot;{{/tr}}">
{{! invite only lock }} {{! invite only lock }}
{{#if invite_only}} {{#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}} {{/if}}
{{display_recipient}} {{display_recipient}}
</a> </a>
@ -22,7 +22,7 @@
{{! topic link }} {{! topic link }}
<a class="message_label_clickable narrows_by_subject" <a class="message_label_clickable narrows_by_subject"
href="{{topic_url}}" href="{{topic_url}}"
title="Narrow to stream &quot;{{display_recipient}}&quot;, topic &quot;{{subject}}&quot;"> title="{{#tr this}}Narrow to stream &quot;__display_recipient__&quot;, topic &quot;__subject__&quot;{{/tr}}">
{{#if use_match_properties}} {{#if use_match_properties}}
{{{match_subject}}} {{{match_subject}}}
{{else}} {{else}}
@ -59,8 +59,8 @@
<div class="message-header-contents"> <div class="message-header-contents">
<a class="message_label_clickable narrows_by_recipient" <a class="message_label_clickable narrows_by_recipient"
href="{{pm_with_url}}" href="{{pm_with_url}}"
title="Narrow to your private messages with {{display_reply_to}}"> title="{{#tr this}}Narrow to your private messages with __display_reply_to__{{/tr}}">
You and {{display_reply_to}} {{#tr this}}You and __display_reply_to__{{/tr}}
</a> </a>
</div> </div>
</div> </div>

View File

@ -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 id="settings-change-box">
<div class="alert" id="settings-status"></div> <div class="alert" id="settings-status"></div>
<div id="account-settings" class="settings-section"> <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"> <div class="account-settings-form">
<form action="/json/settings/change" method="post" <form action="/json/settings/change" method="post"
class="form-horizontal your-account-settings"> class="form-horizontal your-account-settings">
<div class="control-group" id="name_change_container"> <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"> <div class="controls">
<input type="text" name="full_name" id="full_name" <input type="text" name="full_name" id="full_name"
value="{{ page_params.fullname }}" /> value="{{ page_params.fullname }}" />
@ -19,24 +19,24 @@
{{#if page_params.password_auth_enabled}} {{#if page_params.password_auth_enabled}}
<div class="control-group" id="pw_change_link"> <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"> <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> </div>
<div id="pw_change_controls"> <div id="pw_change_controls">
<div class="control-group"> <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"> <div class="controls">
<input type="password" autocomplete="off" <input type="password" autocomplete="off"
name="old_password" id="old_password" value="" /> 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> </div>
<div class="control-group"> <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"> <div class="controls">
<input type="password" autocomplete="off" <input type="password" autocomplete="off"
name="new_password" id="new_password" value="" /> name="new_password" id="new_password" value="" />
@ -44,7 +44,7 @@
</div> </div>
<div class="control-group"> <div class="control-group">
<label class="control-label">Password strength</label> <label class="control-label">{{t "Password strength" }}</label>
<div class="controls"> <div class="controls">
<div class="progress" id="pw_strength"> <div class="progress" id="pw_strength">
<div class="bar bar-danger" style="width: 10%;"></div> <div class="bar bar-danger" style="width: 10%;"></div>
@ -53,7 +53,7 @@
</div> </div>
<div class="control-group"> <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"> <div class="controls">
<input type="password" autocomplete="off" <input type="password" autocomplete="off"
name="confirm_password" id="confirm_password" value="" /> name="confirm_password" id="confirm_password" value="" />
@ -66,7 +66,7 @@
<div class="control-group"> <div class="control-group">
<div class="controls"> <div class="controls">
<input type="submit" name="change_settings" <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>
</div> </div>
@ -76,9 +76,9 @@
</p> </p>
<div id="user_avatar_file_input_error" class="text-error"></div> <div id="user_avatar_file_input_error" class="text-error"></div>
<div id="user_avatar_file"></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> <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> </div>
</form> </form>
@ -89,7 +89,7 @@
<div> <div>
<div id="display-settings" class="settings-section"> <div id="display-settings" class="settings-section">
<div class="settings-section-title"><i class="icon-vector-time settings-section-icon"></i> <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="alert" id="display-settings-status"></div>
<div class="display-settings-form"> <div class="display-settings-form">
@ -100,7 +100,7 @@
checked="yes" checked="yes"
{{/if}} /> {{/if}} />
</div> </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>
<div class="control-group"> <div class="control-group">
@ -111,7 +111,7 @@
{{/if}} /> {{/if}} />
</div> </div>
<label for="twenty_four_hour_time" class="control-label"> <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> </label>
</div> </div>
</div> </div>
@ -120,13 +120,13 @@
<div> <div>
<div id="notification-settings" class="settings-section"> <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="settings-section-title"><i class="icon-vector-warning-sign settings-section-icon"></i>{{t "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="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="alert" id="notify-settings-status"></div>
<div class="notification-settings-form"> <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="control-group">
<div class="controls"> <div class="controls">
@ -137,7 +137,7 @@
{{/if}} /> {{/if}} />
</div> </div>
<label for="enable_stream_desktop_notifications" class="control-label"> <label for="enable_stream_desktop_notifications" class="control-label">
Desktop notifications {{t "Desktop notifications" }}
</label> </label>
<div class="propagate_stream_notifications_change"></div> <div class="propagate_stream_notifications_change"></div>
</div> </div>
@ -150,19 +150,18 @@
{{/if}} /> {{/if}} />
</div> </div>
<label for="enable_stream_sounds" class="control-label"> <label for="enable_stream_sounds" class="control-label">
Audible notifications {{t "Audible notifications" }}
</label> </label>
<div class="propagate_stream_notifications_change"></div> <div class="propagate_stream_notifications_change"></div>
</div> </div>
<p class="notification-settings-note"> <p class="notification-settings-note">
Change notification settings for individual streams on your <a {{#tr this}}Change notification settings for individual streams on your <a href="/#subscriptions">Streams page</a>.{{/tr}}
href="/#subscriptions">Streams page</a>.
</p> </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="control-group">
<div class="controls"> <div class="controls">
@ -172,7 +171,7 @@
{{/if}} /> {{/if}} />
</div> </div>
<label for="enable_desktop_notifications" class="control-label"> <label for="enable_desktop_notifications" class="control-label">
Desktop notifications {{t "Desktop notifications" }}
</label> </label>
</div> </div>
@ -184,7 +183,7 @@
{{/if}} /> {{/if}} />
</div> </div>
<label for="enable_sounds" class="control-label"> <label for="enable_sounds" class="control-label">
Audible notifications {{t "Audible notifications" }}
</label> </label>
</div> </div>
@ -196,7 +195,7 @@
{{/if}} /> {{/if}} />
</div> </div>
<label for="enable_offline_email_notifications" class="control-label"> <label for="enable_offline_email_notifications" class="control-label">
Email notifications when offline {{t "Email notifications when offline" }}
</label> </label>
</div> </div>
@ -208,14 +207,14 @@
{{/if}} /> {{/if}} />
</div> </div>
<label for="enable_offline_push_notifications" class="control-label"> <label for="enable_offline_push_notifications" class="control-label">
Mobile push notifications when offline {{t "Mobile push notifications when offline" }}
</label> </label>
</div> </div>
<div id="other_notifications"> <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="control-group" id="digest_container">
<div class="controls"> <div class="controls">
@ -225,7 +224,7 @@
{{/if}} /> {{/if}} />
</div> </div>
<label for="enable_digest_emails" class="control-label"> <label for="enable_digest_emails" class="control-label">
Digest emails when I'm away {{t "Digest emails when I'm away" }}
</label> </label>
</div> </div>
{{!-- If you add another control group here, make sure to change {{!-- If you add another control group here, make sure to change
@ -237,7 +236,7 @@
<div class="control-group"> <div class="control-group">
<div class="controls notification-submission"> <div class="controls notification-submission">
<input type="submit" id="change_notification_settings" <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" /> class="btn btn-big btn-primary" />
</div> </div>
</div> </div>
@ -250,11 +249,13 @@
<div id="bot-settings" class="settings-section"> <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"> <div class="bot-settings-form">
{{#tr this}}
<p class="bot-settings-note">Looking for our <a href="/integrations" target="_blank">Integrations</a> <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> or <a href="/api" target="_blank">API</a> documentation?</p>
{{/tr}}
<ol id="bots_list"> <ol id="bots_list">
</ol> </ol>
@ -264,31 +265,31 @@
<div class="settings-section-title new-bot-section-title">Add a New Bot</div> <div class="settings-section-title new-bot-section-title">Add a New Bot</div>
<div class="new-bot-form"> <div class="new-bot-form">
<div class="control-group"> <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" <input type="text" name="bot_name" id="create_bot_name" class="required"
maxlength=100 placeholder="Full Bot Name" value="" /> maxlength=100 placeholder="Full Bot Name" value="" />
<div><label for="create_bot_name" generated="true" class="text-error"></label></div> <div><label for="create_bot_name" generated="true" class="text-error"></label></div>
</div> </div>
<div class="control-group"> <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" <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><label for="create_bot_short_name" generated="true" class="text-error"></label></div>
</div> </div>
<div class="control-group new-bot-ui"> <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> <select name="bot_default_sending_stream" id="create_bot_default_sending_stream"></select>
</div> </div>
<div class="control-group new-bot-ui"> <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> <select name="bot_default_events_register_stream" id="create_bot_default_events_register_stream"></select>
</div> </div>
<div class="control-group"> <div class="control-group">
<div class="controls"> <div class="controls">
<div id="bot_avatar_file"></div> <div id="bot_avatar_file"></div>
<input type="file" name="bot_avatar_file_input" class="notvisible" id="bot_avatar_file_input" value="Upload avatar" /> <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">Clear avatar</button> <button class="btn btn-default" id="bot_avatar_clear_button">{{t "Clear avatar" }}</button>
<button class="btn btn-default" id="bot_avatar_upload_button">Customize avatar</button> (Optional) <button class="btn btn-default" id="bot_avatar_upload_button">{{t "Customize avatar" }}</button> ({{t "Optional" }})
</div> </div>
</div> </div>
<p> <p>
@ -296,7 +297,7 @@
</p> </p>
<div class="control-group"> <div class="control-group">
<div class="controls"> <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> </div>
</div> </div>
@ -306,35 +307,39 @@
<hr class="settings_separator" /> <hr class="settings_separator" />
<div class="form-horizontal" id="api_key_button_box"> <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 <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 its own name and API key using the above section. But if you
want to write a bot that can access your own private want to write a bot that can access your own private
messages, you should use your personal API key. messages, you should use your personal API key.
</p> </p>
{{/tr}}
<div class="control-group"> <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> </div>
<div id="get_api_key_box"> <div id="get_api_key_box">
{{#tr this}}
<p>Please re-enter your password to confirm your identity. <p>Please re-enter your password to confirm your identity.
(<a href="/accounts/password/reset/" target="_blank">Forgotten it?</a>)</p> (<a href="/accounts/password/reset/" target="_blank">Forgotten it?</a>)</p>
{{/tr}}
<form action="/json/fetch_api_key" method="post" class="form-horizontal"> <form action="/json/fetch_api_key" method="post" class="form-horizontal">
<div class="control-group"> <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" <input type="password" autocomplete="off"
name="password" id="get_api_key_password" value="" /> name="password" id="get_api_key_password" value="" />
</div> </div>
<div class="control-group"> <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" /> class="btn btn-primary" />
</div> </div>
</form> </form>
</div> </div>
<div id="show_api_key_box"> <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> <p><b><span id="api_key_value"></span></b></p>
<button type="submit" class="btn btn-primary regenerate_api_key"> <button type="submit" class="btn btn-primary regenerate_api_key">
Generate new API Key {{t "Generate new API Key" }}
</button> </button>
<div id="user_api_key_error text-error"> <div id="user_api_key_error text-error">
</div> </div>
@ -344,18 +349,18 @@
</div> </div>
<div id="word-alert-settings" class="settings-section"> <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 id="word-alerts">
</ul> </ul>
</div> </div>
<div class="ui-settings"> <div class="ui-settings">
<div id="ui-settings" class="settings-section"> <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="alert" id="ui-settings-status"></div>
<div class="ui-settings-form"> <div class="ui-settings-form">
<p> <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> </p>
<div class="control-group"> <div class="control-group">
<div class="controls"> <div class="controls">
@ -365,7 +370,7 @@
{{/if}} /> {{/if}} />
</div> </div>
<label for="autoscroll_forever" class="control-label"> <label for="autoscroll_forever" class="control-label">
Always auto-scroll to new messages {{t "Always auto-scroll to new messages" }}
</label> </label>
<div class="controls"> <div class="controls">
@ -375,13 +380,13 @@
{{/if}} /> {{/if}} />
</div> </div>
<label for="default_desktop_notifications" class="control-label"> <label for="default_desktop_notifications" class="control-label">
Enable desktop notifications for new streams {{t "Enable desktop notifications for new streams" }}
</label> </label>
</div> </div>
<div class="control-group"> <div class="control-group">
<div class="controls ui-submission"> <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> </div>
</div> </div>

View File

@ -16,7 +16,7 @@
{{/each}} {{/each}}
{{#if want_show_more_messages_links}} {{#if want_show_more_messages_links}}
<li class="show-more-private-messages" data-name='more-private-messages'> <li class="show-more-private-messages" data-name='more-private-messages'>
<a href="#">(more conversations)</a> <a href="#">({{t "more conversations" }})</a>
</li> </li>
{{/if}} {{/if}}
</ul> </ul>

View File

@ -16,7 +16,7 @@
{{/each}} {{/each}}
{{#if want_show_more_topics_links}} {{#if want_show_more_topics_links}}
<li class="show-more-topics" data-stream="{{stream}}"> <li class="show-more-topics" data-stream="{{stream}}">
<a href="#">(more topics)</a> <a href="#">({{t "more topics" }})</a>
</li> </li>
{{/if}} {{/if}}
</ul> </ul>

View File

@ -15,12 +15,12 @@
{{/include_sender}} {{/include_sender}}
<span class="message_time{{#if msg.local_id}} notvisible{{/if}}{{#if status_message}} status-time{{/if}}">{{timestr}}</span> <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}} {{#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}} {{/if_and}}
<div class="message_controls{{#status_message}} sender-status-controls{{/status_message}}"> <div class="message_controls{{#status_message}} sender-status-controls{{/status_message}}">
<div class="star"> <div class="star">
<span class="message_star {{#if msg/starred}}icon-vector-star{{else}}icon-vector-star-empty empty-star{{/if}}" <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>
<div class="info actions_hover"> <div class="info actions_hover">
<i class="icon-vector-chevron-down"></i> <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> <div class="message_content">{{#unless status_message}}{{#if use_match_properties}}{{{msg/match_content}}}{{else}}{{{msg/content}}}{{/if}}{{/unless}}</div>
{{#if last_edit_timestr}} {{#if last_edit_timestr}}
{{#unless include_sender}} {{#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}} {{/unless}}
{{/if}} {{/if}}
<div class="message_edit"> <div class="message_edit">
<div class="message_edit_form" id="{{msg/id}}"></div> <div class="message_edit_form" id="{{msg/id}}"></div>
</div> </div>
<div class="message_expander message_length_controller" title="See the rest of this message">[More...]</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="Make this message take up less space on the screen">[Condense this message]</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> </div>
</div> </div>

View File

@ -5,7 +5,7 @@
<td class="unsubscribe"> <td class="unsubscribe">
<div class="subscriber_list_remove"> <div class="subscriber_list_remove">
<form class="form-inline remove-subscriber-form"> <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" /> class="btn btn-danger remove-subscriber-button" />
</form> </form>
</div> </div>

View File

@ -3,41 +3,41 @@
<li> <li>
<a class="narrow_to_stream"> <a class="narrow_to_stream">
<i class="icon-vector-bullhorn"></i> <i class="icon-vector-bullhorn"></i>
Narrow to stream <b>{{stream.name}}</b> {{#tr this}}Narrow to stream <b>__stream.name__</b>{{/tr}}
</a> </a>
</li> </li>
<li> <li>
<a class="toggle_home"> <a class="toggle_home">
{{#if stream.in_home_view}} {{#if stream.in_home_view}}
<i class="icon-vector-eye-close"></i> <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}} {{else}}
<i class="icon-vector-eye-open"></i> <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}} {{/if}}
</a> </a>
</li> </li>
<li> <li>
<a class="compose_to_stream"> <a class="compose_to_stream">
<i class="icon-vector-edit"></i> <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> </a>
</li> </li>
<li> <li>
<a class="mark_stream_as_read"> <a class="mark_stream_as_read">
<i class="icon-vector-book"></i> <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> </a>
</li> </li>
<li> <li>
<a class="open_stream_settings"> <a class="open_stream_settings">
<i class="icon-vector-cog"></i> <i class="icon-vector-cog"></i>
Stream settings {{t "Stream settings" }}
</a> </a>
</li> </li>
<li> <li>
<span class="colorpicker-container"><input stream_name="{{stream.name}}" class="colorpicker" type="text" value="{{stream.color}}" /></span> <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> </li>
</ul> </ul>

View File

@ -13,10 +13,10 @@
<button class="btn sub_unsub_button btn-default{{#subscribed}} btn-success subscribed-button{{/subscribed}}" <button class="btn sub_unsub_button btn-default{{#subscribed}} btn-success subscribed-button{{/subscribed}}"
type="button" name="subscription"> type="button" name="subscription">
{{#subscribed}} {{#subscribed}}
Subscribed {{t "Subscribed" }}
{{/subscribed}} {{/subscribed}}
{{^subscribed}} {{^subscribed}}
Subscribe {{t "Subscribe" }}
{{/subscribed}} {{/subscribed}}
</button> </button>
</div> </div>
@ -32,7 +32,7 @@
<div id="sub_setting_not_in_home_view" class="sub_setting_checkbox sub-mute-setting"> <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}} /> <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> <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> </div>
</li> </li>
<li> <li>
@ -40,13 +40,13 @@
<div id="sub_desktop_notifications_setting" <div id="sub_desktop_notifications_setting"
class="sub_setting_checkbox sub_notification_setting {{#unless in_home_view}}muted-sub{{/unless}}"> 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}}/> <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>
<div id="sub_audible_notifications_setting" <div id="sub_audible_notifications_setting"
class="sub_setting_checkbox sub_notification_setting {{#unless in_home_view}}muted-sub{{/unless}}"> 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}}/> <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> </div>
</li> </li>
@ -54,7 +54,7 @@
<span class="sub_setting_control"> <span class="sub_setting_control">
<input stream_name="{{name}}" class="colorpicker" id="streamcolor" type="text" value="{{color}}" tabindex="-1" /> <input stream_name="{{name}}" class="colorpicker" id="streamcolor" type="text" value="{{color}}" tabindex="-1" />
</span> </span>
<label for="streamcolor" class="subscription-control-label">Stream color</label> <label for="streamcolor" class="subscription-control-label">{{t "Stream color" }}</label>
</li> </li>
</ul> </ul>
</div> </div>
@ -70,18 +70,18 @@
{{#if is_admin}} {{#if is_admin}}
<div class="admin-settings"> <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"> <div class="rename-stream">
<form class="form-inline"> <form class="form-inline">
<input type="text" name="new-name" value="" class="input-block new-stream-name" tabindex="-1" /> <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> </form>
</div> </div>
<div class="change-stream-description"> <div class="change-stream-description">
<form class="form-inline"> <form class="form-inline">
<input type="hidden" name="stream_name" value="{{name}}" /> <input type="hidden" name="stream_name" value="{{name}}" />
<input type="text" name="description" value="{{description}}" class="input-block description" tabindex="-1" /> <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> </form>
</div> </div>
<div class="change-stream-privacy"> <div class="change-stream-privacy">
@ -92,11 +92,11 @@
{{#render_subscribers}} {{#render_subscribers}}
<div class="subscriber_list_settings"> <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"> <div class="subscriber_list_add">
<form class="form-inline"> <form class="form-inline">
<input type="text" name="principal" placeholder="Email address" value="" class="input-block" tabindex="-1" /> <input type="text" name="principal" placeholder="{{t '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="submit" name="add_subscriber" value="{{t 'Add' }}" class="btn btn-primary add-subscriber-button" tabindex="-1 "/>
</form> </form>
</div> </div>
</div> </div>

View File

@ -3,9 +3,9 @@
<div class="subscription_table_elem"> <div class="subscription_table_elem">
<form id="add_new_subscription" class="form-inline" action=""> <form id="add_new_subscription" class="form-inline" action="">
<input type="text" name="stream_name" id="create_stream_name" <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" <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> </form>
</div> </div>
</div> </div>

View File

@ -1,3 +1,2 @@
This is {{#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&nbsp;any&nbsp;member&nbsp;of&nbsp;the&nbsp;stream can&nbsp;invite&nbsp;others.' }}
{{#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&nbsp;any&nbsp;member&nbsp;of&nbsp;the&nbsp;stream can&nbsp;invite&nbsp;others. {{else}}{{t 'This is a <span class="icon-vector-globe"></span> <b>public stream</b>. Anybody in your organization can join.' }}{{/if}}
{{else}}a <span class="icon-vector-globe"></span> <b>public stream</b>. Anybody in your organization can join.{{/if}}

View File

@ -2,7 +2,7 @@
<li> <li>
<a class="narrow_to_topic" data-stream-name="{{ stream_name}}" data-topic-name="{{ topic_name }}"> <a class="narrow_to_topic" data-stream-name="{{ stream_name}}" data-topic-name="{{ topic_name }}">
<i class="icon-vector-bullhorn"></i> <i class="icon-vector-bullhorn"></i>
Narrow to topic <b>{{ topic_name }}</b> {{#tr this}}Narrow to topic <b>__topic_name__</b>{{/tr}}
</a> </a>
</li> </li>
@ -11,7 +11,7 @@
<li> <li>
<a href="#" class="sidebar-popover-mute-topic" data-stream-name="{{ stream_name }}" data-topic-name="{{ topic_name }}"> <a href="#" class="sidebar-popover-mute-topic" data-stream-name="{{ stream_name }}" data-topic-name="{{ topic_name }}">
<i class="icon-vector-eye-close"></i> <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> </a>
</li> </li>
{{/if}} {{/if}}
@ -20,14 +20,14 @@
<li> <li>
<a href="#" class="sidebar-popover-unmute-topic" data-stream-name="{{ stream_name }}" data-topic-name="{{ topic_name }}"> <a href="#" class="sidebar-popover-unmute-topic" data-stream-name="{{ stream_name }}" data-topic-name="{{ topic_name }}">
<i class="icon-vector-eye-open"></i> <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> </a>
</li> </li>
{{/if}} {{/if}}
<li> <li>
<a class="sidebar-popover-mark-topic-read" data-stream-name="{{ stream_name }}" data-topic-name="{{ topic_name }}"> <a class="sidebar-popover-mark-topic-read" data-stream-name="{{ stream_name }}" data-topic-name="{{ topic_name }}">
<i class="icon-vector-book"></i> <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> </a>
</li> </li>

View File

@ -2,10 +2,12 @@
<div class="tutorial-popover popover-{{placement}}" id="tutorial-home"> <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 <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> see messages from all streams at once from your Home view.</p>
{{/tr}}
<div class="tutorial-done-button"> <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>
</div> </div>

View File

@ -1,11 +1,11 @@
{{! Contents of the "tutorial message" onboarding popup }} {{! Contents of the "tutorial message" onboarding popup }}
<div class="tutorial-popover popover-{{placement}}" id="tutorial-message"> <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"> <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>
</div> </div>

View File

@ -2,10 +2,12 @@
<div class="tutorial-popover popover-{{placement}}" id="tutorial-reply"> <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 <p><b>Reply</b> to a message by <b>clicking on it</b>. The stream
and topic will automatically be filled in.</p> and topic will automatically be filled in.</p>
{{/tr}}
<div class="tutorial-done-button"> <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>
</div> </div>

View File

@ -2,11 +2,13 @@
<div class="tutorial-popover popover-{{placement}}" id="tutorial-stream"> <div class="tutorial-popover popover-{{placement}}" id="tutorial-stream">
<p> <p>
{{#tr this}}
<b>Streams</b> are like chat rooms or mailing lists. You can easily <b>Streams</b> are like chat rooms or mailing lists. You can easily
<b>join</b>, <b>leave</b>, and <b>make</b> them. <b>join</b>, <b>leave</b>, and <b>make</b> them.
{{/tr}}
</p> </p>
<div class="tutorial-done-button"> <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>
</div> </div>

View File

@ -3,12 +3,14 @@
<div class="tutorial-popover popover-{{placement}}" id="tutorial-subject"> <div class="tutorial-popover popover-{{placement}}" id="tutorial-subject">
<p> <p>
{{#tr this}}
The <b>topic</b> of a conversation is one or two words that describe 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 what it is about, for example: <b>Bug #345</b>, <b>lunch</b>, or
<b>logo</b>. Don't overthink it. <b>logo</b>. Don't overthink it.
{{/tr}}
</p> </p>
<div class="tutorial-done-button"> <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>
</div> </div>

View File

@ -3,19 +3,19 @@
<li> <li>
<a class="narrow_to_private_messages"> <a class="narrow_to_private_messages">
<i class="icon-vector-user"></i> <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> </a>
</li> </li>
<li> <li>
<a class="narrow_to_messages_sent"> <a class="narrow_to_messages_sent">
<i class="icon-vector-bullhorn"></i> <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> </a>
</li> </li>
<li> <li>
<a class="compose_private_message"> <a class="compose_private_message">
<i class="icon-vector-edit"></i> <i class="icon-vector-edit"></i>
Compose a message to <b>{{name}}</b> {{#tr this}}Compose a message to <b>__name__</b>{{/tr}}
</a> </a>
</li> </li>