done loads of more pages

This commit is contained in:
Henry Oswald 2014-07-31 17:07:43 +01:00
parent ab10d84f6a
commit cb685f5ea6
16 changed files with 205 additions and 210 deletions

View file

@ -6,8 +6,8 @@ block content
.row
.col-md-8.col-md-offset-2.text-center
.page-header
h2 Sorry, we can't find the page you are looking for.
h2 #{translate("cant_find_page")}
p
a(href="/")
i.fa.fa-arrow-circle-o-left
| Take me home!
| #{translate("take_me_home")}

View file

@ -10,30 +10,28 @@ block content
.editor(ng-controller="IdeController").full-size
.loading-screen(ng-show="state.loading")
.container
h3 Loading...
h3 #{translate("loading")}...
.progress
.progress-bar(style="width: 20%", ng-style="{'width': state.load_progress + '%'}")
.global-alerts(ng-cloak)
.alert.alert-danger.small(ng-if="connection.forced_disconnect")
strong Disconnected
| Please refresh the page to continue.
strong #{translate("disconnected")}
| #{translate("please_refresh")}
.alert.alert-warning.small(ng-if="connection.reconnection_countdown")
strong Lost Connection.
| Reconnecting in {{ connection.reconnection_countdown }} secs.
a.pull-right(href, ng-click="tryReconnectNow()") Try Now
strong #{translate("lost_connection")}.
| #{translate("reconnecting_in_x_secs", {seconds:"{{ connection.reconnection_countdown }}"})}.
a.pull-right(href, ng-click="tryReconnectNow()") #{translate("try_now")}
.alert.alert-warning.small(ng-if="connection.reconnecting")
strong Reconnecting...
strong #{translate("reconnecting")}...
.div(ng-controller="SavingNotificationController")
.alert.alert-warning.small(
ng-repeat="(doc_id, state) in docSavingStatus"
ng-if="state.unsavedSeconds > 3"
)
| Saving {{ state.doc.name }}... ({{ state.unsavedSeconds }} seconds of unsaved changes)
) #{translate("saving_notification_with_seconds", {docname:"{{ state.doc.name }}", seconds:"{{ state.unsavedSeconds }}"})}
include ./editor/left-menu
@ -78,7 +76,7 @@ block content
h3 {{ title }}
.modal-body {{ message }}
.modal-footer
button.btn.btn-info(ng-click="done()") OK
button.btn.btn-info(ng-click="done()") #{translate("ok")}
script(src='/socket.io/socket.io.js')

View file

@ -13,7 +13,7 @@ div.binary-file.full-size(
)
p.no-preview(
ng-if="['png', 'jpg', 'jpeg', 'gif', 'pdf', 'eps'].indexOf(extension(openFile)) == -1"
) Sorry, no preview is available.
) #{translate("no_preview_available")}
a.btn.btn-info(
ng-href="/project/{{ project_id }}/file/{{ openFile.id }}"
) Download {{ openFile.name }}
) #{translate("download")} {{ openFile.name }}

View file

@ -12,11 +12,11 @@ aside.chat(
.infinite-scroll-inner
.loading(ng-show="chat.loading")
i.fa.fa-fw.fa-spin.fa-refresh
|   Loading...
|   #{translate("loading")}...
.no-messages.text-center.small(ng-show='!chat.loading && chat.messages.length == 0')
| No messages
| #{translate("no_messages")}
.first-message.text-center(ng-show='!chat.loading && chat.messages.length == 0')
| Send your first message
| #{translate("send_first_message")}
br
i.fa.fa-arrow-down
ul.list-unstyled(

View file

@ -5,41 +5,39 @@ script(type="text/ng-template", id="dropboxModalTemplate")
data-dismiss="modal"
ng-click="cancel()"
) ×
h3 Dropbox link
h3 #{translate("dropbox_link")}
.modal-body.modal-body-share
div(ng-show="dbState.gotLinkStatus")
div(ng-hide="dbState.userIsLinkedToDropbox || !dbState.hasDropboxFeature")
span(ng-hide="dbState.startedLinkProcess") Your account is not linked to dropbox
span(ng-hide="dbState.startedLinkProcess") #{translate("account_not_linked_to_dropbox")}
|    
a(ng-click="linkToDropbox()").btn.btn-info Update Dropbox Settings
a(ng-click="linkToDropbox()").btn.btn-info #{translate("update_dropbox_settings")}
p.small.text-center(ng-show="dbState.startedLinkProcess")
| Please refresh this page after starting your free trial.
| #{translate("refresh_page_after_starting_free_trial")}
div(ng-show="dbState.hasDropboxFeature && dbState.userIsLinkedToDropbox")
progressbar.progress-striped.active(value='dbState.percentageLeftTillNextPoll', type="info")
span
strong {{dbState.minsTillNextPoll}} minutes
span until dropbox is next checked for changes.
strong {{dbState.minsTillNextPoll}} #{translate("minutes")}
span #{translate("until_db_checked_for_changes")}
div.text-center(ng-hide="dbState.hasDropboxFeature")
p You need to upgrade your account to link to dropbox.
p #{translate("need_to_upgrade_for_dropbox")}
p
a.btn.btn-info(ng-click="startFreeTrial('dropbox')") Start Free Trial
a.btn.btn-info(ng-click="startFreeTrial('dropbox')") #{translate("start_free_trial")}
p.small(ng-show="startedFreeTrial")
| Please refresh this page after starting your free trial.
| #{translate("refresh_page_after_starting_free_trial")}
div(ng-hide="dbState.gotLinkStatus")
span.small   checking dropbox status  
span.small   #{translate("checking_dropbox_status")}  
i.fa.fa-refresh.fa-spin
.modal-footer()
button.btn.btn-default(
ng-click="cancel()",
)
span Dismiss
span #{translate("dismiss")}

View file

@ -9,7 +9,7 @@ div.full-size(
.ui-layout-center
.loading-panel(ng-show="!editor.sharejs_doc || editor.opening")
i.fa.fa-spin.fa-refresh
|   Loading...
|   #{translate("loading")}...
#editor(
ace-editor="editor",

View file

@ -71,7 +71,7 @@ aside#file-tree(ng-controller="FileTreeController").full-size
)
div(ng-show="deletedDocs.length > 0 && ui.view == 'track-changes'")
h3 Deleted Files
h3 #{translate("deleted_files")}
ul.list-unstyled.file-tree-list.deleted-docs
li(
ng-class="{ 'selected': entity.selected }",
@ -137,13 +137,13 @@ script(type='text/ng-template', id='entityListItemTemplate')
href="#"
prevent-default="click"
ng-click="startRenaming()"
) Rename
) #{translate("rename")}
li
a(
href="#"
prevent-default="click"
ng-click="openDeleteModal()"
) Delete
) #{translate("delete")}
div.dropdown.context-menu(
id="context-menu-{{ entity.id }}",
@ -156,14 +156,14 @@ script(type='text/ng-template', id='entityListItemTemplate')
prevent-default="click"
stop-propagation="click"
ng-click="startRenaming()"
) Rename
) #{translate("rename")}
li
a(
href="#"
prevent-default="click"
stop-propagation="click"
ng-click="openDeleteModal()"
) Delete
) #{translate("delete")}
.entity(ng-if="entity.type == 'folder'", ng-controller="FileTreeFolderController")
@ -221,32 +221,32 @@ script(type='text/ng-template', id='entityListItemTemplate')
href="#"
prevent-default="click"
ng-click="startRenaming()"
) Rename
) #{translate("rename")}
li
a(
href="#"
prevent-default="click"
ng-click="openDeleteModal()"
) Delete
) #{translate("delete")}
li.divider
li
a(
href="#"
prevent-default="click"
ng-click="openNewDocModal()"
) New File
) #{translate("new_file")}
li
a(
href="#"
prevent-default="click"
ng-click="openNewFolderModal()"
) New Folder
) #{translate("new_folder")}
li
a(
href="#"
prevent-default="click"
ng-click="openUploadFileModal()"
) Upload File
) #{translate("upload_file")}
.dropdown.context-menu(
ng-if="permissions.write"
@ -259,14 +259,14 @@ script(type='text/ng-template', id='entityListItemTemplate')
prevent-default="click"
stop-propagation="click"
ng-click="startRenaming()"
) Rename
) #{translate("rename")}
li
a(
href="#"
prevent-default="click"
stop-propagation="click"
ng-click="openDeleteModal()"
) Delete
) #{translate("delete")}
li.divider
li
a(
@ -274,21 +274,21 @@ script(type='text/ng-template', id='entityListItemTemplate')
prevent-default="click"
stop-propagation="click"
ng-click="openNewDocModal()"
) New File
) #{translate("new_file")}
li
a(
href="#"
prevent-default="click"
stop-propagation="click"
ng-click="openNewFolderModal()"
) New Folder
) #{translate("new_folder")}
li
a(
href="#"
prevent-default="click"
stop-propagation="click"
ng-click="openUploadFileModal()"
) Upload File
) #{translate("upload_file")}
ul.list-unstyled(
ng-if="entity.type == 'folder'"
@ -305,7 +305,7 @@ script(type='text/ng-template', id='entityListItemTemplate')
script(type='text/ng-template', id='newDocModalTemplate')
.modal-header
h3 New File
h3 #{translate("new_file")}
.modal-body
form(novalidate, name="newDocForm")
input.form-control(
@ -320,17 +320,17 @@ script(type='text/ng-template', id='newDocModalTemplate')
button.btn.btn-default(
ng-disabled="state.inflight"
ng-click="cancel()"
) Cancel
) #{translate("cancel")}
button.btn.btn-primary(
ng-disabled="newDocForm.$invalid || state.inflight"
ng-click="create()"
)
span(ng-hide="state.inflight") Create
span(ng-show="state.inflight") Creating...
span(ng-hide="state.inflight") #{translate("create")}
span(ng-show="state.inflight") #{translate("creating")}...
script(type='text/ng-template', id='newFolderModalTemplate')
.modal-header
h3 New Folder
h3 #{translate("new_folder")}
.modal-body
form(novalidate, name="newFolderForm")
input.form-control(
@ -345,17 +345,17 @@ script(type='text/ng-template', id='newFolderModalTemplate')
button.btn.btn-default(
ng-disabled="state.inflight"
ng-click="cancel()"
) Cancel
) #{translate("cancel")}
button.btn.btn-primary(
ng-disabled="newFolderForm.$invalid || state.inflight"
ng-click="create()"
)
span(ng-hide="state.inflight") Create
span(ng-show="state.inflight") Creating...
span(ng-hide="state.inflight") #{translate("create")}
span(ng-show="state.inflight") #{translate("creating")}...
script(type="text/ng-template", id="uploadFileModalTemplate")
.modal-header
h3 Upload File(s)
h3 #{translate("upload_files")}
.modal-body(
fine-upload
endpoint="/project/{{ project_id }}/upload"
@ -369,23 +369,23 @@ script(type="text/ng-template", id="uploadFileModalTemplate")
on-upload-callback="onUpload"
params="{'folder_id': parent_folder_id}"
)
span Upload file(s)
span #{translate("upload_files")}
.modal-footer
button.btn.btn-default(ng-click="cancel()") Cancel
button.btn.btn-default(ng-click="cancel()") #{translate("cancel")}
script(type='text/ng-template', id='deleteEntityModalTemplate')
.modal-header
h3 Delete {{ entity.name }}
h3 #{translate("delete")} {{ entity.name }}
.modal-body
p Are you sure you want to permanently delete <strong>{{ entity.name }}</strong>?
p #{translate("sure_you_want_to_delete")}
.modal-footer
button.btn.btn-default(
ng-disabled="state.inflight"
ng-click="cancel()"
) Cancel
) #{translate("cancel")}
button.btn.btn-danger(
ng-disabled="state.inflight"
ng-click="delete()"
)
span(ng-hide="state.inflight") Delete
span(ng-show="state.inflight") Deleting...
span(ng-hide="state.inflight") #{translate("delete")}
span(ng-show="state.inflight") #{translate("deleting")}...

View file

@ -5,9 +5,9 @@ script(type="text/ng-template", id="hotkeysModalTemplate")
data-dismiss="modal"
ng-click="cancel()"
) &times;
h3 Hotkeys
h3 #{translate("hotkeys")}
.modal-body.modal-hotkeys
h3 Common
h3 #{translate("common")}
.row
.col-xs-6
.hotkey
@ -24,7 +24,7 @@ script(type="text/ng-template", id="hotkeysModalTemplate")
span.combination {{ctrl}} + Y
span.description Redo
h3 Navigation
h3 #{translate("navigation")}
.row
.col-xs-6
.hotkey
@ -38,7 +38,7 @@ script(type="text/ng-template", id="hotkeysModalTemplate")
span.combination {{ctrl}} + L
span.description Go To Line
h3 Editing
h3 #{translate("editing")}
.row
.col-xs-6
.hotkey
@ -63,4 +63,4 @@ script(type="text/ng-template", id="hotkeysModalTemplate")
.modal-footer
button.btn.btn-default(
ng-click="cancel()"
) OK
) #{translate("ok")}

View file

@ -2,7 +2,7 @@ aside#left-menu.full-size(
ng-class="{ 'shown': ui.leftMenuShown }"
ng-cloak
)
h4 Download
h4 #{translate("download")}
ul.list-unstyled.nav.nav-downloads.text-center
li
@ -12,7 +12,7 @@ aside#left-menu.full-size(
)
i.fa.fa-file-archive-o.fa-2x
br
| Source
| #{translate("source")}
li
a(
ng-href="{{pdf.url}}"
@ -32,7 +32,7 @@ aside#left-menu.full-size(
| PDF
span(ng-show="!anonymous")
h4 Actions
h4 #{translate("Actions")}
ul.list-unstyled.nav
li(ng-controller="CloneProjectController")
a(
@ -40,26 +40,26 @@ aside#left-menu.full-size(
ng-click="openCloneProjectModal()"
)
i.fa.fa-fw.fa-copy
| &nbsp;&nbsp;Copy Project
| &nbsp;&nbsp;#{translate("copy_project")}
li(ng-controller="TemplatesController", ng-show="permissions.admin")
a(ng-click="openPublishTemplateModal()")
i.fa.fa-external-link.fa-fw
| &nbsp;&nbsp;Publish as Template
| &nbsp;&nbsp; #{translate("publish_as_template")}
span(ng-controller="DropboxController", ng-show="permissions.admin")
h4() Sync
h4() #{translate("sync")}
ul.list-unstyled.nav()
li
a(ng-click="openDropboxModal()")
i.fa.fa-dropbox.fa-fw
| &nbsp;&nbsp; Dropbox
h4(ng-show="!anonymous") Settings
h4(ng-show="!anonymous") #{translate("settings")}
form.settings(ng-controller="SettingsController", ng-show="!anonymous")
.containter-fluid
.form-controls(ng-show="permissions.write")
label(for="compiler") Compiler
label(for="compiler") #{translate("compiler")}
select(
name="compiler"
ng-model="project.compiler"
@ -70,7 +70,7 @@ aside#left-menu.full-size(
option(value='lualatex') LuaLaTeX
.form-controls(ng-show="permissions.write")
label(for="rootDoc_id") Main document
label(for="rootDoc_id") #{translate("main_document")}
select(
name="rootDoc_id",
ng-model="project.rootDoc_id",
@ -78,12 +78,12 @@ aside#left-menu.full-size(
)
.form-controls
label(for="spellCheckLanguage") Spell Check
label(for="spellCheckLanguage") #{translate("spell_check")}
select(
name="spellCheckLanguage"
ng-model="project.spellCheckLanguage"
)
option(value="") Off
option(value="") #{translate("off")}
optgroup(label="Language")
for language in languages
option(
@ -91,7 +91,7 @@ aside#left-menu.full-size(
)= language.name
.form-controls
label(for="autoComplete") Auto-Complete
label(for="autoComplete") #{translate("auto_complete")}
select(
name="autoComplete"
ng-model="settings.autoComplete"
@ -99,7 +99,7 @@ aside#left-menu.full-size(
)
.form-controls
label(for="theme") Theme
label(for="theme") #{translate("theme")}
select(
name="theme"
ng-model="settings.theme"
@ -108,7 +108,7 @@ aside#left-menu.full-size(
option(value=theme) #{theme.replace(/_/g, ' ')}
.form-controls(ng-show="!anonymous")
label(for="mode") Keybindings
label(for="mode") #{translate("keybindings")}
select(
name="mode"
ng-model="settings.mode"
@ -118,7 +118,7 @@ aside#left-menu.full-size(
option(value='emacs') Emacs
.form-controls
label(for="fontSize") Font Size
label(for="fontSize") #{translate("font_size")}
select(
name="fontSize"
ng-model="settings.fontSize"
@ -127,20 +127,20 @@ aside#left-menu.full-size(
option(value=size) #{size}px
.form-controls
label(for="pdfViewer") PDF Viewer
label(for="pdfViewer")
select(
name="pdfViewer"
ng-model="settings.pdfViewer"
)
option(value="pdfjs") Built-In
option(value="native") Native
option(value="pdfjs") #{translate("built_in")}
option(value="native") #{translate("native")}
h4 Hotkeys
h4 #{translate("hotkeys")}
ul.list-unstyled.nav
li(ng-controller="HotkeysController")
a(ng-click="openHotkeysModal()")
i.fa.fa-keyboard-o.fa-fw
| &nbsp;&nbsp; Show Hotkeys
| &nbsp;&nbsp; #{translate("show_hotkeys")}
#left-menu-mask(
ng-show="ui.leftMenuShown",
@ -150,11 +150,11 @@ aside#left-menu.full-size(
script(type='text/ng-template', id='cloneProjectModalTemplate')
.modal-header
h3 Copy Project
h3 #{translate("copy_project")}
.modal-body
form(name="cloneProjectForm", novalidate)
.form-group
label New Name
label #{translate("new_name")}
input.form-control(
type="text",
placeholder="New Project Name",
@ -167,10 +167,10 @@ script(type='text/ng-template', id='cloneProjectModalTemplate')
button.btn.btn-default(
ng-disabled="state.inflight"
ng-click="cancel()"
) Cancel
) #{translate("cancel")}
button.btn.btn-primary(
ng-disabled="cloneProjectForm.$invalid || state.inflight"
ng-click="clone()"
)
span(ng-hide="state.inflight") Copy
span(ng-show="state.inflight") Copying...
span(ng-hide="state.inflight") #{translate("copy")}
span(ng-show="state.inflight") #{translate("copying")}...

View file

@ -9,8 +9,8 @@ div.full-size.pdf(ng-controller="PdfController")
ng-class="{'fa-spin': pdf.compiling }"
)
| &nbsp;&nbsp;
span(ng-show="!pdf.compiling") Recompile
span(ng-show="pdf.compiling") Compiling...
span(ng-show="!pdf.compiling") #{translate("recompile")}
span(ng-show="pdf.compiling") #{translate("compiling")}...
a.log-btn(
href
ng-click="toggleLogs()"
@ -76,26 +76,24 @@ div.full-size.pdf(ng-controller="PdfController")
.pdf-uncompiled(ng-show="pdf.uncompiled && !pdf.compiling")
| &nbsp;
i.fa.fa-level-up.fa-flip-horizontal.fa-2x
| &nbsp;&nbsp;Click here to preview your work as a PDF.
| &nbsp;&nbsp;#{translate("click_here_to_preview_pdf")}
.pdf-errors(ng-show="pdf.timedout || pdf.error")
.alert.alert-danger(ng-show="pdf.error")
strong Server Error.
span Sorry, something went wrong and your project could not be compiled. Please try again in a few moments.
strong #{translate("server_error")}
span #{translate("somthing_went_wrong_compiling")}
.alert.alert-danger(ng-show="pdf.timedout")
strong Timed out.
span Sorry, your compile was taking too long and timed out.
| This may be due to a large number of high-res images, or lots of complicated diagrams.
| Please try to make your document simpler, or contact support for help.
strong #{translate("timedout")}.
span #{translate("proj_timed_out_reason")}
.pdf-logs(ng-show="(pdf.view == 'logs' || pdf.failure) && !pdf.error && !pdf.timeout && !pdf.uncompiled")
.alert.alert-success(ng-show="pdf.logEntries.all.length == 0")
| No errors, good job!
| #{translate("no_errors_good_job")}
.alert.alert-danger(ng-show="pdf.failure")
strong Compile Error.
span Sorry, your LaTeX code couldn't compile for some reason. Please check the errors below for details, or view the raw log.
strong #{translate("compile_error")}.
span #{translate("generic_failed_compile_message")}.
div(ng-repeat="entry in pdf.logEntries.all", ng-controller="PdfLogEntryController")
.alert(
@ -128,7 +126,7 @@ div.full-size.pdf(ng-controller="PdfController")
href
dropdown-toggle
)
| Other logs &amp; files
| #{translate("other_logs_and_files")}
span.caret
ul.dropdown-menu.dropdown-menu-right
li(ng-repeat="file in pdf.outputFiles")
@ -138,26 +136,25 @@ div.full-size.pdf(ng-controller="PdfController")
ng-click="openOutputFile(file)"
) {{ file.name }}
a.btn.btn-info.btn-sm(href, ng-click="toggleRawLog()")
span(ng-show="!pdf.showRawLog") View Raw Logs
span(ng-show="pdf.showRawLog") Hide Raw Logs
span(ng-show="!pdf.showRawLog") #{translate("view_raw_logs")}
span(ng-show="pdf.showRawLog") #{translate("hide_raw_logs")}
pre(ng-bind="pdf.rawLog", ng-show="pdf.showRawLog")
script(type='text/ng-template', id='clearCacheModalTemplate')
.modal-header
h3 Clear cache?
h3 #{translate("clear_cache")}?
.modal-body
p This will clear all hidden LaTeX files (.aux, .bbl, etc) from our compile server.
| You generally don't need to do this unless you're having trouble with references.
p Your project files will not be deleted or changed.
p #{translate("clear_cache_explanation")}
p #{translate("clear_cache_is_safe")}
.modal-footer
button.btn.btn-default(
ng-click="cancel()"
ng-disabled="state.inflight"
) Cancel
) #{translate("cancel")}
button.btn.btn-info(
ng-click="clear()"
ng-disabled="state.inflight"
)
span(ng-show="!state.inflight") Clear cache
span(ng-show="state.inflight") Clearing...
span(ng-show="!state.inflight") #{translate("clear_cache")}
span(ng-show="state.inflight") #{translate("clearing")}...

View file

@ -5,11 +5,11 @@ script(type="text/ng-template", id="publishProjectAsTemplateModalTemplate")
data-dismiss="modal"
ng-click="cancel()"
) &times;
h3 Publish as Template
h3 #{translate("publish_as_template")}
.modal-body.modal-body-share
span(ng-hide="problemTalkingToTemplateApi")
form()
label(for='Description') Template Description
label(for='Description') #{translate("template_description")}
.form-group
textarea.form-control(
rows=5,
@ -19,11 +19,11 @@ script(type="text/ng-template", id="publishProjectAsTemplateModalTemplate")
value=""
)
div(ng-show="templateDetails.exists").text-center.templateDetails
| Your project was last published at
| #{translate("project_last_published_at")}
strong {{templateDetails.publishedDate}}.
a(ng-href="{{templateDetails.canonicalUrl}}") View it in template gallery.
a(ng-href="{{templateDetails.canonicalUrl}}") #{translate("view_in_template_gallery")}.
span(ng-show="problemTalkingToTemplateApi") There is a problem with our publishing service, please try again in a few minutes.
span(ng-show="problemTalkingToTemplateApi") #{translate("problem_talking_to_publishing_service")}.
@ -33,20 +33,20 @@ script(type="text/ng-template", id="publishProjectAsTemplateModalTemplate")
ng-click="cancel()",
ng-disabled="state.publishInflight || state.unpublishInflight"
)
span Cancel
span #{translate("cancel")}
button.btn.btn-info(
ng-click="unpublishTemplate()",
ng-disabled="state.publishInflight || state.unpublishInflight"
ng-show="templateDetails.exists"
)
span(ng-show="!state.unpublishInflight") Unpublish
span(ng-show="state.unpublishInflight") Unpublishing...
span(ng-show="!state.unpublishInflight") #{translate("unpublish")}
span(ng-show="state.unpublishInflight") #{translate("unpublishing")}...
button.btn.btn-primary(
ng-click="publishTemplate()",
ng-disabled="state.publishInflight || state.unpublishInflight"
)
span(ng-show="!state.publishInflight && !templateDetails.exists") Publish
span(ng-show="!state.publishInflight && templateDetails.exists") Republish
span(ng-show="state.publishInflight") Publishing...
span(ng-show="!state.publishInflight && !templateDetails.exists") #{translate("publish")}
span(ng-show="!state.publishInflight && templateDetails.exists") #{translate("republish")}
span(ng-show="state.publishInflight") #{translate("publishing")}...

View file

@ -5,26 +5,26 @@ script(type='text/ng-template', id='shareProjectModalTemplate')
data-dismiss="modal"
ng-click="cancel()"
) &times;
h3 Share Project
h3 #{translate("share_project")}
.modal-body.modal-body-share
.container-fluid
.row.public-access-level(ng-show="project.publicAccesLevel == 'private'")
.col-xs-12.text-center
| This project is private and can only be accessed by the people below.
| #{translate("this_project_is_private")}
| &nbsp;&nbsp;
a(
href
ng-click="openMakePublicModal()"
) Make Public
) #{translate("make_public")}
.row.public-access-level(ng-show="project.publicAccesLevel != 'private'")
.col-xs-12.text-center
strong(ng-if="project.publicAccesLevel == 'readAndWrite'") This project is public and can be edited by anyone with the URL.
strong(ng-if="project.publicAccesLevel == 'readOnly'") This project is public and can be viewed by anyone with the URL.
strong(ng-if="project.publicAccesLevel == 'readAndWrite'") #{translate("this_project_is_public")}
strong(ng-if="project.publicAccesLevel == 'readOnly'") #{translate("this_project_is_public")}
| &nbsp;&nbsp;
a(
href
ng-click="openMakePrivateModal()"
) Make Private
) #{translate("make_private")}
.row.project-member
.col-xs-8 {{ project.owner.email }}
.text-right(
@ -33,8 +33,8 @@ script(type='text/ng-template', id='shareProjectModalTemplate')
.row.project-member(ng-repeat="member in project.members")
.col-xs-8 {{ member.email }}
.col-xs-3.text-right
span(ng-show="member.privileges == 'readAndWrite'") Can Edit
span(ng-show="member.privileges == 'readOnly'") Read Only
span(ng-show="member.privileges == 'readAndWrite'") #{translate("can_edit")}
span(ng-show="member.privileges == 'readOnly'") #{translate("read_only")}
.col-xs-1
a(
href
@ -45,7 +45,7 @@ script(type='text/ng-template', id='shareProjectModalTemplate')
i.fa.fa-times
.row.invite-controls
form(ng-show="canAddCollaborators")
.small Share with your collaborators
.small #{translate("share_with_your_collabs")}
.form-group
input.form-control(
type="email"
@ -59,19 +59,19 @@ script(type='text/ng-template', id='shareProjectModalTemplate')
ng-model="inputs.privileges"
name="privileges"
)
option(value="readAndWrite") Can Edit
option(value="readOnly") Read Only
option(value="readAndWrite") #{translate("can_edit")}
option(value="readOnly") #{translate("read_only")}
| &nbsp;&nbsp;
button.btn.btn-info(
type="submit"
ng-click="addMember()"
) Share
) #{translate("share")}
div.text-center(ng-hide="canAddCollaborators")
p You need to upgrade your account to add more collaborators.
p #{translate("need_to_upgrade_for_more_collabs")}.
p
a.btn.btn-info(href, ng-click="startFreeTrial('projectMembers')") Start Free Trial
a.btn.btn-info(href, ng-click="startFreeTrial('projectMembers')") #{translate("start_free_trial")}
p.small(ng-show="startedFreeTrial")
| Please refresh this page after starting your free trial.
| #{translate("refresh_page_after_starting_free_trial")}.
.modal-footer
.modal-footer-left
@ -79,7 +79,7 @@ script(type='text/ng-template', id='shareProjectModalTemplate')
span.text-danger.error(ng-show="state.error") {{ state.error }}
button.btn.btn-primary(
ng-click="done()"
) Done
) #{translate("done")}
script(type="text/ng-template", id="makePublicModalTemplate")
.modal-header
@ -88,23 +88,23 @@ script(type="text/ng-template", id="makePublicModalTemplate")
data-dismiss="modal"
ng-click="cancel()"
) &times;
h3 Make project public?
h3 #{translate("make_project_public")}?
.modal-body.modal-body-share
p If you make your project public then anyone with the URL will be able to access it.
p #{translate("make_project_public_consequences")}
p
select.form-control(
ng-model="inputs.privileges"
name="privileges"
)
option(value="readAndWrite") Allow public editing
option(value="readOnly") Allow public read only access
option(value="readAndWrite") #{translate("allow_public_editing")}
option(value="readOnly") #{translate("allow_public_read_only")}
.modal-footer
button.btn.btn-default(
ng-click="cancel()"
) Cancel
) #{translate("cancel")}
button.btn.btn-info(
ng-click="makePublic()"
) Make public
) #{translate("make_public")}
script(type="text/ng-template", id="makePrivateModalTemplate")
.modal-header
@ -113,13 +113,13 @@ script(type="text/ng-template", id="makePrivateModalTemplate")
data-dismiss="modal"
ng-click="cancel()"
) &times;
h3 Make project private?
h3 #{translate("make_project_private")}?
.modal-body.modal-body-share
p If you make your project private then only the people you choose to share it with will have access.
p #{translate("make_project_private_consequences")}
.modal-footer
button.btn.btn-default(
ng-click="cancel()"
) Cancel
) #{translate("cancel")}
button.btn.btn-info(
ng-click="makePrivate()"
) Make private
) #{translate("make_private")}

View file

@ -1,15 +1,15 @@
div#trackChanges(ng-show="ui.view == 'track-changes'")
.upgrade-prompt(ng-show="!project.features.versioning")
.message(ng-show="project.owner._id == user.id")
p You need to upgrade your account to use the History feature.
p #{translate("need_to_upgrade_for_history")}
p
a.btn.btn-info(
href
ng-click="startFreeTrial('track-changes')"
) Start Free Trial
p.small(ng-show="startedFreeTrial") Please refresh the page after starting your free trial.
) #{translate("start_free_trial")}
p.small(ng-show="startedFreeTrial") #{translate("refresh_page_after_starting_free_trial")}
.message(ng-show="project.owner._id != user.id")
p Please ask the project owner to upgrade to use the History feature.
p #{translate("ask_proj_owner_to_upgrade_for_history")}
aside.change-list(
ng-controller="TrackChangesListController"
@ -73,11 +73,11 @@ div#trackChanges(ng-show="ui.view == 'track-changes'")
.name(ng-if="update_user.id == user.id") You
div.user(ng-if="update.meta.users.length == 0")
.color-square(style="background-color: hsl(100, 100%, 50%)")
span Anonymous
span #{translate("anonymous")}
.loading(ng-show="trackChanges.loading")
i.fa.fa-spin.fa-refresh
| &nbsp;&nbsp;Loading...
| &nbsp;&nbsp; #{translate("loading")}...
.diff-panel.full-size(ng-controller="TrackChangesDiffController")
.diff(
@ -98,7 +98,7 @@ div#trackChanges(ng-show="ui.view == 'track-changes'")
a.btn.btn-danger.btn-sm(
href,
ng-click="openRestoreDiffModal()"
) Restore to before these changes
) #{translate("restore_to_before_these_changes")}
.diff-editor.hide-ace-cursor(
ace-editor="track-changes",
theme="settings.theme",
@ -112,17 +112,18 @@ div#trackChanges(ng-show="ui.view == 'track-changes'")
.diff-deleted.text-centered(
ng-show="trackChanges.diff.deleted"
)
p.text-serif {{ trackChanges.diff.doc.name }} has been deleted.
p.text-serif #{translate("file_has_been_deleted", filename:"{{ trackChanges.diff.doc.name }} ")}
p
a.btn.btn-primary.btn-lg(
href,
ng-click="restoreDeletedDoc()"
) Restore
) #{translate("restore")}
.loading-panel(ng-show="trackChanges.diff.loading")
i.fa.fa-spin.fa-refresh
| &nbsp;&nbsp;Loading...
| &nbsp;&nbsp;#{translate("loading")}...
.error-panel(ng-show="trackChanges.diff.error")
.alert.alert-danger Sorry, something went wrong :(
.alert.alert-danger #{translate("generic_something_went_wrong")}
script(type="text/ng-template", id="trackChangesRestoreDiffModalTemplate")
.modal-header
@ -131,17 +132,17 @@ script(type="text/ng-template", id="trackChangesRestoreDiffModalTemplate")
data-dismiss="modal"
ng-click="cancel()"
) &times;
h3 Restore {{diff.doc.name}}
h3 #{translate("restore")} {{diff.doc.name}}
.modal-body.modal-body-share
p Are you sure you want to restore <strong>{{diff.doc.name}}</strong> to before the changes on {{diff.start_ts | formatDate}}?
p #{translate("sure_you_want_to_restore_before", {filename:"<strong>{{diff.doc.name}}</strong>", date:"{{diff.start_ts | formatDate}}"})}
.modal-footer
button.btn.btn-default(
ng-click="cancel()",
ng-disabled="state.inflight"
) Cancel
) #{translate("cancel")}
button.btn.btn-danger(
ng-click="restore()",
ng-disabled="state.inflight"
)
span(ng-show="!state.inflight") Restore
span(ng-show="state.inflight") Restoring...
span(ng-show="!state.inflight") #{translate("restore")}
span(ng-show="state.inflight") #{translate("restoring")} ...

View file

@ -5,7 +5,7 @@ script(type='text/ng-template', id='newTagModalTemplate')
data-dismiss="modal"
ng-click="cancel()"
) &times;
h3 Create New Folder
h3 #{translate("create_new_folder")}
.modal-body
form(name="newTagForm", novalidate)
input.form-control(
@ -23,12 +23,12 @@ script(type='text/ng-template', id='newTagModalTemplate')
button.btn.btn-default(
ng-click="cancel()"
stop-propagation="click"
) Cancel
) #{translate("cancel")}
button.btn.btn-primary(
ng-disabled="newTagForm.$invalid"
ng-click="create()"
stop-propagation="click"
) Create
) #{translate("create")}
script(type='text/ng-template', id='renameProjectModalTemplate')
.modal-header
@ -37,7 +37,7 @@ script(type='text/ng-template', id='renameProjectModalTemplate')
data-dismiss="modal"
ng-click="cancel()"
) &times;
h3 Rename Project
h3 #{translate("rename_project")}
.modal-body
form(name="renameProjectForm", novalidate)
input.form-control(
@ -49,11 +49,11 @@ script(type='text/ng-template', id='renameProjectModalTemplate')
focus-on="open"
)
.modal-footer
button.btn.btn-default(ng-click="cancel()") Cancel
button.btn.btn-default(ng-click="cancel()") #{translate("cancel")}
button.btn.btn-primary(
ng-click="rename()",
ng-disabled="renameProjectForm.$invalid"
) Rename
) #{translate("rename")}
script(type='text/ng-template', id='cloneProjectModalTemplate')
.modal-header
@ -62,11 +62,11 @@ script(type='text/ng-template', id='cloneProjectModalTemplate')
data-dismiss="modal"
ng-click="cancel()"
) &times;
h3 Copy Project
h3 #{translate("copy_project")}
.modal-body
form(name="cloneProjectForm", novalidate)
.form-group
label New Name
label #{translate("new_name")}
input.form-control(
type="text",
placeholder="New Project Name",
@ -79,13 +79,13 @@ script(type='text/ng-template', id='cloneProjectModalTemplate')
button.btn.btn-default(
ng-disabled="state.inflight"
ng-click="cancel()"
) Cancel
) #{translate("cancel")}
button.btn.btn-primary(
ng-disabled="cloneProjectForm.$invalid || state.inflight"
ng-click="clone()"
)
span(ng-hide="state.inflight") Copy
span(ng-show="state.inflight") Copying...
span(ng-hide="state.inflight") #{translate("copy")}
span(ng-show="state.inflight") #{translate("coping")} ...
script(type='text/ng-template', id='newProjectModalTemplate')
.modal-header
@ -94,7 +94,7 @@ script(type='text/ng-template', id='newProjectModalTemplate')
data-dismiss="modal"
ng-click="cancel()"
) &times;
h3 New Project
h3 #{translate("new_project")}
.modal-body
form(novalidate, name="newProjectForm")
input.form-control(
@ -109,13 +109,13 @@ script(type='text/ng-template', id='newProjectModalTemplate')
button.btn.btn-default(
ng-disabled="state.inflight"
ng-click="cancel()"
) Cancel
) #{translate("cancel")}
button.btn.btn-primary(
ng-disabled="newProjectForm.$invalid || state.inflight"
ng-click="create()"
)
span(ng-hide="state.inflight") Create
span(ng-show="state.inflight") Creating...
span(ng-hide="state.inflight") #{translate("create")}
span(ng-show="state.inflight") #{translate("creating")} ...
script(type='text/ng-template', id='deleteProjectsModalTemplate')
.modal-header
@ -124,22 +124,22 @@ script(type='text/ng-template', id='deleteProjectsModalTemplate')
data-dismiss="modal"
ng-click="cancel()"
) &times;
h3 {{action}} Projects
h3 {{action}} #{translate("projects")}
.modal-body
div(ng-show="projectsToDelete.length > 0")
p You are about to delete the following projects:
p #{translate("about_to_delete_projects")}
ul
li(ng-repeat="project in projectsToDelete | orderBy:'name'")
strong {{project.name}}
div(ng-show="projectsToLeave.length > 0")
p You are about to leave the following projects:
p #{translate("about_to_leave_projects")}
ul
li(ng-repeat="project in projectsToLeave | orderBy:'name'")
strong {{project.name}}
.modal-footer
button.btn.btn-default(
ng-click="cancel()"
) Cancel
) #{translate("cancel")}
button.btn.btn-danger(
ng-click="delete()"
) {{action}}
@ -151,7 +151,7 @@ script(type="text/ng-template", id="uploadProjectModalTemplate")
data-dismiss="modal"
ng-click="cancel()"
) &times;
h3 Upload Zipped Project
h3 #{translate("upload_zipped_project")}
.modal-body(
fine-upload
endpoint="/project/new/upload"
@ -163,9 +163,9 @@ script(type="text/ng-template", id="uploadProjectModalTemplate")
allowed-extensions="['zip']"
on-complete-callback="onComplete"
)
span Upload a zipped project
span #{translate("upload_a_zipped_project")}
.modal-footer
button.btn.btn-default(ng-click="cancel()") Cancel
button.btn.btn-default(ng-click="cancel()") #{translate("cancel")}
script(type="text/ng-template", id="userProfileModalTemplate")
.modal-header
@ -174,12 +174,12 @@ script(type="text/ng-template", id="userProfileModalTemplate")
data-dismiss="modal"
ng-click="done()"
) &times;
h3 Your Profile
h3 #{translate("your_profile")}
.modal-body
form(enctype='multipart/form-data', method='post')
.form-group
label(for="first_name") First Name
label(for="first_name") #{translate("first_name")}
input.form-control(
type='text',
name='first_name',
@ -189,7 +189,7 @@ script(type="text/ng-template", id="userProfileModalTemplate")
)
.form-group
label(for="last_name") Last Name
label(for="last_name") #{translate("last_name")}
input.form-control(
type='text',
name='last_name',
@ -198,7 +198,7 @@ script(type="text/ng-template", id="userProfileModalTemplate")
)
.form-group.user_details_auto_complete
label(for="institution") Institution
label(for="institution") #{translate("institution")}
autocomplete(
ng-model="userInfoForm.institution",
name="institution",
@ -209,7 +209,7 @@ script(type="text/ng-template", id="userProfileModalTemplate")
)
.form-group.user_details_auto_complete
label(for="role") Role
label(for="role") #{translate("role")}
autocomplete(
ng-model="userInfoForm.role",
name="role",
@ -220,4 +220,4 @@ script(type="text/ng-template", id="userProfileModalTemplate")
.modal-footer
button.btn.btn-info(ng-click="done()") Done
button.btn.btn-info(ng-click="done()") #{translate("done")}

View file

@ -51,7 +51,7 @@
li(ng-class="{active: (filter == 'archived')}")
a(href, ng-click="filterProjects('archived')") #{translate("deleted_projects")}
li
h2 Folders
h2 #{translate("folders")}
li(
ng-repeat="tag in tags | filter:nonEmpty",
ng-class="{active: tag.selected}",
@ -86,7 +86,7 @@
.progress
.progress-bar.progress-bar-info(ng-style="{'width' : (percentComplete+'%')}")
p.small #{translate("profile_complete_percentage")}
p.small #{translate("profile_complete_percentage_test", {percentval:"{{percentComplete}}"})}
button#completeUserProfileInformation.btn.btn-info(
ng-hide="formVisable",

View file

@ -6,24 +6,25 @@ block content
.row
.registration_message
if sharedProjectData.user_first_name !== undefined
h1 #{sharedProjectData.user_first_name} would like you to view '#{sharedProjectData.project_name}'
div Join ShareLaTeX to view this project
h1 #{translate("user_wants_you_to_see_project", {username:sharedProjectData.user_first_name, projectname:sharedProjectData.project_name})}
div #{translate("join_sl_to_view_project")}
else if newTemplateData.templateName !== undefined
h1 Please register to edit the '#{newTemplateData.templateName}' template
div Already have a ShareLaTeX account?
a(href="/login") Login here
h1 #{translate("register_to_edit_template", {templatename:newTemplateData.templateName})}
div #{translate("already_have_sl_account")}
a(href="/login") #{translate("login_here")}
.row
.col-md-6.col-md-offset-3.col-lg-4.col-lg-offset-4
.card
.page-header
h1 Register
h1 #{translate("register")}
form(async-form="register", name="registerForm", action="/register", ng-cloak)
input(name='_csrf', type='hidden', value=csrfToken)
input(name='redir', type='hidden', value=redir)
form-messages(for="registerForm")
.form-group
label(for='email') Email
label(for='email') #{translate("email")}
input.form-control(
type='email',
name='email',
@ -35,9 +36,9 @@ block content
focus="true"
)
span.small.text-primary(ng-show="registerForm.email.$invalid && registerForm.email.$dirty")
| Must be an email address
| #{translate("must_be_email_address")}
.form-group
label(for='password') Password
label(for='password') #{translate("password")}
input.form-control(
type='password',
name='password',
@ -46,11 +47,11 @@ block content
ng-model="password"
)
span.small.text-primary(ng-show="registerForm.password.$invalid && registerForm.password.$dirty")
| Required
| #{translate("required")}
.actions
button.btn-primary.btn(
type='submit'
ng-disabled="registerForm.inflight"
)
span(ng-show="!registerForm.inflight") Register
span(ng-show="registerForm.inflight") Registering...
span(ng-show="!registerForm.inflight") #{translate("register")}
span(ng-show="registerForm.inflight") #{translate("registering")}...