1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-07-19 05:09:42 +02:00

i18n page strings

This commit is contained in:
McMatts 2022-03-04 13:07:11 -05:00
parent 4ab48cc67d
commit 59dc6ea991
29 changed files with 125 additions and 107 deletions

View file

@ -87,10 +87,5 @@ export default Component.extend(AuthProvider, {
set(this, 'password.confirmation', '');
});
}
// onThemeChange(theme) {
// this.get('appMeta').setTheme(theme);
// this.set('model.theme', theme);
// }
}
});

View file

@ -1,12 +1,12 @@
{{#if (is-equal model.mode "login")}}
<div class="sso-box">
<p>Authenticating with CAS...</p>
<p>{{localize 'login_cas'}}</p>
<img src="/assets/img/busy-gray.gif">
</div>
{{/if}}
{{#if (is-equal model.mode "reject")}}
<div class="sso-box">
<p>CAS authentication failure</p>
<p>{{localize 'login_cas_error'}}</p>
</div>
{{/if}}

View file

@ -1,8 +1,7 @@
<div class="auth-center">
<div class="auth-box">
<div class="logo">
<img src="{{appMeta.endpoint}}/public/logo?cb={{random-id}}"
title="Community" alt="Community" class="img-fluid">
<img src="{{appMeta.endpoint}}/public/logo?cb={{random-id}}" title={{appMeta.title}} alt={{appMeta.title}} class="img-fluid">
<div class="url">{{appMeta.title}} ({{appMeta.appHost}})</div>
</div>
<div class="login-form">

View file

@ -18,6 +18,7 @@ export default Route.extend({
appMeta: service(),
kcAuth: service(),
localStorage: service(),
queryParams: {
mode: {
refreshModel: true

View file

@ -1,13 +1,13 @@
{{#if (is-equal model.mode "login")}}
<div class="sso-box">
<p>Authenticating with Keycloak...</p>
<p>{{localize 'login_keycloak'}}</p>
<img src="/assets/img/busy-gray.gif">
</div>
{{/if}}
{{#if (is-equal model.mode "reject")}}
<div class="sso-box">
<p>Keycloak authentication failure</p>
<p>{{localize 'login_keycloak_error'}}</p>
<p>{{model.message}}</p>
</div>
{{/if}}

View file

@ -65,15 +65,6 @@ export default Controller.extend(AuthProvider, {
this.set('invalidCredentials', true);
});
}
// if (this.get('isAuthProviderCAS')) {
//
// this.get('session').authenticate('authenticator:cas').then((response) => {
// this.transitionToRoute('folders');
// return response;
// }).catch(() => {
// this.set('invalidCredentials', true);
// });
// }
}
}
});

View file

@ -2,37 +2,35 @@
{{#if model.showLogin}}
<div class="auth-box">
<div class="logo">
<img src="{{appMeta.endpoint}}/public/logo?cb={{random-id}}"
title="Community" alt="Community" class="img-fluid">
<img src="{{appMeta.endpoint}}/public/logo?cb={{random-id}}" title="{{appMeta.title}}" alt="{{appMeta.title}}" class="img-fluid">
<div class="url">{{appMeta.title}} ({{appMeta.appHost}})</div>
</div>
<form {{action "login" on="submit"}}>
<div class="form-group">
{{#if isAuthProviderDocumize}}
<label for="authEmail">Email</label>
<label for="authEmail">{{localize 'email'}}</label>
{{focus-input type="email" value=email id="authEmail" class="form-control mousetrap" placeholder="" autocomplete="username email"}}
{{/if}}
{{#if isAuthProviderLDAP}}
<label for="authUsername">Username</label>
{{focus-input type="text" value=username id="authUsername" class="form-control mousetrap" placeholder="network domain username" autocomplete="username"}}
<label for="authUsername">{{localize 'username'}}</label>
{{focus-input type="text" value=username id="authUsername" class="form-control mousetrap" placeholder="" autocomplete="username"}}
{{/if}}
</div>
<div class="form-group">
{{#if isAuthProviderDocumize}}
<label for="authPassword">Password</label>
<label for="authPassword">{{localize 'password'}}</label>
{{input type="password" value=password id="authPassword" class="form-control" autocomplete="current-password"}}
{{/if}}
{{#if isAuthProviderLDAP}}
<label for="authPassword">Password</label>
<label for="authPassword">{{localize 'password'}}</label>
{{input type="password" value=password id="authPassword" class="form-control" autocomplete="current-password"}}
{{/if}}
</div>
{{ui/ui-button color=constants.Color.Green light=true label=(localize 'signin') onClick=(action "login")}}
<div class="{{unless invalidCredentials "invisible"}} color-red-600 mt-3">Invalid credentials</div>
<div class="{{unless invalidCredentials "invisible"}} color-red-600 mt-3"></div>
{{#if isAuthProviderDocumize}}
{{#link-to "auth.forgot"}}Forgot your password?{{/link-to}}
{{#link-to "auth.forgot"}}{{localize 'forgor_password'}}{{/link-to}}
{{/if}}
</form>
</div>

View file

@ -1,4 +1,4 @@
<div class="sso-box">
<p>Logging out...</p>
<p>{{localize 'logout'}}</p>
<img src="/assets/img/busy-gray.gif">
</div>

View file

@ -11,14 +11,17 @@
import $ from 'jquery';
import Route from '@ember/routing/route';
import { inject as service } from '@ember/service';
export default Route.extend({
i18n: service(),
model: function (params) {
return params.token;
},
activate() {
this.get('browser').setTitleAsPhrase('Reset Password');
this.get('browser').setTitleAsPhrase(this.i18n.localize('reset_password'));
$('body').addClass('background-color-theme-100 d-flex justify-content-center align-items-center');
},

View file

@ -1,8 +1,7 @@
<div class="auth-center">
<div class="auth-box">
<div class="logo">
<img src="{{appMeta.endpoint}}/public/logo?cb={{random-id}}"
title="Community" alt="Community" class="img-fluid">
<img src="{{appMeta.endpoint}}/public/logo?cb={{random-id}}" title="{{appMeta.title}}" alt="{{appMeta.title}}" class="img-fluid">
<div class="url">{{appMeta.title}} ({{appMeta.appHost}})</div>
</div>
{{user/password-reset reset=(action "reset")}}

View file

@ -37,6 +37,6 @@ export default Route.extend(AuthenticatedRouteMixin, {
},
activate() {
this.get('browser').setTitleWithoutSuffix('Welcome to Documize');
this.get('browser').setTitleWithoutSuffix('Documize Community');
}
});

View file

@ -5,8 +5,8 @@
<Layout::Grid::Sidebar>
<div class="sidebar-content">
<div class="section">
<div class="title">welcome to documize</div>
<p>Let's set up your account and get you started</p>
<div class="title">{{localize 'welcome'}}</div>
<p>{{localize 'welcome_explain'}}</p>
</div>
</div>
</Layout::Grid::Sidebar>

View file

@ -1,4 +1,4 @@
<div class="sso-box">
<p>Signing in...</p>
<p>{{localize 'authentication'}}</p>
<img src="/assets/img/busy-gray.gif" alt="busy">
</div>

View file

@ -27,7 +27,7 @@
<div class="sidebar-content">
<Layout::Grid::SidebarGoTop />
<Layout::Grid::SidebarCustomAction>
<i class="dicon {{constants.Icon.Expand}} {{if (gt expandState.length 0) "color-green-500"}}" {{action "onExpandAll"}} title="Expand/collapse" />
<i class="dicon {{constants.Icon.Expand}} {{if (gt expandState.length 0) "color-green-500"}}" {{action "onExpandAll"}} title={{localize 'expand_collapse'}} />
</Layout::Grid::SidebarCustomAction>
<Ui::UiSpacer @size="200" />

View file

@ -2,8 +2,7 @@
<Layout::MasterToolbar>
<div class="zone-1">
{{#ui/ui-toolbar dark=false light=false raised=false large=false bordered=false}}
{{ui/ui-toolbar-button themed=true uppercase=false
icon=constants.Icon.ArrowLeft label=document.name onClick=(action "onBack")}}
{{ui/ui-toolbar-button themed=true uppercase=false icon=constants.Icon.ArrowLeft label=document.name onClick=(action "onBack")}}
{{/ui/ui-toolbar}}
</div>
<div class="zone-2" />
@ -14,7 +13,7 @@
<Layout::Grid::Sidebar>
<div class="sidebar-content">
<div class="section">
<div class="title">REVISIONS</div>
<div class="title">{{localize 'revisions'}}</div>
<div class="list">
{{#each revisions as |revision|}}
<div class="item {{if (eq selectedRevision revision) "selected"}}" {{action "onRevision" revision}}>
@ -29,8 +28,8 @@
<Layout::Grid::Content>
{{layout/logo-heading
title="Content Revisions"
desc="Review previous content changes and roll back edits"
title=(localize 'content_revisions')
desc=(localize 'content_revisions_explain')
icon=constants.Icon.TimeBack}}
{{document/view-revision

View file

@ -2,8 +2,7 @@
<Layout::MasterToolbar>
<div class="zone-1">
{{#ui/ui-toolbar dark=false light=false raised=false large=false bordered=false}}
{{ui/ui-toolbar-button themed=true uppercase=false
icon=constants.Icon.ArrowLeft label=model.document.name onClick=(action "onCancel")}}
{{ui/ui-toolbar-button themed=true uppercase=false icon=constants.Icon.ArrowLeft label=model.document.name onClick=(action "onCancel")}}
{{/ui/ui-toolbar}}
</div>
<div class="zone-2" />
@ -19,7 +18,7 @@
attachments=model.attachments
onCancel=(action "onCancel") onAction=(action "onAction")}}
{{document/section-attachment uploadLabel="Upload Attachments"
{{document/section-attachment uploadLabel=(localize 'upload_attachment')
editMode=true page=model.page document=model.document
files=model.attachments
onAttachmentUpload=(action "onAttachmentUpload")

View file

@ -2,8 +2,7 @@
<Layout::MasterToolbar>
<div class="zone-1">
{{#ui/ui-toolbar dark=false light=false raised=false large=false bordered=false}}
{{ui/ui-toolbar-button themed=true uppercase=false
icon=constants.Icon.ArrowLeft label=model.document.name onClick=(action "onBack")}}
{{ui/ui-toolbar-button themed=true uppercase=false icon=constants.Icon.ArrowLeft label=model.document.name onClick=(action "onBack")}}
{{/ui/ui-toolbar}}
</div>
<div class="zone-2" />
@ -14,31 +13,31 @@
<Layout::Grid::Sidebar>
<div class="sidebar-content">
<div class="section">
<div class="title">Options</div>
<div class="title">{{localize 'options'}}</div>
<div class="list">
<div class="item {{if (eq tab "general") "selected"}}" {{action "onTab" "general"}}>
<i class={{concat "dicon " constants.Icon.Settings}} />
<div class="name">Content Settings</div>
<div class="name">{{localize 'settings'}}</div>
</div>
<div class="item {{if (eq tab "category") "selected"}}" {{action "onTab" "category"}}>
<i class={{concat "dicon " constants.Icon.Category}} />
<div class="name">Categories</div>
<div class="name">{{localize 'categories'}}</div>
</div>
<div class="item {{if (eq tab "tag") "selected"}}" {{action "onTab" "tag"}}>
<i class={{concat "dicon " constants.Icon.Tag}} />
<div class="name">Tags</div>
<div class="name">{{localize 'tags'}}</div>
</div>
{{#if (eq appMeta.edition constants.Product.EnterpriseEdition)}}
{{#if model.permissions.documentApprove}}
<div class="item {{if (eq tab "protection") "selected"}}" {{action "onTab" "protection"}}>
<i class={{concat "dicon " constants.Icon.Locked}} />
<div class="name">Change Control</div>
<div class="name">{{localize 'change_control'}}</div>
</div>
{{/if}}
{{#if model.permissions.documentVersion}}
<div class="item {{if (eq tab "versions") "selected"}}" {{action "onTab" "versions"}}>
<i class={{concat "dicon " constants.Icon.Copy}} />
<div class="name">Versions</div>
<div class="name">{{localize 'versions'}}</div>
</div>
{{/if}}
{{/if}}

View file

@ -2,8 +2,7 @@
<Layout::MasterToolbar>
<div class="zone-1">
{{#ui/ui-toolbar dark=false light=false raised=false large=false bordered=false}}
{{ui/ui-toolbar-button themed=true uppercase=false
icon=constants.Icon.ArrowLeft label=model.space.name onClick=(action "onBack")}}
{{ui/ui-toolbar-button themed=true uppercase=false icon=constants.Icon.ArrowLeft label=model.space.name onClick=(action "onBack")}}
{{/ui/ui-toolbar}}
</div>
</Layout::MasterToolbar>
@ -12,16 +11,16 @@
<Layout::Grid::Sidebar>
<div class="sidebar-content">
<div class="section">
<div class="title">about</div>
<div class="text">Manage reusable snippets of content for this space</div>
<div class="title">{{localize 'about'}}</div>
<div class="text">{{localize 'block_explain'}}</div>
</div>
</div>
</Layout::Grid::Sidebar>
<Layout::Grid::Content>
{{layout/logo-heading
title="Content Blocks"
desc="Content blocks provide re-usable content that can be inserted into any document"
title=(localize 'blocks')
desc=(localize 'block_explain')
icon=constants.Icon.Integrations}}
{{document/block-editor document=model.document folder=model.space block=model.block

View file

@ -21,6 +21,8 @@ export default Controller.extend(NotifierMixin, {
localStorage: service('localStorage'),
browserSvc: service('browser'),
documentSvc: service('document'),
i18n: service(),
queryParams: ['category'],
category: '',
filteredDocs: null,
@ -88,7 +90,7 @@ export default Controller.extend(NotifierMixin, {
this.get('documentSvc').export(spec).then((htmlExport) => {
this.get('browserSvc').downloadFile(htmlExport, this.get('model.folder.slug') + '.html');
this.notifySuccess('Exported');
this.notifySuccess(this.i18n.localize('exported'));
});
},
@ -126,21 +128,21 @@ export default Controller.extend(NotifierMixin, {
onPin(documentId) {
this.get('documentSvc').pin(documentId).then(() => {
this.notifySuccess('Pinned');
this.notifySuccess(this.i18n.localize('pinned'));
this.send('onRefresh');
});
},
onUnpin(documentId) {
this.get('documentSvc').unpin(documentId).then(() => {
this.notifySuccess('Unpinned');
this.notifySuccess(this.i18n.localize('unpinned'));
this.send('onRefresh');
});
},
onPinSequence(documentId, direction) {
this.get('documentSvc').onPinSequence(documentId, direction).then(() => {
this.notifySuccess('Moved');
this.notifySuccess(this.i18n.localize('moved'));
this.send('onRefresh');
});
},

View file

@ -2,8 +2,7 @@
<Layout::MasterToolbar>
<div class="zone-1">
{{#ui/ui-toolbar dark=false light=false raised=false large=false bordered=false}}
{{ui/ui-toolbar-button themed=true uppercase=true
icon=constants.Icon.ArrowLeft label=(localize 'spaces') onClick=(action "onBack")}}
{{ui/ui-toolbar-button themed=true uppercase=true icon=constants.Icon.ArrowLeft label=(localize 'spaces') onClick=(action "onBack")}}
{{/ui/ui-toolbar}}
</div>
<div class="zone-2" />
@ -42,7 +41,7 @@
<Layout::Grid::Content>
{{#if (eq model.folder.labelId "")}}
<div class="space-label">Unclassified</div>
<div class="space-label">{{localize 'label_unclassified'}}</div>
{{else}}
<div class="space-label" style={{{model.label.bgColor}}}>{{model.label.name}}</div>
{{#if (gt model.labelSpaces.length 1)}}

View file

@ -2,8 +2,7 @@
<Layout::MasterToolbar>
<div class="zone-1">
{{#ui/ui-toolbar dark=false light=false raised=false large=false bordered=false}}
{{ui/ui-toolbar-button themed=true uppercase=false
icon=constants.Icon.ArrowLeft label=model.folder.name onClick=(action "onBack")}}
{{ui/ui-toolbar-button themed=true uppercase=false icon=constants.Icon.ArrowLeft label=model.folder.name onClick=(action "onBack")}}
{{/ui/ui-toolbar}}
</div>
</Layout::MasterToolbar>
@ -12,34 +11,34 @@
<Layout::Grid::Sidebar>
<div class="sidebar-content">
<div class="section">
<div class="title">space management</div>
<div class="title">{{localize 'space'}}</div>
<div class="list">
<div class="item {{if (eq tab "general") "selected"}}" {{action "onTab" "general"}}>
<i class={{concat "dicon " constants.Icon.Settings}} />
<div class="name">Meta</div>
<div class="name">{{localize 'meta'}}</div>
</div>
<div class="item {{if (eq tab "categories") "selected"}}" {{action "onTab" "categories"}}>
<i class={{concat "dicon " constants.Icon.Category}} />
<div class="name">Categories</div>
<div class="name">{{localize 'categories'}}</div>
</div>
<div class="item {{if (eq tab "permissions") "selected"}}" {{action "onTab" "permissions"}}>
<i class={{concat "dicon " constants.Icon.Locked}} />
<div class="name">Permissions</div>
<div class="name">{{localize 'permissions'}}</div>
</div>
<div class="item {{if (eq tab "blocks") "selected"}}" {{action "onTab" "blocks"}}>
<i class={{concat "dicon " constants.Icon.Blocks}} />
<div class="name">Content Blocks</div>
<div class="name">{{localize 'blocks'}}</div>
</div>
{{#if (eq appMeta.edition constants.Product.EnterpriseEdition)}}
<div class="item {{if (eq tab "archived") "selected"}}" {{action "onTab" "archived"}}>
<i class={{concat "dicon " constants.Icon.Archive}} />
<div class="name">Archived Content</div>
<div class="name">{{localize 'archived'}}</div>
</div>
{{/if}}
{{#if model.permissions.spaceOwner}}
<div class="item {{if (eq tab "deletion") "selected"}}" {{action "onTab" "deletion"}}>
<i class={{concat "dicon " constants.Icon.Delete}} />
<div class="name">Deletion</div>
<div class="name">{{localize 'delete'}}</div>
</div>
{{/if}}
</div>

View file

@ -20,6 +20,7 @@ export default Route.extend(AuthenticatedRouteMixin, {
iconSvc: service('icon'),
localStorage: service(),
labelSvc: service('label'),
i18n: service(),
beforeModel() {
if (this.get('appMeta.setupMode')) {
@ -72,6 +73,6 @@ export default Route.extend(AuthenticatedRouteMixin, {
},
activate() {
this.get('browser').setTitle('Spaces');
this.get('browser').setTitle(this.i18n.localize('spaces'));
}
});

View file

@ -6,13 +6,11 @@
{{#if (or session.isEditor session.isAdmin)}}
{{#ui/ui-toolbar dark=false light=false raised=false large=false bordered=false}}
{{#if session.isEditor}}
{{ui/ui-toolbar-button icon=constants.Icon.Plus color=constants.Color.Green
label=(localize 'space') onClick=(action "onShowModal")}}
{{ui/ui-toolbar-button icon=constants.Icon.Plus color=constants.Color.Green label=(localize 'space') onClick=(action "onShowModal")}}
{{ui/ui-toolbar-divider}}
{{/if}}
{{#if session.isAdmin}}
{{ui/ui-toolbar-icon icon=constants.Icon.Settings color=constants.Color.Green
linkTo="customize"}}
{{ui/ui-toolbar-icon icon=constants.Icon.Settings color=constants.Color.Green linkTo="customize"}}
{{/if}}
{{/ui/ui-toolbar}}
{{/if}}

View file

@ -11,14 +11,17 @@
import Route from '@ember/routing/route';
import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';
import { inject as service } from '@ember/service';
export default Route.extend(AuthenticatedRouteMixin, {
i18n: service(),
beforeModel() {
// this.transitionTo('folders');
},
activate: function () {
this._super(...arguments);
this.browser.setTitleWithoutSuffix('Aw, Snap!');
this.browser.setTitleWithoutSuffix(this.i18n.localize('not_found'));
}
});

View file

@ -1,7 +1,7 @@
<div class="not-found">
<h1>Oops! That page couldn't be found.</h1>
<p>Maybe the content you're looking for is no longer available?</p>
<h1>{{localize '404'}}</h1>
<p>{{localize '404_explain'}}</p>
<p>&nbsp;</p>
<a href="/">Return to Documize home page</a>
<a href="/">{{localize 'spaces'}}</a>
</div>
{{outlet}}

View file

@ -1,17 +1,17 @@
<form {{action "forgot" on="submit"}}>
{{#if sayThanks}}
<p class="color-green-700 margin-bottom-30">Thanks. Check your email for instructions.</p>
<p class="color-green-700 margin-bottom-30">{{localize 'reset_password_next'}}.</p>
{{else}}
<div class="form-group">
<label for="email">Email</label>
<label for="email">{{localize 'email'}}</label>
{{focus-input type="email" value=email id="email" class=(if hasEmptyEmailError "form-control is-invalid" "form-control")}}
{{#if sayError}}
<p class="color-red-700 margin-top-10">Email not found</p>
<p class="color-red-700 margin-top-10">{{localize 'not_found'}}</p>
{{/if}}
</div>
{{ui/ui-button color=constants.Color.Yellow light=true label=(localize 'reset') onClick=(action "forgot")}}
{{/if}}
<Ui::UiSpacer @size="400" />
{{#link-to "auth.login"}}Click here to sign in{{/link-to}}
{{#link-to "auth.login"}}{{localize 'signin'}}{{/link-to}}
</form>

View file

@ -1,18 +1,17 @@
<div class="login-form">
<form {{action "reset" on="submit"}}>
<div class="form-group">
<label>New Password</label>
<label>{{localize 'password_new'}}</label>
{{focus-input type="password" value=password id="newPassword" autocomplete="new-password" class=(if hasPasswordError "form-control is-invalid" "form-control")}}
<small class="form-text text-muted">Choose a strong password</small>
<small class="form-text text-muted">{{localize 'password_strong'}}</small>
</div>
<div class="form-group">
<label>Confirm Password</label>
<label>{{localize 'confirm_password'}}</label>
{{input type="password" value=passwordConfirm id="passwordConfirm" autocomplete="new-password" class=(if hasConfirmError "form-control is-invalid" "form-control")}}
<small class="form-text text-muted">Please type your new password again</small>
</div>
<div class="margin-top-10 margin-bottom-20">
{{ui/ui-button color=constants.Color.Green light=true label=(localize 'reset') onClick=(action "reset")}}
<span class="{{unless mustMatch "d-none"}} color-red-600 margin-left-20">Passwords must match</span>
<span class="{{unless mustMatch "d-none"}} color-red-600 margin-left-20">{{localize 'password_match'}}</span>
</div>
</form>
</div>

View file

@ -1,23 +1,23 @@
<div class="view-profile">
<div class="form-group">
<label for="firstname">Firstname</label>
<label for="firstname">{{localize 'firstname'}}</label>
{{focus-input id="firstname" type="text" value=model.firstname class=(if hasFirstnameError "form-control is-invalid" "form-control")}}
</div>
<div class="form-group">
<label for="lastname">Lastname</label>
<label for="lastname">{{localize 'lastname'}}</label>
{{input id="lastname" type="text" value=model.lastname class=(if hasLastnameError "form-control is-invalid" "form-control")}}
</div>
<div class="form-group">
<label for="email">Email</label>
<label for="email">{{localize 'email'}}</label>
{{input id="email" type="email" value=model.email class=(if hasEmailError "form-control is-invalid" "form-control")}}
</div>
{{#if isAuthProviderDocumize}}
<div class="form-group">
<label for="password">Password</label>
<label for="password">{{localize 'password'}}</label>
{{input id="password" type="password" value=password.password class=(if hasPasswordError "form-control is-invalid" "form-control")}}
</div>
<div class="form-group">
<label for="confirmPassword">Confirm Password</label>
<label for="confirmPassword">{{localize 'confirm_password'}}</label>
{{input id="confirmPassword" type="password" value=password.confirmation class=(if hasConfirmPasswordError "form-control is-invalid" "form-control")}}
</div>
{{/if}}

View file

@ -15,6 +15,7 @@
"edit": "Edit",
"import": "Import",
"export": "Export",
"exported": "Exported",
"test": "Test",
"error": "Error",
"file": "File",
@ -23,8 +24,10 @@
"join": "Join",
"leave": "Leave",
"login": "Login",
"logout": "logout",
"authentication": "Authentication",
"move": "Move",
"moved": "Moved",
"next": "Next",
"ok": "OK",
"preview": "Preview",
@ -44,7 +47,6 @@
"sort": "Sort",
"unassigned": "Unassigned",
"update": "Update",
"version": "Version",
"viewed": "Viewed",
"edited": "Edited",
"draft": "Draft",
@ -62,6 +64,8 @@
"lastname": "Lastname",
"email": "Email",
"password": "Password",
"password_new": "New Password",
"username": "Username",
"password_confirm": "Confirm Password",
"encryption": "Encryption",
"notice": "Notice",
@ -69,18 +73,34 @@
"restore": "Restore",
"completed": "Completed",
"please_wait": "Please wait..",
"filter": "Filter",
"all": "All",
"not_found": "Not found",
"expand_collapse": "Expand/collapse",
"options": "Options",
"settings": "Settings",
"about": "About",
"meta": "Meta",
"permissions": "Permissions",
"public": "Public",
"protected": "Protected",
"personal": "Personal",
"label": "Label",
"labels": "Labels",
"labels_none": "No labels",
"label_unclassified": "Unclassified",
"space": "Space",
"spaces": "Spaces",
"categories": "Categories",
"tags": "Tags",
"revisions": "revisions",
"versions": "Versions",
"version": "Version",
"change_control": "Change Control",
"pinned": "Pinned",
"unpinned": "Unpinned",
"blocks": "Content Blocks",
"space_new": "New Space",
"space_name": "Space name",
@ -91,7 +111,6 @@
"space_copy_template": "Copy templates",
"space_copy_permission": "Copy permissions",
"space_copy_document": "Copy documents",
"protection_none": "Changes permitted without approval",
"protection_lock": "Locked, changes not permitted",
"protection_review": "Changes require approval before publication",
@ -99,7 +118,24 @@
"approval_majority": "Majority approval required from approvers",
"approval_unanimous": "Unanimous approval required from all approvers",
"template_published": "Published Template",
"block_explain": "Content blocks provide re-usable content that can be inserted into any document",
"block_published": "Published Block",
"upload_attachment": "Upload Attachments",
"content_revisions": "Content Revisions",
"content_revisions_explain": "Review previous content changes and roll back edits",
"login_cas": "Authenticating with CAS...",
"login_cass_error": "CAS authentication failure",
"login_keycloak": "Authenticating with Keycloak...",
"login_keycloak_error": "Keycloak authentication failure",
"login_invalid": "Invalid credentials",
"forgot_password": "Forgot your password?",
"reset_password": "Reset Password",
"reset_password_next": "Thanks. Check your email for instructions.",
"password_strong": "Choose a strong password",
"password_match": "Passwords must match",
"welcome": "Welcome to Documize",
"welcome_explain": "Let's set up your account and get you started",
"backup_explain1": "Documize Community is a multi-tenanted application enabling both 'tech.mycompany.com' and 'sales.mycompany.com' to run using the same executable/database. As a Documize Community Global Administrator, you will be performing a complete system-wide backup across all tenants. The Documize Community Tenant Administrator can login to perform a tenant-level backup (e.g. marketing.mycompany.com).",
"backup_explain2": "Documize Community is a multi-tenanted application enabling both 'tech.mycompany.com' and 'sales.mycompany.com' to run using the same executable/database. A Documize Community Global Administrator, you will be performing a complete system-wide backup across all tenants. As a Documize Community Tenant Administrator you can perform a tenant-level backup (e.g. marketing.mycompany.com).",
@ -204,7 +240,6 @@
"user_delete_confirm": "Are you sure you want to delete user {1}?",
"user_selected_delete_confirm": "Are you sure you want to delete selected users?",
"user_delete": "Delete User",
"permissions": "Permissions",
"permission_spaces": "Spaces",
"permission_spaces_explain": "Can add spaces, both personal and shared with others",
"permission_visible": "Visible",
@ -215,7 +250,6 @@
"permission_analytics_explain": "Can view analytical reports",
"permission_active": "Active",
"permission_active_explain": "Can login and use Documize Community",
"auth_role_space": "Can Create Spaces",
"auth_disable_logout": "Disable Logout",
"auth_dual_login": "Dual Login",
@ -272,7 +306,6 @@
"auth_cas_url_explain": "e.g. http://localhost:8888/auth",
"auth_cas_back_url": "Documize CAS URL",
"auth_cas_back_url_explain": "e.g. http://Documize-URL/auth/cas",
"administration": "Administration",
"admin_general": "General",
"admin_general_explain": "Options to help you customize Documize Community",
@ -294,6 +327,8 @@
"admin_labels_explain": "Group and navigate spaces with visual labels",
"admin_search_explain": "Rebuild the search index",
"404": "Oops! That page couldn't be found.",
"404_explain": "Maybe the content you're looking for is no longer available?",
"close_account": "Please close my Documize account.",
"third_party": "Documize Community utilizes open source libraries and components from third parties"
}