Translation updates
This commit is contained in:
@@ -352,8 +352,8 @@ onMounted(async () => {
|
||||
</Dialog>
|
||||
|
||||
<Dialog ref="restoreDialog"
|
||||
:title="$t('app.restoreDialog.title', { app: app.fqdn })"
|
||||
:reject-label="$t('main.dialog.close')"
|
||||
:title="$t('app.restoreDialog.title')"
|
||||
:reject-label="$t('main.dialog.cancel')"
|
||||
reject-style="secondary"
|
||||
:confirm-label="$t('app.restoreDialog.restoreAction')"
|
||||
:confirm-active="true"
|
||||
@@ -361,16 +361,15 @@ onMounted(async () => {
|
||||
@confirm="onRestoreSubmit()"
|
||||
>
|
||||
<div>
|
||||
<p>{{ $t('app.restoreDialog.description', { creationTime: prettyLongDate(restoreBackup.creationTime) }) }}</p>
|
||||
<p class="text-danger">{{ $t('app.restoreDialog.warning') }}</p>
|
||||
<br/>
|
||||
<p>{{ $t('app.restoreDialog.description', { fqdn: app.fqdn, creationTime: prettyLongDate(restoreBackup.creationTime) }) }}</p>
|
||||
</div>
|
||||
</Dialog>
|
||||
|
||||
<SettingsItem>
|
||||
<FormGroup>
|
||||
<label>{{ $t('app.backups.auto.title') }}</label>
|
||||
<div v-html="$t('app.backups.auto.description', { backupLink: '/#/backups' })"></div>
|
||||
<div v-html="$t('app.backups.auto.description')"></div>
|
||||
</FormGroup>
|
||||
<Switch v-model="autoBackupsEnabled" @change="onChangeAutoBackups"/>
|
||||
</SettingsItem>
|
||||
|
||||
@@ -229,7 +229,6 @@ onMounted(async () => {
|
||||
<FormGroup v-if="app.manifest.multiDomain">
|
||||
<label>{{ $t('app.location.aliases') }} <sup><a href="https://docs.cloudron.io/apps/#aliases" class="help" target="_blank"><i class="fa fa-question-circle"></i></a></sup></label>
|
||||
|
||||
<div v-if="aliases.length === 0" style="margin-bottom: 10px;">{{ $t('app.location.noAliases') }}</div>
|
||||
<div v-for="(item, index) in aliases" :key="item" style="margin-bottom: 10px">
|
||||
<div style="display: flex; gap: 10px;">
|
||||
<InputGroup style="flex-grow: 1">
|
||||
@@ -241,12 +240,14 @@ onMounted(async () => {
|
||||
<div class="warning-label" v-if="isNoopOrManual(item.domain)" v-html="$t('appstore.installDialog.manualWarning', { location: ((item.subdomain ? item.subdomain + '.' : '') + item.domain) })"></div>
|
||||
</div>
|
||||
|
||||
<div class="actionable" v-if="!busy" @click="onAddAlias()">{{ $t('app.location.addAliasAction') }}</div>
|
||||
<div>
|
||||
<span v-if="aliases.length === 0">{{ $t('app.location.noAliases') }}. </span>
|
||||
<span class="actionable" v-if="!busy" @click="onAddAlias()">{{ $t('app.location.addAliasAction') }}</span>
|
||||
</div>
|
||||
</FormGroup>
|
||||
|
||||
<FormGroup>
|
||||
<label>{{ $t('app.location.redirections') }} <sup><a href="https://docs.cloudron.io/apps/#redirections" class="help" target="_blank"><i class="fa fa-question-circle"></i></a></sup></label>
|
||||
<div v-if="redirects.length === 0" style="margin-bottom: 10px;">{{ $t('app.location.noRedirections') }}</div>
|
||||
<div v-for="(item, index) in redirects" :key="item" style="margin-bottom: 10px;">
|
||||
<div style="display: flex; gap: 10px;">
|
||||
<InputGroup style="flex-grow: 1">
|
||||
@@ -258,7 +259,10 @@ onMounted(async () => {
|
||||
<div class="warning-label" v-if="isNoopOrManual(item.domain)" v-html="$t('appstore.installDialog.manualWarning', { location: ((item.subdomain ? item.subdomain + '.' : '') + item.domain) })"></div>
|
||||
</div>
|
||||
|
||||
<div class="actionable" v-if="!busy" @click="onAddRedirect()">{{ $t('app.location.addRedirectionAction') }}</div>
|
||||
<div>
|
||||
<span v-if="redirects.length === 0">{{ $t('app.location.noRedirections') }}. </span>
|
||||
<span class="actionable" v-if="!busy" @click="onAddRedirect()">{{ $t('app.location.addRedirectionAction') }}</span>
|
||||
</div>
|
||||
</FormGroup>
|
||||
|
||||
</fieldset>
|
||||
|
||||
@@ -115,7 +115,7 @@ onMounted(async () => {
|
||||
<div>
|
||||
<FormGroup>
|
||||
<label for="memoryLimitInput">{{ $t('app.resources.memory.title') }} <sup><a href="https://docs.cloudron.io/apps/#memory-limit" class="help" target="_blank"><i class="fa fa-question-circle"></i></a></sup> : <b>{{ prettyBinarySize(memoryLimit, 'Default (256 MiB)') }}</b></label>
|
||||
<p>{{ $t('app.resources.memory.description') }}</p>
|
||||
<div description>{{ $t('app.resources.memory.description') }}</div>
|
||||
<input type="range" id="memoryLimitInput" v-model="memoryLimit" step="134217728" :min="memoryTicks[0]" :max="memoryTicks[memoryTicks.length-1]" list="memoryLimitTicks" />
|
||||
<datalist id="memoryLimitTicks">
|
||||
<option v-for="value of memoryTicks" :key="value" :value="value"></option>
|
||||
@@ -128,7 +128,7 @@ onMounted(async () => {
|
||||
|
||||
<FormGroup>
|
||||
<label for="cpuQuotaInput">{{ $t('app.resources.cpu.title') }} <sup><a href="https://docs.cloudron.io/apps/#cpu-limit" class="help" target="_blank"><i class="fa fa-question-circle"></i></a></sup> : <b>{{ cpuQuota + ' %' }}</b></label>
|
||||
<p>{{ $t('app.resources.cpu.description') }}</p>
|
||||
<div description>{{ $t('app.resources.cpu.description') }}</div>
|
||||
<input type="range" id="cpuQuotaInput" v-model="cpuQuota" step="1" min="1" max="100" list="cpuQuotaTicks" />
|
||||
<datalist id="cpuQuotaTicks">
|
||||
<option value="25"></option>
|
||||
@@ -146,6 +146,7 @@ onMounted(async () => {
|
||||
<input style="display: none;" type="submit"/>
|
||||
<FormGroup>
|
||||
<label for="devicesInput">{{ $t('app.resources.devices.label') }} <sup><a href="https://docs.cloudron.io/apps/#devices" class="help" target="_blank"><i class="fa fa-question-circle"></i></a></sup></label>
|
||||
<div description>{{ $t('app.resources.devices.description') }}</div>
|
||||
<TagInput id="devicesInput" v-model="devices" placeholder="/dev/ttyUSB0, /dev/hidraw0, ..."/>
|
||||
<div class="text-danger" v-if="devicesError">{{ devicesError }}</div>
|
||||
</FormGroup>
|
||||
|
||||
@@ -51,7 +51,8 @@ onMounted(() => {
|
||||
<span>{{ $t('app.security.robots.title') }} <sup><a href="https://docs.cloudron.io/apps/#robotstxt" class="help" target="_blank"><i class="fa fa-question-circle"></i></a></sup></span>
|
||||
<Button small outline @click="onAddDisableIndexing()">{{ $t('app.security.robots.disableIndexingAction') }}</Button>
|
||||
</label>
|
||||
<textarea id="robotsTxtInput" style="white-space: pre-wrap; font-family: monospace;" v-model="robotsTxt" rows="10" :placeholder="$t('app.security.robots.txtPlaceholder')"></textarea>
|
||||
<div description>{{ $t('app.security.robots.description') }}</div>
|
||||
<textarea id="robotsTxtInput" style="white-space: pre-wrap; font-family: monospace;" v-model="robotsTxt" rows="10"></textarea>
|
||||
</FormGroup>
|
||||
|
||||
<FormGroup>
|
||||
@@ -60,9 +61,9 @@ onMounted(() => {
|
||||
<textarea id="cspInput" style="white-space: pre-wrap; font-family: monospace;" v-model="csp" placeholder="default-src 'self'; frame-ancestors 'none';" rows="2"></textarea>
|
||||
</FormGroup>
|
||||
|
||||
<div>
|
||||
<FormGroup>
|
||||
<Checkbox v-model="hstsPreload" style="display: inline-flex;" :label="$t('app.security.hstsPreload')" help-url="https://docs.cloudron.io/apps/#hsts-preload"/>
|
||||
</div>
|
||||
</FormGroup>
|
||||
|
||||
<br/>
|
||||
<Button @click="onSubmit()" :loading="busy" :disabled="busy">{{ $t('app.security.csp.saveAction') }}</Button>
|
||||
|
||||
@@ -192,8 +192,7 @@ onMounted(async () => {
|
||||
<FormGroup>
|
||||
<label>{{ $t('app.storage.mounts.title') }} <sup><a href="https://docs.cloudron.io/apps/#mounts" class="help" target="_blank"><i class="fa fa-question-circle"></i></a></sup></label>
|
||||
<div class="has-error" v-if="mountsError">{{ mountsError }}</div>
|
||||
<div v-html="$t('storage.mounts.description')"></div>
|
||||
<br/>
|
||||
<div description v-html="$t('storage.mounts.description')"></div>
|
||||
|
||||
<table class="table table-hover" style="margin-top: 10px;" v-if="mounts.length">
|
||||
<thead>
|
||||
@@ -213,14 +212,14 @@ onMounted(async () => {
|
||||
</td>
|
||||
<td style="vertical-align: middle; text-align: right;">
|
||||
<Button tool small secondary v-show="mount.volumeId" :href="`/filemanager.html#/home/volume/${mount.volumeId}`" target="_blank" v-tooltip="$t('volumes.openFileManagerActionTooltip')" icon="fa-solid fa-folder"/>
|
||||
<Button tool small danger @click="onMountRemove(index)" icon="fa-solid fa-trash-alt" style="margin-left: 6px"/>
|
||||
<Button danger tool @click="onMountRemove(index)" icon="fa-solid fa-trash" style="margin-left: 6px"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div style="margin-top: 10px;">
|
||||
<span v-if="mounts.length === 0">{{ $t('app.storage.mounts.noMounts') }} </span>
|
||||
<span v-if="mounts.length === 0">{{ $t('app.storage.mounts.noMounts') }}. </span>
|
||||
<span class="actionable" @click="onMountAdd()">{{ $t('app.storage.mounts.addMountAction') }}</span>
|
||||
</div>
|
||||
</FormGroup>
|
||||
|
||||
@@ -119,7 +119,7 @@ onMounted(async () => {
|
||||
<div>
|
||||
<label>{{ $t('app.updates.auto.title') }}</label>
|
||||
<div v-if="!app.appStoreId">{{ $t('app.updates.info.customAppUpdateInfo') }}</div>
|
||||
<div v-else>{{ $t('app.updates.auto.description') }}</div>
|
||||
<div v-else v-html="$t('app.updates.auto.description')"></div>
|
||||
</div>
|
||||
<Switch v-if="app.appStoreId" v-model="autoUpdatesEnabled" :disabled="autoUpdatesEnabledBusy" @change="onAutoUpdatesEnabledChange"/>
|
||||
</SettingsItem>
|
||||
|
||||
Reference in New Issue
Block a user