mirror of
https://github.com/documize/community.git
synced 2025-07-19 21:29:42 +02:00
i18n admin sections
This commit is contained in:
parent
a7dac6911c
commit
479d03ba70
9 changed files with 131 additions and 78 deletions
|
@ -15,14 +15,21 @@ import Component from '@ember/component';
|
||||||
|
|
||||||
export default Component.extend(Notifier, {
|
export default Component.extend(Notifier, {
|
||||||
appMeta: service(),
|
appMeta: service(),
|
||||||
buttonLabel: 'Rebuild',
|
i18n: service(),
|
||||||
|
buttonLabel: '',
|
||||||
|
|
||||||
|
init() {
|
||||||
|
this._super(...arguments);
|
||||||
|
this.buttonLabel = this.i18n.localize('search_reindex_rebuild');
|
||||||
|
},
|
||||||
|
|
||||||
actions: {
|
actions: {
|
||||||
reindex() {
|
reindex() {
|
||||||
this.set('buttonLabel', 'Running...');
|
this.set('buttonLabel', this.i18n.localize('running'));
|
||||||
this.notifyInfo("Starting search re-index process");
|
this.notifyInfo(this.i18n.localize('search_reindex_start'));
|
||||||
this.get('reindex')(() => {
|
this.get('reindex')(() => {
|
||||||
this.notifySuccess("Search re-indexing complete");
|
this.notifySuccess(this.i18n.localize('search_reindex_finish'));
|
||||||
|
this.set('buttonLabel', this.i18n.localize('search_reindex_rebuild'));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,8 +21,6 @@ export default Service.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
localize(key, ...args) {
|
localize(key, ...args) {
|
||||||
console.log(this.session.locale);
|
|
||||||
|
|
||||||
let str = "";
|
let str = "";
|
||||||
|
|
||||||
switch(this.session.locale) {
|
switch(this.session.locale) {
|
||||||
|
@ -33,13 +31,15 @@ export default Service.extend({
|
||||||
str = this.langs.enUS[key];
|
str = this.langs.enUS[key];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (str === "") {
|
if (_.isUndefined(str)) {
|
||||||
console.log("i18n miss", key);
|
console.log(">>>>>>>>>>>> i18n missed key", key);
|
||||||
return;
|
return `!${key}!`;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (let i = 0; i < args.length; i++) {
|
if (args) {
|
||||||
str = str.replace(`{${i+1}}`, args[i]);
|
for (let i = 0; i < args.length; i++) {
|
||||||
|
str = str.replace(`{${i+1}}`, args[i]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return str;
|
return str;
|
||||||
|
|
|
@ -4,28 +4,28 @@
|
||||||
<ul class="options">
|
<ul class="options">
|
||||||
<li class="option {{if isDocumizeProvider "selected"}}" {{action "onDocumize"}} role="button" tabindex="0">
|
<li class="option {{if isDocumizeProvider "selected"}}" {{action "onDocumize"}} role="button" tabindex="0">
|
||||||
<div class="text-header">Documize</div>
|
<div class="text-header">Documize</div>
|
||||||
<div class="text">Built-in email/password</div>
|
<div class="text">{{localize 'auth_email_password'}}</div>
|
||||||
{{#if isDocumizeProvider}}
|
{{#if isDocumizeProvider}}
|
||||||
<i class="dicon {{constants.Icon.Tick}}" />
|
<i class="dicon {{constants.Icon.Tick}}" />
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</li>
|
</li>
|
||||||
<li class="option {{if isKeycloakProvider "selected"}}" {{action "onKeycloak"}} role="button" tabindex="0">
|
<li class="option {{if isKeycloakProvider "selected"}}" {{action "onKeycloak"}} role="button" tabindex="0">
|
||||||
<div class="text-header">Keycloak</div>
|
<div class="text-header">Keycloak</div>
|
||||||
<div class="text">Via authentication server</div>
|
<div class="text">{{localize 'auth_connect_keycloak'}}</div>
|
||||||
{{#if isKeycloakProvider}}
|
{{#if isKeycloakProvider}}
|
||||||
<i class="dicon {{constants.Icon.Tick}}" />
|
<i class="dicon {{constants.Icon.Tick}}" />
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</li>
|
</li>
|
||||||
<li class="option {{if isLDAPProvider "selected"}}" {{action "onLDAP"}} role="button" tabindex="0">
|
<li class="option {{if isLDAPProvider "selected"}}" {{action "onLDAP"}} role="button" tabindex="0">
|
||||||
<div class="text-header">LDAP</div>
|
<div class="text-header">LDAP</div>
|
||||||
<div class="text">Connect to LDAP/Active Directory</div>
|
<div class="text">{{localize 'auth_connect_ldap'}}</div>
|
||||||
{{#if isLDAPProvider}}
|
{{#if isLDAPProvider}}
|
||||||
<i class="dicon {{constants.Icon.Tick}}" />
|
<i class="dicon {{constants.Icon.Tick}}" />
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</li>
|
</li>
|
||||||
<li class="option {{if isCASProvider "selected"}}" {{action "onCAS"}} role="button" tabindex="0">
|
<li class="option {{if isCASProvider "selected"}}" {{action "onCAS"}} role="button" tabindex="0">
|
||||||
<div class="text-header">CAS</div>
|
<div class="text-header">CAS</div>
|
||||||
<div class="text">Via Central Authentication Server</div>
|
<div class="text">{{localize 'auth_connect_cas'}}</div>
|
||||||
{{#if isCASProvider}}
|
{{#if isCASProvider}}
|
||||||
<i class="dicon {{constants.Icon.Tick}}" />
|
<i class="dicon {{constants.Icon.Tick}}" />
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
@ -174,7 +174,8 @@
|
||||||
{{ui/ui-button color=constants.Color.Yellow light=true label="Test →" onClick=(action "onLDAPPreview")}}
|
{{ui/ui-button color=constants.Color.Yellow light=true label="Test →" onClick=(action "onLDAPPreview")}}
|
||||||
{{ui/ui-button-gap}}
|
{{ui/ui-button-gap}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{#if isCASProvider}}
|
|
||||||
|
{{#if isCASProvider}}
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="cas-url">CAS Server URL</label>
|
<label for="cas-url">CAS Server URL</label>
|
||||||
{{focus-input id="cas-url" type="text" value=casConfig.url class=(if casErrorUrl "form-control is-invalid" "form-control")}}
|
{{focus-input id="cas-url" type="text" value=casConfig.url class=(if casErrorUrl "form-control is-invalid" "form-control")}}
|
||||||
|
@ -183,9 +184,10 @@
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="cas-redirect-url">Documize CAS URL</label>
|
<label for="cas-redirect-url">Documize CAS URL</label>
|
||||||
{{focus-input id="cas-redirect-url" type="text" value=casConfig.redirectUrl class=(if casErrorRedirectUrl "form-control is-invalid" "form-control")}}
|
{{focus-input id="cas-redirect-url" type="text" value=casConfig.redirectUrl class=(if casErrorRedirectUrl "form-control is-invalid" "form-control")}}
|
||||||
<small class="form-text text-muted">e.g. http://Documize URL/auth/cas</small>
|
<small class="form-text text-muted">e.g. http://DocumizeURL/auth/cas</small>
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{ui/ui-button color=constants.Color.Green light=true icon=constants.Icon.Locked label=(localize 'activate') onClick=(action "onSave")}}
|
{{ui/ui-button color=constants.Color.Green light=true icon=constants.Icon.Locked label=(localize 'activate') onClick=(action "onSave")}}
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
|
|
@ -2,40 +2,32 @@
|
||||||
<div class="backup-restore">
|
<div class="backup-restore">
|
||||||
<div class="backup-zone">
|
<div class="backup-zone">
|
||||||
{{#if session.isGlobalAdmin}}
|
{{#if session.isGlobalAdmin}}
|
||||||
<p>
|
<p>{{localize 'backup_explain1'}}</p>
|
||||||
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 <b>Global Administrator</b>, you will be performing a complete system-wide backup across all tenants.
|
|
||||||
The Documize Community <b>Tenant Administrator</b> can login to perform a tenant-level backup (e.g. marketing.mycompany.com).
|
|
||||||
</p>
|
|
||||||
{{else}}
|
{{else}}
|
||||||
<p>
|
<p>{{localize 'backup_explain2'}}</p>
|
||||||
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 <b>Global Administrator</b>, you will be performing a complete system-wide backup across all tenants.
|
|
||||||
As a Documize Community <b>Tenant Administrator</b> you can perform a tenant-level backup (e.g. marketing.mycompany.com).
|
|
||||||
</p>
|
|
||||||
{{/if}}
|
{{/if}}
|
||||||
<p>It can take <b>several minutes</b> to complete the backup process — please be patient while the backup operation is in progress.</p>
|
<p>{{localize 'backup_explain3'}}</p>
|
||||||
|
|
||||||
<div class="margin-top-30 margin-bottom-20">
|
<div class="margin-top-30 margin-bottom-20">
|
||||||
{{#ui/ui-checkbox selected=backupSpec.retain}}
|
{{#ui/ui-checkbox selected=backupSpec.retain}}
|
||||||
Retain backup file on server
|
{{localize 'backup_retain'}}
|
||||||
{{/ui/ui-checkbox}}
|
{{/ui/ui-checkbox}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{#if backupRunning}}
|
{{#if backupRunning}}
|
||||||
<h3 class="text-success">Backup running, please wait...</h3>
|
<h3 class="text-success">{{localize 'backup_running'}}</h3>
|
||||||
{{else}}
|
{{else}}
|
||||||
{{ui/ui-button color=constants.Color.Yellow light=true icon=constants.Icon.Database label=(concat "BACKUP TENANT (" appMeta.appHost ")") onClick=(action "onBackup")}}
|
{{ui/ui-button color=constants.Color.Yellow light=true icon=constants.Icon.Database label=(concat (localize 'backup_tenant') " " appMeta.appHost) onClick=(action "onBackup")}}
|
||||||
{{#if session.isGlobalAdmin}}
|
{{#if session.isGlobalAdmin}}
|
||||||
{{ui/ui-button-gap}}
|
{{ui/ui-button-gap}}
|
||||||
{{ui/ui-button color=constants.Color.Yellow light=true icon=constants.Icon.Database label="BACKUP SYSTEM" onClick=(action "onSystemBackup")}}
|
{{ui/ui-button color=constants.Color.Yellow light=true icon=constants.Icon.Database label=(localize 'backup_system') onClick=(action "onSystemBackup")}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{#if backupFailed}}
|
{{#if backupFailed}}
|
||||||
<div class="backup-fail">Backup failed — please check server logs</div>
|
<div class="backup-fail">{{localize 'backup_failed'}}</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{#if backupSuccess}}
|
{{#if backupSuccess}}
|
||||||
<div class="backup-success">Backup successful ({{backupFilename}})</div>
|
<div class="backup-success">{{localize 'backup_success'}} ({{backupFilename}})</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -43,23 +35,23 @@
|
||||||
<div class="backup-restore">
|
<div class="backup-restore">
|
||||||
<div class="restore-zone">
|
<div class="restore-zone">
|
||||||
{{#if session.isGlobalAdmin}}
|
{{#if session.isGlobalAdmin}}
|
||||||
<p>Restore from a <b>system backup</b> should only be performed on an <b>empty Documize Community database.</b></p>
|
<p>{{localize 'restore_explain1'}}</p>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
<p>Restore operation will <b>re-create</b> users, groups, permissions, spaces, categories and content.</p>
|
<p>{{localize 'restore_explain2'}}</p>
|
||||||
<p>It can take <b>several minutes</b> to complete the restore process — please be patient while the restore operation is in progress.</p>
|
<p>{{localize 'restore_explain3'}}</p>
|
||||||
|
|
||||||
<div class="margin-top-30 margin-bottom-20">
|
<div class="margin-top-30 margin-bottom-20">
|
||||||
<div class="custom-file">
|
<div class="custom-file">
|
||||||
<input type="file" class="custom-file-input" id="restore-file" accept="application/zip" multiple="false" onchange={{action "upload"}}>
|
<input type="file" class="custom-file-input" id="restore-file" accept="application/zip" multiple="false" onchange={{action "upload"}}>
|
||||||
<label class="custom-file-label" for="restore-file">Choose backup file</label>
|
<label class="custom-file-label" for="restore-file">{{localize 'restore_select_file'}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="margin-top-20"></div>
|
<div class="margin-top-20"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{#if restoreFailed}}
|
{{#if restoreFailed}}
|
||||||
<div class="restore-fail">Restore failed — please check server logs</div>
|
<div class="restore-fail">{{localize 'restore_failed'}}</div>
|
||||||
{{else if restoreSuccess}}
|
{{else if restoreSuccess}}
|
||||||
<div class="restore-success">Restore completed — restart your browser and log in</div>
|
<div class="restore-success">{{localize 'restore_success'}}</div>
|
||||||
{{else}}
|
{{else}}
|
||||||
{{#if restoreUploadReady}}
|
{{#if restoreUploadReady}}
|
||||||
{{ui/ui-button color=constants.Color.Red light=false icon=constants.Icon.Database label=restoreButtonLabel onClick=(action "onShowRestoreModal")}}
|
{{ui/ui-button color=constants.Color.Red light=false icon=constants.Icon.Database label=restoreButtonLabel onClick=(action "onShowRestoreModal")}}
|
||||||
|
@ -72,13 +64,13 @@
|
||||||
<div id="confirm-restore-modal" class="modal" tabindex="-1" role="dialog">
|
<div id="confirm-restore-modal" class="modal" tabindex="-1" role="dialog">
|
||||||
<div class="modal-dialog" role="document">
|
<div class="modal-dialog" role="document">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">Confirm Restore</div>
|
<div class="modal-header">{{localize 'restore_confirm'}}</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<form onsubmit={{action "onRestore"}}>
|
<form onsubmit={{action "onRestore"}}>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="delete-space-name">Please type RESTORE to commence the process</label>
|
<label for="delete-space-name">{{localize 'restore_confirm'}}</label>
|
||||||
{{input type="text" id="confirm-restore" class="form-control mousetrap" placeholder="Please type RESTORE" value=confirmRestore}}
|
{{input type="text" id="confirm-restore" class="form-control mousetrap" placeholder="RESTORE" value=confirmRestore}}
|
||||||
<small class="form-text text-muted">You should only restore to an empty Documize Community instance</small>
|
<small class="form-text text-muted">{{localize 'restore_warn'}}</small>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,10 +1,8 @@
|
||||||
<div class="product-update">
|
<div class="product-update">
|
||||||
<div class="update-status">
|
<div class="update-status">
|
||||||
{{#if appMeta.updateAvailable }}
|
{{#if appMeta.updateAvailable }}
|
||||||
<a class="title" href="https://www.documize.com/community/downloads">Product update is available :)</a>
|
<a class="title" href="https://www.documize.com/community">{{localize 'changelog_available'}}</a>
|
||||||
<p class="instructions">
|
<p class="instructions">{{localize 'changelog_guidance'}}</p>
|
||||||
To upgrade, replace existing binary and restart Documize Community.
|
|
||||||
</p>
|
|
||||||
<Ui::UiSpacer @size="400" />
|
<Ui::UiSpacer @size="400" />
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,52 +1,51 @@
|
||||||
<div class="view-customize">
|
<div class="view-customize">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="siteTitle">Site Name</label>
|
<label for="siteTitle">{{localize 'customize_name'}}</label>
|
||||||
{{focus-input id="siteTitle" type="text" value=model.general.title class=(if hasTitleInputError "form-control is-invalid" "form-control")}}
|
{{focus-input id="siteTitle" type="text" value=model.general.title class=(if hasTitleInputError "form-control is-invalid" "form-control")}}
|
||||||
<small class="form-text text-muted">Provide short title for this Documize Community instance</small>
|
<small class="form-text text-muted">{{localize 'customize_name_explain'}}</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label id="siteMessage">Site Message</label>
|
<label id="siteMessage">{{localize 'customize_message'}}</label>
|
||||||
<div id="editor-message" class="wysiwyg wysiwyg-editor">
|
<div id="editor-message" class="wysiwyg wysiwyg-editor">
|
||||||
{{{model.general.message}}}
|
{{{model.general.message}}}
|
||||||
</div>
|
</div>
|
||||||
<small class="form-text text-muted">Provide short message explaining this Documize Community instance</small>
|
<small class="form-text text-muted">{{localize 'customize_message_explain'}}</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>Site Theme</label>
|
<label>{{localize 'customize_theme'}}</label>
|
||||||
{{ui/theme-picker onChange=(action "onThemeChange")}}
|
{{ui/theme-picker onChange=(action "onThemeChange")}}
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>Site Logo</label>
|
<label>{{localize 'customize_logo'}}</label>
|
||||||
<div>
|
<div>
|
||||||
{{ui/ui-button light=true color=constants.Color.Gray label="Use Default" onClick=(action "onDefaultLogo")}}
|
{{ui/ui-button light=true color=constants.Color.Gray label=(localize 'customize_logo_default') onClick=(action "onDefaultLogo")}}
|
||||||
{{ui/ui-button-gap}}
|
{{ui/ui-button-gap}}
|
||||||
{{ui/ui-button light=true color=constants.Color.Yellow label="Upload Custom" id="upload-logo"}}
|
{{ui/ui-button light=true color=constants.Color.Yellow label=(localize 'customize_logo_upload') id="upload-logo"}}
|
||||||
</div>
|
</div>
|
||||||
<small class="form-text text-muted">You can choose to upload a small logo (e.g. 64px x 64px)</small>
|
<small class="form-text text-muted">{{localize 'customize_logo_explain'}}</small>
|
||||||
</div>
|
</div>
|
||||||
{{#if (eq appMeta.location "selfhost")}}
|
{{#if (eq appMeta.location "selfhost")}}
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="orgDomain">Site URL Subdomain</label>
|
<label for="orgDomain">{{localize 'customize_subdomain'}}</label>
|
||||||
{{input id="orgDomain" type="text" value=domain class="form-control" placeholder="e.g. docs"}}
|
{{input id="orgDomain" type="text" value=domain class="form-control" placeholder="e.g. docs"}}
|
||||||
<small class="form-text text-muted">If you are hosting on "docs.example.org" then the subdomain value should be set to "docs"</small>
|
<small class="form-text text-muted">{{localize 'customize_subdomain_explain'}}</small>
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>Public Spaces Viewable By Anonymous Users</label>
|
<label>{{localize 'customize_anon'}}</label>
|
||||||
{{x-toggle value=model.general.allowAnonymousAccess size="medium" theme="light" onToggle=(action (mut model.general.allowAnonymousAccess))}}
|
{{x-toggle value=model.general.allowAnonymousAccess size="medium" theme="light" onToggle=(action (mut model.general.allowAnonymousAccess))}}
|
||||||
<small class="form-text text-muted">Share content with unauthenticated site visitors</small>
|
<small class="form-text text-muted">{{localize 'customize_anon_explain'}}</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="conversionEndpoint">Conversion Service URL</label>
|
<label for="conversionEndpoint">{{localize 'customize_conversion_url'}}</label>
|
||||||
{{input id="conversionEndpoint" type="text" value=model.general.conversionEndpoint class=(if hasConversionEndpointInputError "form-control is-invalid" "form-control")}}
|
{{input id="conversionEndpoint" type="text" value=model.general.conversionEndpoint class=(if hasConversionEndpointInputError "form-control is-invalid" "form-control")}}
|
||||||
<small class="form-text text-muted">
|
<small class="form-text text-muted">
|
||||||
Endpoint for handling import/export (e.g. https://api.documize.com,
|
{{localize 'customize_conversion_explain'}} (e.g. https://api.documize.com, <a href="https://docs.documize.com/s/WNEpptWJ9AABRnha/administration-guides/d/WO0pt_MXigAB6sJ7/general-options">read the documentation</a>)
|
||||||
<a href="https://docs.documize.com/s/WNEpptWJ9AABRnha/administration-guides/d/WO0pt_MXigAB6sJ7/general-options">read the documentation</a>)
|
|
||||||
</small>
|
</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="maxTags">Maximum Tags Per Document</label>
|
<label for="maxTags">{{localize 'customize_tags'}}</label>
|
||||||
<select class="form-control" id="maxTags" {{action "change" on="change"}}>
|
<select class="form-control" id="maxTags" {{action "change" on="change"}}>
|
||||||
<option selected={{is-equal 3 maxTags}} value="3">3</option>
|
<option selected={{is-equal 3 maxTags}} value="3">3</option>
|
||||||
<option selected={{is-equal 4 maxTags}} value="4">4</option>
|
<option selected={{is-equal 4 maxTags}} value="4">4</option>
|
||||||
|
@ -57,7 +56,7 @@
|
||||||
<option selected={{is-equal 9 maxTags}} value="9">9</option>
|
<option selected={{is-equal 9 maxTags}} value="9">9</option>
|
||||||
<option selected={{is-equal 10 maxTags}} value="10">10</option>
|
<option selected={{is-equal 10 maxTags}} value="10">10</option>
|
||||||
</select>
|
</select>
|
||||||
<small class="form-text text-muted">How many tags can be assigned to a document (between 3 and 10 tags)</small>
|
<small class="form-text text-muted">{{localize 'customize_tags_explain'}}</small>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{ui/ui-button color=constants.Color.Green light=true icon=constants.Icon.Settings label=(localize 'save') onClick=(action "save")}}
|
{{ui/ui-button color=constants.Color.Green light=true icon=constants.Icon.Settings label=(localize 'save') onClick=(action "save")}}
|
||||||
|
|
|
@ -1,30 +1,28 @@
|
||||||
<div class="view-customize">
|
<div class="view-customize">
|
||||||
<form>
|
<form>
|
||||||
<h2>Jira</h2>
|
<h2>Jira</h2>
|
||||||
<p>Displays issues within documentation</p>
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="jira-url">URL</label>
|
<label for="jira-url">{{localize 'integration_jira_url'}}</label>
|
||||||
{{focus-input id="jira-url" type="text" value=jiraCreds.url class="form-control"}}
|
{{focus-input id="jira-url" type="text" value=jiraCreds.url class="form-control"}}
|
||||||
<small class="form-text text-muted">Fully qualified domain name for your Jira instance e.g. http://jira.example.org</small>
|
<small class="form-text text-muted">{{localize 'integration_jira_url_explain'}}</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="jira-username">Username</label>
|
<label for="jira-username">{{localize 'integration_jira_username'}}</label>
|
||||||
{{input id="jira-username" type="text" value=jiraCreds.username class="form-control"}}
|
{{input id="jira-username" type="text" value=jiraCreds.username class="form-control"}}
|
||||||
<small class="form-text text-muted">Your Jira login username/email</small>
|
<small class="form-text text-muted">{{localize 'integration_jira_username_explain'}}</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="jira-secret">Password</label>
|
<label for="jira-secret">{{localize 'integration_jira_password'}}</label>
|
||||||
{{input id="jira-secret" type="password" value=jiraCreds.secret class="form-control"}}
|
{{input id="jira-secret" type="password" value=jiraCreds.secret class="form-control"}}
|
||||||
<small class="form-text text-muted">Provide API Token if using Atlassian Cloud or Password when self-hosting Jira</small>
|
<small class="form-text text-muted">{{localize 'integration_jira_password_explain'}}</small>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{#if session.isGlobalAdmin}}
|
{{#if session.isGlobalAdmin}}
|
||||||
<h2>Trello</h2>
|
<h2>Trello</h2>
|
||||||
<p>Displays boards within documentation</p>
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="trello-key">App Key</label>
|
<label for="trello-key">{{localize 'integration_trello_appkey'}}</label>
|
||||||
{{input id="trello-key" type="text" value=trelloCreds.appKey class="form-control"}}
|
{{input id="trello-key" type="text" value=trelloCreds.appKey class="form-control"}}
|
||||||
<small class="form-text text-muted">See <a href="https://trello.com/app-key">https://trello.com/app-key</a></small>
|
<small class="form-text text-muted"><a href="https://trello.com/app-key">https://trello.com/app-key</a></small>
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<div class="view-customize">
|
<div class="view-customize">
|
||||||
<form>
|
<form>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<p>It can take up to 30 minutes to rebuild the search index.</p>
|
<p>{{localize 'search_reindex'}}</p>
|
||||||
{{ui/ui-button color=constants.Color.Yellow light=true icon=constants.Icon.Search label=buttonLabel onClick=(action "reindex")}}
|
{{ui/ui-button color=constants.Color.Yellow light=true icon=constants.Icon.Search label=buttonLabel onClick=(action "reindex")}}
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
|
@ -53,6 +53,7 @@
|
||||||
"name": "Name",
|
"name": "Name",
|
||||||
"description": "Description",
|
"description": "Description",
|
||||||
"icon": "Icon",
|
"icon": "Icon",
|
||||||
|
"running": "Running...",
|
||||||
|
|
||||||
"filter": "Filter",
|
"filter": "Filter",
|
||||||
"all": "All",
|
"all": "All",
|
||||||
|
@ -86,5 +87,61 @@
|
||||||
|
|
||||||
"block_published": "Published Block",
|
"block_published": "Published Block",
|
||||||
|
|
||||||
"z": "z"
|
"auth_email_password": "Built-in email/password",
|
||||||
|
"auth_connect_keycloak": "Connect to authentication server",
|
||||||
|
"auth_connect_ldap": "Connect to LDAP/Active Directory",
|
||||||
|
"auth_connect_cas": "Connect to Central Authentication Server",
|
||||||
|
|
||||||
|
"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).",
|
||||||
|
"backup_explain3": "It can take several minutes to complete the backup process -- please be patient while the backup operation is in progress.",
|
||||||
|
"backup_retain": "Retain backup file on server",
|
||||||
|
"backup_running": "Backup running, please wait...",
|
||||||
|
"backup_tenant": "Backup Tenant",
|
||||||
|
"backup_system": "Backup System",
|
||||||
|
"backup_failed": "Backup failed -- please check server logs",
|
||||||
|
"backup_success": "Backup successful",
|
||||||
|
"restore_explain1": "Restore from a system backup should only be performed on an empty Documize Community database.",
|
||||||
|
"restore_explain2": "Restore operation will re-create users, groups, permissions, spaces, categories and content.",
|
||||||
|
"restore_explain3": "It can take several minutes to complete the restore process -- please be patient while the restore operation is in progress.",
|
||||||
|
"restore_select_file": "Choose backup file",
|
||||||
|
"restore_failed": "Restore failed -- please check server logs",
|
||||||
|
"restore_success": "Restore completed -- restart your browser and log in",
|
||||||
|
"restore_confirm": "Confirm Restore",
|
||||||
|
"restore_confirm_input": "Please type RESTORE to commence the process",
|
||||||
|
"restore_warn": "You should only restore to an empty Documize Community instance",
|
||||||
|
|
||||||
|
"changelog_available": "Product update is available",
|
||||||
|
"changelog_guidance": "To upgrade, replace existing binary and restart Documize Community.",
|
||||||
|
|
||||||
|
"customize_name": "Site Name",
|
||||||
|
"customize_name_explain": "Provide short title for this Documize Community instance",
|
||||||
|
"customize_message": "Site Message",
|
||||||
|
"customize_message_explain": "Provide short message explaining this Documize Community instance",
|
||||||
|
"customize_theme": "Site Theme",
|
||||||
|
"customize_logo": "Site Logo",
|
||||||
|
"customize_logo_default": "Use Default",
|
||||||
|
"customize_logo_upload": "Upload Custom",
|
||||||
|
"customize_logo_explain": "You can choose to upload a small logo (e.g. 64px x 64px)",
|
||||||
|
"customize_subdomain": "Site URL Subdomain",
|
||||||
|
"customize_subdomain_explain": "If you are hosting on 'docs.example.org' then the subdomain value should be set to 'docs'",
|
||||||
|
"customize_anon": "Public Spaces Viewable By Anonymous Users",
|
||||||
|
"customize_anon_explain": "Share content with unauthenticated site visitors",
|
||||||
|
"customize_conversion_url": "Conversion Service URL",
|
||||||
|
"customize_conversion_explain": "Endpoint for handling import/export",
|
||||||
|
"customize_tags": "Maximum Tags Per Document",
|
||||||
|
"customize_tags_explain": "How many tags can be assigned to a document (between 3 and 10 tags)",
|
||||||
|
"integration_jira_url": "URL",
|
||||||
|
"integration_jira_url_explain": "Fully qualified domain name for your Jira instance e.g. http://jira.example.org",
|
||||||
|
"integration_jira_username": "Username",
|
||||||
|
"integration_jira_username_explain": "Your Jira login username/email",
|
||||||
|
"integration_jira_password": "Password",
|
||||||
|
"integration_jira_password_explain": "Provide API Token if using Atlassian Cloud or Password when self-hosting Jira",
|
||||||
|
"integration_trello_appkey": "App Key",
|
||||||
|
"search_reindex": "It can take up to 30 minutes to rebuild the search index.",
|
||||||
|
"search_reindex_rebuild": "Rebuild",
|
||||||
|
"search_reindex_start": "Starting search re-index process",
|
||||||
|
"search_reindex_finish": "Search re-indexing complete",
|
||||||
|
|
||||||
|
"x": "x"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue