Move all global section strings to i18n
parent
d655801e36
commit
84f3a296d8
|
@ -16,4 +16,6 @@ limitations under the License.
|
||||||
|
|
||||||
import templates from './templates';
|
import templates from './templates';
|
||||||
|
|
||||||
|
// TODO: centralised shared strings
|
||||||
|
|
||||||
export default { templates };
|
export default { templates };
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
/*
|
||||||
|
Copyright 2020 DigitalOcean
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
export default {
|
||||||
|
sslProfile: 'SSL Profile',
|
||||||
|
httpsMustBeEnabledOnOneSite: 'HTTPS must be enabled on at least one site to configure global HTTPS settings.',
|
||||||
|
ocspDnsResolvers: 'OCSP DNS Resolvers',
|
||||||
|
cloudflareResolver: 'Cloudflare Resolver',
|
||||||
|
googlePublicDns: 'Google Public DNS',
|
||||||
|
openDns: 'OpenDNS',
|
||||||
|
letsEncryptWebroot: 'Let\'s Encrypt webroot',
|
||||||
|
mozillaModern: 'Mozilla Modern',
|
||||||
|
mozillaIntermediate: 'Mozilla Intermediate',
|
||||||
|
mozillaOld: 'Mozilla Old',
|
||||||
|
https: 'HTTPS',
|
||||||
|
};
|
|
@ -0,0 +1,26 @@
|
||||||
|
/*
|
||||||
|
Copyright 2020 DigitalOcean
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import https from './https';
|
||||||
|
import logging from './logging';
|
||||||
|
import nginx from './nginx';
|
||||||
|
import performance from './performance';
|
||||||
|
import php from './php';
|
||||||
|
import python from './python';
|
||||||
|
import security from './security';
|
||||||
|
import tools from './tools';
|
||||||
|
|
||||||
|
export default { https, logging, nginx, performance, php, python, security, tools };
|
|
@ -0,0 +1,20 @@
|
||||||
|
/*
|
||||||
|
Copyright 2020 DigitalOcean
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
export default {
|
||||||
|
enableFileNotFoundErrorLogging: 'enable file not found error logging in',
|
||||||
|
logging: 'Logging',
|
||||||
|
};
|
|
@ -0,0 +1,21 @@
|
||||||
|
/*
|
||||||
|
Copyright 2020 DigitalOcean
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
export default {
|
||||||
|
nginxConfigDirectory: 'NGINX config directory',
|
||||||
|
mb: 'MB',
|
||||||
|
nginx: 'NGINX',
|
||||||
|
};
|
|
@ -0,0 +1,27 @@
|
||||||
|
/*
|
||||||
|
Copyright 2020 DigitalOcean
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
export default {
|
||||||
|
gzipCompression: 'Gzip compression',
|
||||||
|
enableGzipCompression: 'enable gzip compression',
|
||||||
|
brotliCompression: 'Brotli compression',
|
||||||
|
enableBrotliCompression: 'enable brotli compression',
|
||||||
|
expirationForAssets: 'Expiration for assets',
|
||||||
|
expirationForMedia: 'Expiration for media',
|
||||||
|
expirationForSvgs: 'Expiration for SVGs',
|
||||||
|
expirationForFonts: 'Expiration for fonts',
|
||||||
|
performance: 'Performance',
|
||||||
|
};
|
|
@ -0,0 +1,30 @@
|
||||||
|
/*
|
||||||
|
Copyright 2020 DigitalOcean
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
export default {
|
||||||
|
phpServer: 'PHP server',
|
||||||
|
phpMustBeEnabledOnOneSite: 'PHP must be enabled on at least one site to configure global PHP settings.',
|
||||||
|
phpBackupServer: 'PHP backup server',
|
||||||
|
tcp: 'TCP',
|
||||||
|
hhvmSocket: 'HHVM socket',
|
||||||
|
php5Socket: '5.x socket',
|
||||||
|
php70Socket: '7.0 socket',
|
||||||
|
php71Socket: '7.1 socket',
|
||||||
|
php72Socket: '7.2 socket',
|
||||||
|
php73Socket: '7.3 socket',
|
||||||
|
disabled: 'Disabled',
|
||||||
|
php: 'PHP',
|
||||||
|
};
|
|
@ -0,0 +1,21 @@
|
||||||
|
/*
|
||||||
|
Copyright 2020 DigitalOcean
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
export default {
|
||||||
|
pythonServer: 'Python server',
|
||||||
|
pythonMustBeEnabledOnOneSite: 'Python must be enabled on at least one site to configure global Python settings.',
|
||||||
|
python: 'Python',
|
||||||
|
};
|
|
@ -0,0 +1,20 @@
|
||||||
|
/*
|
||||||
|
Copyright 2020 DigitalOcean
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
export default {
|
||||||
|
enable: 'Python server',
|
||||||
|
security: 'Security',
|
||||||
|
};
|
|
@ -0,0 +1,33 @@
|
||||||
|
/*
|
||||||
|
Copyright 2020 DigitalOcean
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
export default {
|
||||||
|
modularizedStructure: 'Modularized structure',
|
||||||
|
enableModularizedConfigFiles: 'enable modularized config files',
|
||||||
|
symlinkVhost: 'Symlink vhost',
|
||||||
|
enableSymLinksFrom: 'enable symlinks from',
|
||||||
|
to: 'to',
|
||||||
|
shareConfiguration: 'Share configuration',
|
||||||
|
resetConfiguration: 'Reset configuration',
|
||||||
|
resetGlobalConfig: 'Reset global config',
|
||||||
|
resetAllDomains: 'Reset all domains',
|
||||||
|
removeAllDomains: 'Remove all domains',
|
||||||
|
resetDomainConfig: 'Reset domain config',
|
||||||
|
removeDomain: 'Remove domain',
|
||||||
|
yesImSure: 'Yes, I\'m sure',
|
||||||
|
noCancel: 'No, cancel',
|
||||||
|
tools: 'Tools',
|
||||||
|
};
|
|
@ -16,5 +16,6 @@ limitations under the License.
|
||||||
|
|
||||||
import app from './app';
|
import app from './app';
|
||||||
import domainSections from './domain_sections';
|
import domainSections from './domain_sections';
|
||||||
|
import globalSections from './global_sections';
|
||||||
|
|
||||||
export default { app, domainSections };
|
export default { app, domainSections, globalSections };
|
||||||
|
|
|
@ -18,13 +18,13 @@ limitations under the License.
|
||||||
<div>
|
<div>
|
||||||
<div v-if="!sslProfileEnabled" class="field is-horizontal is-aligned-top">
|
<div v-if="!sslProfileEnabled" class="field is-horizontal is-aligned-top">
|
||||||
<div class="field-label">
|
<div class="field-label">
|
||||||
<label class="label">SSL profile</label>
|
<label class="label">{{ i18n.templates.globalSections.https.sslProfile }}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="field-body">
|
<div class="field-body">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<label class="text">
|
<label class="text">
|
||||||
HTTPS must be enabled on at least one site to configure global HTTPS settings.
|
{{ i18n.templates.globalSections.https.httpsMustBeEnabledOnOneSite }}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -34,7 +34,7 @@ limitations under the License.
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<div class="field is-horizontal is-aligned-top">
|
<div class="field is-horizontal is-aligned-top">
|
||||||
<div class="field-label">
|
<div class="field-label">
|
||||||
<label class="label">SSL profile</label>
|
<label class="label">{{ i18n.templates.globalSections.https.sslProfile }}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="field-body">
|
<div class="field-body">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
|
@ -56,7 +56,7 @@ limitations under the License.
|
||||||
|
|
||||||
<div class="field is-horizontal is-aligned-top">
|
<div class="field is-horizontal is-aligned-top">
|
||||||
<div class="field-label">
|
<div class="field-label">
|
||||||
<label class="label">OCSP DNS Resolvers</label>
|
<label class="label">{{ i18n.templates.globalSections.https.ocspDnsResolvers }}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="field-body">
|
<div class="field-body">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
|
@ -64,7 +64,7 @@ limitations under the License.
|
||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<PrettyCheck v-model="ocspCloudflare" class="p-default p-curve p-fill p-icon">
|
<PrettyCheck v-model="ocspCloudflare" class="p-default p-curve p-fill p-icon">
|
||||||
<i slot="extra" class="icon fas fa-check"></i>
|
<i slot="extra" class="icon fas fa-check"></i>
|
||||||
Cloudflare Resolver
|
{{ i18n.templates.globalSections.https.cloudflareResolver }}
|
||||||
</PrettyCheck>
|
</PrettyCheck>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -72,7 +72,7 @@ limitations under the License.
|
||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<PrettyCheck v-model="ocspGoogle" class="p-default p-curve p-fill p-icon">
|
<PrettyCheck v-model="ocspGoogle" class="p-default p-curve p-fill p-icon">
|
||||||
<i slot="extra" class="icon fas fa-check"></i>
|
<i slot="extra" class="icon fas fa-check"></i>
|
||||||
Google Public DNS
|
{{ i18n.templates.globalSections.https.googlePublicDns }}
|
||||||
</PrettyCheck>
|
</PrettyCheck>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -80,7 +80,7 @@ limitations under the License.
|
||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<PrettyCheck v-model="ocspOpenDns" class="p-default p-curve p-fill p-icon">
|
<PrettyCheck v-model="ocspOpenDns" class="p-default p-curve p-fill p-icon">
|
||||||
<i slot="extra" class="icon fas fa-check"></i>
|
<i slot="extra" class="icon fas fa-check"></i>
|
||||||
OpenDNS
|
{{ i18n.templates.globalSections.https.openDns }}
|
||||||
</PrettyCheck>
|
</PrettyCheck>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -90,7 +90,7 @@ limitations under the License.
|
||||||
|
|
||||||
<div v-if="letsEncryptRootEnabled" class="field is-horizontal">
|
<div v-if="letsEncryptRootEnabled" class="field is-horizontal">
|
||||||
<div class="field-label">
|
<div class="field-label">
|
||||||
<label class="label">Let's Encrypt webroot</label>
|
<label class="label">{{ i18n.templates.globalSections.https.letsEncryptWebroot }}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="field-body">
|
<div class="field-body">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
|
@ -119,9 +119,9 @@ limitations under the License.
|
||||||
sslProfile: {
|
sslProfile: {
|
||||||
default: 'intermediate',
|
default: 'intermediate',
|
||||||
options: {
|
options: {
|
||||||
modern: 'Mozilla Modern',
|
modern: i18n.templates.globalSections.https.mozillaModern,
|
||||||
intermediate: 'Mozilla Intermediate',
|
intermediate: i18n.templates.globalSections.https.mozillaIntermediate,
|
||||||
old: 'Mozilla Old',
|
old: i18n.templates.globalSections.https.mozillaOld,
|
||||||
},
|
},
|
||||||
enabled: true,
|
enabled: true,
|
||||||
},
|
},
|
||||||
|
@ -145,7 +145,7 @@ limitations under the License.
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'GlobalHTTPS', // Component name
|
name: 'GlobalHTTPS', // Component name
|
||||||
display: 'HTTPS', // Display name for tab
|
display: i18n.templates.globalSections.https.https, // Display name for tab
|
||||||
key: 'https', // Key for data in parent
|
key: 'https', // Key for data in parent
|
||||||
delegated: delegatedFromDefaults(defaults), // Data the parent will present here
|
delegated: delegatedFromDefaults(defaults), // Data the parent will present here
|
||||||
components: {
|
components: {
|
||||||
|
|
|
@ -60,7 +60,7 @@ limitations under the License.
|
||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<PrettyCheck v-model="logNotFound" class="p-default p-curve p-fill p-icon">
|
<PrettyCheck v-model="logNotFound" class="p-default p-curve p-fill p-icon">
|
||||||
<i slot="extra" class="icon fas fa-check"></i>
|
<i slot="extra" class="icon fas fa-check"></i>
|
||||||
enable file not found error logging in error_log
|
{{ i18n.templates.globalSections.logging.enableFileNotFoundErrorLogging }} error_log
|
||||||
</PrettyCheck>
|
</PrettyCheck>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -93,7 +93,7 @@ limitations under the License.
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'GlobalLogging', // Component name
|
name: 'GlobalLogging', // Component name
|
||||||
display: 'Logging', // Display name for tab
|
display: i18n.templates.globalSections.logging.logging, // Display name for tab
|
||||||
key: 'logging', // Key for data in parent
|
key: 'logging', // Key for data in parent
|
||||||
delegated: delegatedFromDefaults(defaults), // Data the parent will present here
|
delegated: delegatedFromDefaults(defaults), // Data the parent will present here
|
||||||
components: {
|
components: {
|
||||||
|
|
|
@ -18,7 +18,7 @@ limitations under the License.
|
||||||
<div>
|
<div>
|
||||||
<div class="field is-horizontal">
|
<div class="field is-horizontal">
|
||||||
<div class="field-label">
|
<div class="field-label">
|
||||||
<label class="label">NGINX config directory</label>
|
<label class="label">{{ i18n.templates.globalSections.nginx.nginxConfigDirectory }}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="field-body">
|
<div class="field-body">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
|
@ -100,7 +100,7 @@ limitations under the License.
|
||||||
</div>
|
</div>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<a class="button is-static">
|
<a class="button is-static">
|
||||||
MB
|
{{ i18n.templates.globalSections.nginx.mb }}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -144,7 +144,7 @@ limitations under the License.
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'GlobalNGINX', // Component name
|
name: 'GlobalNGINX', // Component name
|
||||||
display: 'NGINX', // Display name for tab
|
display: i18n.templates.globalSections.nginx.nginx, // Display name for tab
|
||||||
key: 'nginx', // Key for data in parent
|
key: 'nginx', // Key for data in parent
|
||||||
delegated: delegatedFromDefaults(defaults), // Data the parent will present here
|
delegated: delegatedFromDefaults(defaults), // Data the parent will present here
|
||||||
components: {
|
components: {
|
||||||
|
|
|
@ -18,7 +18,7 @@ limitations under the License.
|
||||||
<div>
|
<div>
|
||||||
<div class="field is-horizontal">
|
<div class="field is-horizontal">
|
||||||
<div class="field-label">
|
<div class="field-label">
|
||||||
<label class="label">Gzip compression</label>
|
<label class="label">{{ i18n.templates.globalSections.performance.gzipCompression }}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="field-body">
|
<div class="field-body">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
|
@ -26,7 +26,7 @@ limitations under the License.
|
||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<PrettyCheck v-model="gzipCompression" class="p-default p-curve p-fill p-icon">
|
<PrettyCheck v-model="gzipCompression" class="p-default p-curve p-fill p-icon">
|
||||||
<i slot="extra" class="icon fas fa-check"></i>
|
<i slot="extra" class="icon fas fa-check"></i>
|
||||||
enable gzip compression
|
{{ i18n.templates.globalSections.performance.enableGzipCompression }}
|
||||||
</PrettyCheck>
|
</PrettyCheck>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -36,7 +36,7 @@ limitations under the License.
|
||||||
|
|
||||||
<div class="field is-horizontal">
|
<div class="field is-horizontal">
|
||||||
<div class="field-label">
|
<div class="field-label">
|
||||||
<label class="label">Brotli compression</label>
|
<label class="label">{{ i18n.templates.globalSections.performance.brotliCompression }}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="field-body">
|
<div class="field-body">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
|
@ -44,7 +44,7 @@ limitations under the License.
|
||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<PrettyCheck v-model="brotliCompression" class="p-default p-curve p-fill p-icon">
|
<PrettyCheck v-model="brotliCompression" class="p-default p-curve p-fill p-icon">
|
||||||
<i slot="extra" class="icon fas fa-check"></i>
|
<i slot="extra" class="icon fas fa-check"></i>
|
||||||
enable brotli compression
|
{{ i18n.templates.globalSections.performance.enableBrotliCompression }}
|
||||||
</PrettyCheck>
|
</PrettyCheck>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -54,7 +54,7 @@ limitations under the License.
|
||||||
|
|
||||||
<div class="field is-horizontal">
|
<div class="field is-horizontal">
|
||||||
<div class="field-label">
|
<div class="field-label">
|
||||||
<label class="label">Expiration for assets</label>
|
<label class="label">{{ i18n.templates.globalSections.performance.expirationForAssets }}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="field-body">
|
<div class="field-body">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
|
@ -71,7 +71,7 @@ limitations under the License.
|
||||||
|
|
||||||
<div class="field is-horizontal">
|
<div class="field is-horizontal">
|
||||||
<div class="field-label">
|
<div class="field-label">
|
||||||
<label class="label">Expiration for media</label>
|
<label class="label">{{ i18n.templates.globalSections.performance.expirationForMedia }}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="field-body">
|
<div class="field-body">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
|
@ -88,7 +88,7 @@ limitations under the License.
|
||||||
|
|
||||||
<div class="field is-horizontal">
|
<div class="field is-horizontal">
|
||||||
<div class="field-label">
|
<div class="field-label">
|
||||||
<label class="label">Expiration for SVGs</label>
|
<label class="label">{{ i18n.templates.globalSections.performance.expirationForSvgs }}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="field-body">
|
<div class="field-body">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
|
@ -105,7 +105,7 @@ limitations under the License.
|
||||||
|
|
||||||
<div class="field is-horizontal">
|
<div class="field is-horizontal">
|
||||||
<div class="field-label">
|
<div class="field-label">
|
||||||
<label class="label">Expiration for fonts</label>
|
<label class="label">{{ i18n.templates.globalSections.performance.expirationForFonts }}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="field-body">
|
<div class="field-body">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
|
@ -157,7 +157,7 @@ limitations under the License.
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'GlobalPerformance', // Component name
|
name: 'GlobalPerformance', // Component name
|
||||||
display: 'Performance', // Display name for tab
|
display: i18n.templates.globalSections.performance.performance, // Display name for tab
|
||||||
key: 'performance', // Key for data in parent
|
key: 'performance', // Key for data in parent
|
||||||
delegated: delegatedFromDefaults(defaults), // Data the parent will present here
|
delegated: delegatedFromDefaults(defaults), // Data the parent will present here
|
||||||
components: {
|
components: {
|
||||||
|
|
|
@ -18,13 +18,13 @@ limitations under the License.
|
||||||
<div>
|
<div>
|
||||||
<div v-if="!phpServerEnabled" class="field is-horizontal is-aligned-top">
|
<div v-if="!phpServerEnabled" class="field is-horizontal is-aligned-top">
|
||||||
<div class="field-label">
|
<div class="field-label">
|
||||||
<label class="label">PHP server</label>
|
<label class="label">{{ i18n.templates.globalSections.php.phpServer }}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="field-body">
|
<div class="field-body">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<label class="text">
|
<label class="text">
|
||||||
PHP must be enabled on at least one site to configure global PHP settings.
|
{{ i18n.templates.globalSections.php.phpMustBeEnabledOnOneSite }}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -34,7 +34,7 @@ limitations under the License.
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<div class="field is-horizontal">
|
<div class="field is-horizontal">
|
||||||
<div class="field-label">
|
<div class="field-label">
|
||||||
<label class="label">PHP server</label>
|
<label class="label">{{ i18n.templates.globalSections.php.phpServer }}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="field-body">
|
<div class="field-body">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
|
@ -51,7 +51,7 @@ limitations under the License.
|
||||||
|
|
||||||
<div class="field is-horizontal">
|
<div class="field is-horizontal">
|
||||||
<div class="field-label">
|
<div class="field-label">
|
||||||
<label class="label">PHP backup server</label>
|
<label class="label">{{ i18n.templates.globalSections.php.phpBackupServer }}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="field-body">
|
<div class="field-body">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
|
@ -76,14 +76,14 @@ limitations under the License.
|
||||||
import computedFromDefaults from '../../util/computed_from_defaults';
|
import computedFromDefaults from '../../util/computed_from_defaults';
|
||||||
|
|
||||||
const serverOptions = {
|
const serverOptions = {
|
||||||
'127.0.0.1:9000': 'TCP: 127.0.0.1:9000',
|
'127.0.0.1:9000': `${i18n.templates.globalSections.php.tcp}: 127.0.0.1:9000`,
|
||||||
'/var/run/hhvm/sock': 'HHVM socket: /var/run/hhvm/sock',
|
'/var/run/hhvm/sock': `${i18n.templates.globalSections.php.hhvmSocket}: /var/run/hhvm/sock`,
|
||||||
'/var/run/hhvm/hhvm.sock': 'HHVM socket: /var/run/hhvm/hhvm.sock',
|
'/var/run/hhvm/hhvm.sock': `${i18n.templates.globalSections.php.hhvmSocket}: /var/run/hhvm/hhvm.sock`,
|
||||||
'/var/run/php5-fpm.sock': '5.x socket: /var/run/php5-fpm.sock',
|
'/var/run/php5-fpm.sock': `${i18n.templates.globalSections.php.php5Socket}: /var/run/php5-fpm.sock`,
|
||||||
'/var/run/php/php7.0-fpm.sock': '7.0 socket: /var/run/php/php7.0-fpm.sock',
|
'/var/run/php/php7.1-fpm.sock': `${i18n.templates.globalSections.php.php71Socket}: /var/run/php/php7.1-fpm.sock`,
|
||||||
'/var/run/php/php7.1-fpm.sock': '7.1 socket: /var/run/php/php7.1-fpm.sock',
|
'/var/run/php/php7.2-fpm.sock': `${i18n.templates.globalSections.php.php72Socket}: /var/run/php/php7.2-fpm.sock`,
|
||||||
'/var/run/php/php7.2-fpm.sock': '7.2 socket: /var/run/php/php7.2-fpm.sock',
|
'/var/run/php/php7.0-fpm.sock': `${i18n.templates.globalSections.php.php70Socket}: /var/run/php/php7.0-fpm.sock`,
|
||||||
'/var/run/php/php7.3-fpm.sock': '7.3 socket: /var/run/php/php7.3-fpm.sock',
|
'/var/run/php/php7.3-fpm.sock': `${i18n.templates.globalSections.php.php73Socket}: /var/run/php/php7.3-fpm.sock`,
|
||||||
};
|
};
|
||||||
|
|
||||||
const defaults = {
|
const defaults = {
|
||||||
|
@ -94,14 +94,14 @@ limitations under the License.
|
||||||
},
|
},
|
||||||
phpBackupServer: {
|
phpBackupServer: {
|
||||||
default: '',
|
default: '',
|
||||||
options: { '': 'Disabled', ...serverOptions },
|
options: { '': i18n.templates.globalSections.php.disabled, ...serverOptions },
|
||||||
enabled: true,
|
enabled: true,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'GlobalPHP', // Component name
|
name: 'GlobalPHP', // Component name
|
||||||
display: 'PHP', // Display name for tab
|
display: i18n.templates.globalSections.php.php, // Display name for tab
|
||||||
key: 'php', // Key for data in parent
|
key: 'php', // Key for data in parent
|
||||||
delegated: delegatedFromDefaults(defaults), // Data the parent will present here
|
delegated: delegatedFromDefaults(defaults), // Data the parent will present here
|
||||||
components: {
|
components: {
|
||||||
|
|
|
@ -18,13 +18,13 @@ limitations under the License.
|
||||||
<div>
|
<div>
|
||||||
<div v-if="!pythonServerEnabled" class="field is-horizontal is-aligned-top">
|
<div v-if="!pythonServerEnabled" class="field is-horizontal is-aligned-top">
|
||||||
<div class="field-label">
|
<div class="field-label">
|
||||||
<label class="label">Python server</label>
|
<label class="label">{{ i18n.templates.globalSections.python.pythonServer }}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="field-body">
|
<div class="field-body">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<label class="text">
|
<label class="text">
|
||||||
Python must be enabled on at least one site to configure global Python settings.
|
{{ i18n.templates.globalSections.python.pythonMustBeEnabledOnOneSite }}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -33,7 +33,7 @@ limitations under the License.
|
||||||
|
|
||||||
<div v-else class="field is-horizontal">
|
<div v-else class="field is-horizontal">
|
||||||
<div class="field-label">
|
<div class="field-label">
|
||||||
<label class="label">Python server</label>
|
<label class="label">{{ i18n.templates.globalSections.python.pythonServer }}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="field-body">
|
<div class="field-body">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
|
@ -64,7 +64,7 @@ limitations under the License.
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'GlobalPython', // Component name
|
name: 'GlobalPython', // Component name
|
||||||
display: 'Python', // Display name for tab
|
display: i18n.templates.globalSections.python.python, // Display name for tab
|
||||||
key: 'python', // Key for data in parent
|
key: 'python', // Key for data in parent
|
||||||
delegated: delegatedFromDefaults(defaults), // Data the parent will present here
|
delegated: delegatedFromDefaults(defaults), // Data the parent will present here
|
||||||
props: {
|
props: {
|
||||||
|
|
|
@ -59,7 +59,7 @@ limitations under the License.
|
||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<PrettyCheck v-model="serverTokens" class="p-default p-curve p-fill p-icon">
|
<PrettyCheck v-model="serverTokens" class="p-default p-curve p-fill p-icon">
|
||||||
<i slot="extra" class="icon fas fa-check"></i>
|
<i slot="extra" class="icon fas fa-check"></i>
|
||||||
enable
|
{{ i18n.templates.globalSections.security.enable }}
|
||||||
</PrettyCheck>
|
</PrettyCheck>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -77,7 +77,7 @@ limitations under the License.
|
||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<PrettyCheck v-model="limitReq" class="p-default p-curve p-fill p-icon">
|
<PrettyCheck v-model="limitReq" class="p-default p-curve p-fill p-icon">
|
||||||
<i slot="extra" class="icon fas fa-check"></i>
|
<i slot="extra" class="icon fas fa-check"></i>
|
||||||
enable
|
{{ i18n.templates.globalSections.security.enable }}
|
||||||
</PrettyCheck>
|
</PrettyCheck>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -125,7 +125,7 @@ limitations under the License.
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'GlobalSecurity', // Component name
|
name: 'GlobalSecurity', // Component name
|
||||||
display: 'Security', // Display name for tab
|
display: i18n.templates.globalSections.security.security, // Display name for tab
|
||||||
key: 'security', // Key for data in parent
|
key: 'security', // Key for data in parent
|
||||||
delegated: delegatedFromDefaults(defaults), // Data the parent will present here
|
delegated: delegatedFromDefaults(defaults), // Data the parent will present here
|
||||||
components: {
|
components: {
|
||||||
|
|
|
@ -18,7 +18,7 @@ limitations under the License.
|
||||||
<div>
|
<div>
|
||||||
<div class="field is-horizontal">
|
<div class="field is-horizontal">
|
||||||
<div class="field-label">
|
<div class="field-label">
|
||||||
<label class="label">Modularized structure</label>
|
<label class="label">{{ i18n.templates.globalSections.tools.modularizedStructure }}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="field-body">
|
<div class="field-body">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
|
@ -26,7 +26,7 @@ limitations under the License.
|
||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<PrettyCheck v-model="modularizedStructure" class="p-default p-curve p-fill p-icon">
|
<PrettyCheck v-model="modularizedStructure" class="p-default p-curve p-fill p-icon">
|
||||||
<i slot="extra" class="icon fas fa-check"></i>
|
<i slot="extra" class="icon fas fa-check"></i>
|
||||||
enable modularized config files
|
{{ i18n.templates.globalSections.tools.enableModularizedConfigFiles }}
|
||||||
</PrettyCheck>
|
</PrettyCheck>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -36,7 +36,7 @@ limitations under the License.
|
||||||
|
|
||||||
<div v-if="symlinkVhostEnabled" class="field is-horizontal">
|
<div v-if="symlinkVhostEnabled" class="field is-horizontal">
|
||||||
<div class="field-label">
|
<div class="field-label">
|
||||||
<label class="label">Symlink vhost</label>
|
<label class="label"></label>
|
||||||
</div>
|
</div>
|
||||||
<div class="field-body">
|
<div class="field-body">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
|
@ -44,7 +44,8 @@ limitations under the License.
|
||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<PrettyCheck v-model="symlinkVhost" class="p-default p-curve p-fill p-icon">
|
<PrettyCheck v-model="symlinkVhost" class="p-default p-curve p-fill p-icon">
|
||||||
<i slot="extra" class="icon fas fa-check"></i>
|
<i slot="extra" class="icon fas fa-check"></i>
|
||||||
enable symlinks from sites-available/ to sites-enabled/
|
{{ i18n.templates.globalSections.tools.enableSymLinksFrom }} sites-available/
|
||||||
|
{{ i18n.templates.globalSections.tools.to }} sites-enabled/
|
||||||
</PrettyCheck>
|
</PrettyCheck>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -54,7 +55,7 @@ limitations under the License.
|
||||||
|
|
||||||
<div class="field is-horizontal">
|
<div class="field is-horizontal">
|
||||||
<div class="field-label">
|
<div class="field-label">
|
||||||
<label class="label">Share configuration</label>
|
<label class="label">{{ i18n.templates.globalSections.tools.shareConfiguration }}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="field-body">
|
<div class="field-body">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
|
@ -72,23 +73,23 @@ limitations under the License.
|
||||||
|
|
||||||
<div class="field is-horizontal">
|
<div class="field is-horizontal">
|
||||||
<div class="field-label">
|
<div class="field-label">
|
||||||
<label class="label">Reset configuration</label>
|
<label class="label">{{ i18n.templates.globalSections.tools.resetConfiguration }}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="field-body">
|
<div class="field-body">
|
||||||
<div class="field is-grouped">
|
<div class="field is-grouped">
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<a class="button is-danger is-outline is-mini" @click="resetGlobal">
|
<a class="button is-danger is-outline is-mini" @click="resetGlobal">
|
||||||
Reset global config
|
{{ i18n.templates.globalSections.tools.resetGlobalConfig }}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="hasDomain" class="control">
|
<div v-if="hasDomain" class="control">
|
||||||
<a class="button is-danger is-outline is-mini" @click="resetDomains">
|
<a class="button is-danger is-outline is-mini" @click="resetDomains">
|
||||||
Reset all domains
|
{{ i18n.templates.globalSections.tools.resetAllDomains }}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="hasDomain" class="control">
|
<div v-if="hasDomain" class="control">
|
||||||
<a class="button is-danger is-outline is-mini" @click="removeDomains">
|
<a class="button is-danger is-outline is-mini" @click="removeDomains">
|
||||||
Remove all domains
|
{{ i18n.templates.globalSections.tools.removeAllDomains }}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -107,12 +108,12 @@ limitations under the License.
|
||||||
<div class="field is-grouped">
|
<div class="field is-grouped">
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<a class="button is-danger is-outline is-mini" @click="resetDomain(domainData[1])">
|
<a class="button is-danger is-outline is-mini" @click="resetDomain(domainData[1])">
|
||||||
Reset domain config
|
{{ i18n.templates.globalSections.tools.resetDomainConfig }}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<a class="button is-danger is-outline is-mini" @click="removeDomain(domainData[1])">
|
<a class="button is-danger is-outline is-mini" @click="removeDomain(domainData[1])">
|
||||||
Remove domain
|
{{ i18n.templates.globalSections.tools.removeDomain }}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -123,8 +124,12 @@ limitations under the License.
|
||||||
|
|
||||||
<Modal ref="confirmModal" :title="confirmTitle">
|
<Modal ref="confirmModal" :title="confirmTitle">
|
||||||
<p>{{ confirmBody }}</p>
|
<p>{{ confirmBody }}</p>
|
||||||
<a class="button is-danger is-outline" @click="doConfirmAction">Yes, I'm sure</a>
|
<a class="button is-danger is-outline" @click="doConfirmAction">
|
||||||
<a class="button is-outline" @click="$refs.confirmModal.close()">No, cancel</a>
|
{{ i18n.templates.globalSections.tools.yesImSure }}
|
||||||
|
</a>
|
||||||
|
<a class="button is-outline" @click="$refs.confirmModal.close()">
|
||||||
|
{{ i18n.templates.globalSections.tools.noCancel }}
|
||||||
|
</a>
|
||||||
</Modal>
|
</Modal>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -151,7 +156,7 @@ limitations under the License.
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'GlobalTools', // Component name
|
name: 'GlobalTools', // Component name
|
||||||
display: 'Tools', // Display name for tab
|
display: i18n.templates.globalSections.tools.tools, // Display name for tab
|
||||||
key: 'tools', // Key for data in parent
|
key: 'tools', // Key for data in parent
|
||||||
delegated: delegatedFromDefaults(defaults), // Data the parent will present here
|
delegated: delegatedFromDefaults(defaults), // Data the parent will present here
|
||||||
components: {
|
components: {
|
||||||
|
@ -166,8 +171,7 @@ limitations under the License.
|
||||||
i18n,
|
i18n,
|
||||||
confirmTitle: '',
|
confirmTitle: '',
|
||||||
confirmBody: '',
|
confirmBody: '',
|
||||||
confirmAction: () => {
|
confirmAction: () => {},
|
||||||
},
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
|
Loading…
Reference in New Issue