From 3c418ee48844ebe5c4237e0366ebde0e83fef341 Mon Sep 17 00:00:00 2001 From: RehanY147 Date: Thu, 10 Oct 2024 10:53:07 +0500 Subject: [PATCH 1/4] NAS-131266 / 25.04 / Cancel button takes back to apps page (#10802) --- .../container-logs.component.spec.ts | 139 +++++++++++------- .../container-logs.component.ts | 7 + .../logs-details-dialog.component.html | 2 +- 3 files changed, 92 insertions(+), 56 deletions(-) diff --git a/src/app/pages/apps/components/installed-apps/container-logs/container-logs.component.spec.ts b/src/app/pages/apps/components/installed-apps/container-logs/container-logs.component.spec.ts index 42639e13a93..7d8661e5960 100644 --- a/src/app/pages/apps/components/installed-apps/container-logs/container-logs.component.spec.ts +++ b/src/app/pages/apps/components/installed-apps/container-logs/container-logs.component.spec.ts @@ -1,6 +1,10 @@ +import { Location } from '@angular/common'; +import { fakeAsync } from '@angular/core/testing'; import { MatDialog, MatDialogRef } from '@angular/material/dialog'; import { ActivatedRoute } from '@angular/router'; -import { Spectator, createComponentFactory, mockProvider } from '@ngneat/spectator/jest'; +import { + Spectator, SpectatorFactory, createComponentFactory, mockProvider, +} from '@ngneat/spectator/jest'; import { MockComponent } from 'ng-mocks'; import { of } from 'rxjs'; import { mockAuth } from 'app/core/testing/utils/mock-auth.utils'; @@ -13,65 +17,90 @@ import { WebSocketService } from 'app/services/ws.service'; describe('ContainerLogsComponent', () => { let spectator: Spectator; - const createComponent = createComponentFactory({ - component: ContainerLogsComponent, - imports: [ - MockComponent(PageHeaderComponent), - ], - declarations: [ - MockComponent(ToolbarSliderComponent), - ], - providers: [ - mockProvider(MatDialog, { - open: jest.fn(() => ({ - afterClosed: () => of({ - tail_lines: 650, - } as LogsDetailsDialogComponent['form']['value']), - }) as unknown as MatDialogRef), - }), - mockProvider(WebSocketService, { - subscribeToLogs: jest.fn(() => of({ - fields: { - timestamp: '[12:34]', - data: 'Some logs.', - }, - })), - }), - mockAuth(), - { - provide: ActivatedRoute, - useValue: { - parent: { - params: of({ appId: 'ix-test-app' }), - }, - params: of({ containerId: 'ix-test-container' }), - }, - }, - ], - }); + describe('When dialog is set a value', () => { + const createComponent = createComponentFactoryWithDialogResponse(false); - beforeEach(() => { - spectator = createComponent(); - }); + beforeEach(() => { + spectator = createComponent(); + }); - it('subscribes to logs updates', () => { - expect(spectator.inject(MatDialog).open).toHaveBeenCalledWith(LogsDetailsDialogComponent, { width: '400px' }); + it('subscribes to logs updates', () => { + expect(spectator.inject(MatDialog).open).toHaveBeenCalledWith(LogsDetailsDialogComponent, { width: '400px' }); - expect(spectator.inject(WebSocketService).subscribeToLogs).toHaveBeenCalledWith( - 'app.container_log_follow: {"app_name":"ix-test-app","container_id":"ix-test-container","tail_lines":650}', - ); - }); + expect(spectator.inject(WebSocketService).subscribeToLogs).toHaveBeenCalledWith( + 'app.container_log_follow: {"app_name":"ix-test-app","container_id":"ix-test-container","tail_lines":650}', + ); + }); + + it('shows meta data', () => { + expect(spectator.queryAll('.meta-data .name').map((name) => name.textContent.trim())).toEqual([ + 'ix-test-app', + 'ix-test-container', + ]); + }); - it('shows meta data', () => { - expect(spectator.queryAll('.meta-data .name').map((name) => name.textContent.trim())).toEqual([ - 'ix-test-app', - 'ix-test-container', - ]); + it('shows logs', () => { + expect(spectator.queryAll('.log-row').map((name) => name.textContent.trim())).toEqual([ + '[12:34]Some logs.', + ]); + }); }); - it('shows logs', () => { - expect(spectator.queryAll('.log-row').map((name) => name.textContent.trim())).toEqual([ - '[12:34]Some logs.', - ]); + describe('When cancel is clicked', () => { + const createComponent = createComponentFactoryWithDialogResponse(true); + + beforeEach(() => { + spectator = createComponent(); + }); + + it('cancelling the dialog should call back method', fakeAsync(() => { + expect(spectator.inject(Location).back).toHaveBeenCalled(); + })); }); + + function createComponentFactoryWithDialogResponse(cancel = false): SpectatorFactory { + return createComponentFactory({ + component: ContainerLogsComponent, + imports: [ + MockComponent(PageHeaderComponent), + ], + declarations: [ + MockComponent(ToolbarSliderComponent), + ], + providers: [ + mockProvider(Location), + mockProvider(MatDialog, { + open: jest.fn(() => ({ + afterClosed: jest.fn(() => { + if (cancel) { + return of(false); + } + + return of({ + tail_lines: 650, + } as LogsDetailsDialogComponent['form']['value']); + }), + }) as unknown as MatDialogRef), + }), + mockProvider(WebSocketService, { + subscribeToLogs: jest.fn(() => of({ + fields: { + timestamp: '[12:34]', + data: 'Some logs.', + }, + })), + }), + mockAuth(), + { + provide: ActivatedRoute, + useValue: { + parent: { + params: of({ appId: 'ix-test-app' }), + }, + params: of({ containerId: 'ix-test-container' }), + }, + }, + ], + }); + } }); diff --git a/src/app/pages/apps/components/installed-apps/container-logs/container-logs.component.ts b/src/app/pages/apps/components/installed-apps/container-logs/container-logs.component.ts index 37c379effae..09f5d153cbe 100644 --- a/src/app/pages/apps/components/installed-apps/container-logs/container-logs.component.ts +++ b/src/app/pages/apps/components/installed-apps/container-logs/container-logs.component.ts @@ -1,3 +1,4 @@ +import { Location } from '@angular/common'; import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, OnInit, ViewChild, } from '@angular/core'; @@ -52,6 +53,7 @@ export class ContainerLogsComponent implements OnInit { protected download: DownloadService, private errorHandler: ErrorHandlerService, private matDialog: MatDialog, + private location: Location, private cdr: ChangeDetectorRef, ) {} @@ -73,6 +75,11 @@ export class ContainerLogsComponent implements OnInit { } this.logsChangedListener = this.matDialog.open(LogsDetailsDialogComponent, { width: '400px' }).afterClosed().pipe( + tap((value: LogsDetailsDialogComponent['form']['value'] | boolean) => { + if (typeof value === 'boolean' && !value) { + this.location.back(); + } + }), tap((details: LogsDetailsDialogComponent['form']['value']) => { this.subscriptionMethod = `app.container_log_follow: ${JSON.stringify({ app_name: this.appName, diff --git a/src/app/pages/apps/components/logs-details-dialog/logs-details-dialog.component.html b/src/app/pages/apps/components/logs-details-dialog/logs-details-dialog.component.html index 2d60087bfdb..58b13713785 100644 --- a/src/app/pages/apps/components/logs-details-dialog/logs-details-dialog.component.html +++ b/src/app/pages/apps/components/logs-details-dialog/logs-details-dialog.component.html @@ -12,8 +12,8 @@

{{ 'Logs Details' | translate }}

From 3fa20d0b36dc8315a71525ef8234bcbada790c9c Mon Sep 17 00:00:00 2001 From: Evgeny Stepanovych Date: Thu, 10 Oct 2024 11:23:20 +0200 Subject: [PATCH 2/4] NAS-131617 / 25.04 / More docker settings (#10835) --- src/app/enums/docker-config.interface.ts | 11 +- src/app/helptext/apps/apps.ts | 4 + .../api/api-call-directory.interface.ts | 8 +- src/app/interfaces/catalog.interface.ts | 4 +- .../interfaces/container-config.interface.ts | 4 - src/app/pages/apps/apps.module.ts | 12 ++- .../apps-settings.component.html | 84 +++++++++++++++ .../apps-settings.component.scss | 33 ++++++ ...pec.ts => apps-settings.component.spec.ts} | 100 ++++++++++++++++-- ...omponent.ts => apps-settings.component.ts} | 81 ++++++++++---- .../catalog-settings.component.html | 44 -------- .../catalog-settings.component.scss | 19 ---- .../app-settings-button.component.ts | 4 +- src/app/pages/apps/store/docker.store.spec.ts | 75 +++++++++++++ src/app/pages/apps/store/docker.store.ts | 37 +++++-- src/assets/i18n/af.json | 5 + src/assets/i18n/ar.json | 5 + src/assets/i18n/ast.json | 5 + src/assets/i18n/az.json | 5 + src/assets/i18n/be.json | 5 + src/assets/i18n/bg.json | 5 + src/assets/i18n/bn.json | 5 + src/assets/i18n/br.json | 5 + src/assets/i18n/bs.json | 5 + src/assets/i18n/ca.json | 5 + src/assets/i18n/cs.json | 5 + src/assets/i18n/cy.json | 5 + src/assets/i18n/da.json | 5 + src/assets/i18n/de.json | 5 + src/assets/i18n/dsb.json | 5 + src/assets/i18n/el.json | 5 + src/assets/i18n/en-au.json | 5 + src/assets/i18n/en-gb.json | 5 + src/assets/i18n/en.json | 5 + src/assets/i18n/eo.json | 5 + src/assets/i18n/es-ar.json | 5 + src/assets/i18n/es-co.json | 5 + src/assets/i18n/es-mx.json | 5 + src/assets/i18n/es-ni.json | 5 + src/assets/i18n/es-ve.json | 5 + src/assets/i18n/es.json | 5 + src/assets/i18n/et.json | 5 + src/assets/i18n/eu.json | 5 + src/assets/i18n/fa.json | 5 + src/assets/i18n/fi.json | 5 + src/assets/i18n/fr.json | 5 + src/assets/i18n/fy.json | 5 + src/assets/i18n/ga.json | 5 + src/assets/i18n/gd.json | 5 + src/assets/i18n/gl.json | 5 + src/assets/i18n/he.json | 5 + src/assets/i18n/hi.json | 5 + src/assets/i18n/hr.json | 5 + src/assets/i18n/hsb.json | 5 + src/assets/i18n/hu.json | 5 + src/assets/i18n/ia.json | 5 + src/assets/i18n/id.json | 5 + src/assets/i18n/io.json | 5 + src/assets/i18n/is.json | 5 + src/assets/i18n/it.json | 5 + src/assets/i18n/ja.json | 5 + src/assets/i18n/ka.json | 5 + src/assets/i18n/kk.json | 5 + src/assets/i18n/km.json | 5 + src/assets/i18n/kn.json | 5 + src/assets/i18n/ko.json | 5 + src/assets/i18n/lb.json | 5 + src/assets/i18n/lt.json | 5 + src/assets/i18n/lv.json | 5 + src/assets/i18n/mk.json | 5 + src/assets/i18n/ml.json | 5 + src/assets/i18n/mn.json | 5 + src/assets/i18n/mr.json | 5 + src/assets/i18n/my.json | 5 + src/assets/i18n/nb.json | 5 + src/assets/i18n/ne.json | 5 + src/assets/i18n/nl.json | 5 + src/assets/i18n/nn.json | 5 + src/assets/i18n/os.json | 5 + src/assets/i18n/pa.json | 5 + src/assets/i18n/pl.json | 5 + src/assets/i18n/pt-br.json | 5 + src/assets/i18n/pt.json | 5 + src/assets/i18n/ro.json | 5 + src/assets/i18n/ru.json | 5 + src/assets/i18n/sk.json | 5 + src/assets/i18n/sl.json | 5 + src/assets/i18n/sq.json | 5 + src/assets/i18n/sr-latn.json | 5 + src/assets/i18n/sr.json | 5 + src/assets/i18n/strings.json | 5 + src/assets/i18n/sv.json | 5 + src/assets/i18n/sw.json | 5 + src/assets/i18n/ta.json | 5 + src/assets/i18n/te.json | 5 + src/assets/i18n/th.json | 5 + src/assets/i18n/tr.json | 5 + src/assets/i18n/tt.json | 5 + src/assets/i18n/udm.json | 5 + src/assets/i18n/uk.json | 5 + src/assets/i18n/vi.json | 5 + src/assets/i18n/zh-hans.json | 5 + src/assets/i18n/zh-hant.json | 5 + tsconfig.strictNullChecks.json | 1 - 104 files changed, 840 insertions(+), 121 deletions(-) delete mode 100644 src/app/interfaces/container-config.interface.ts create mode 100644 src/app/pages/apps/components/catalog-settings/apps-settings.component.html create mode 100644 src/app/pages/apps/components/catalog-settings/apps-settings.component.scss rename src/app/pages/apps/components/catalog-settings/{catalog-settings.component.spec.ts => apps-settings.component.spec.ts} (62%) rename src/app/pages/apps/components/catalog-settings/{catalog-settings.component.ts => apps-settings.component.ts} (53%) delete mode 100644 src/app/pages/apps/components/catalog-settings/catalog-settings.component.html delete mode 100644 src/app/pages/apps/components/catalog-settings/catalog-settings.component.scss create mode 100644 src/app/pages/apps/store/docker.store.spec.ts diff --git a/src/app/enums/docker-config.interface.ts b/src/app/enums/docker-config.interface.ts index 8e26ba32ed2..04f1d8a5d1b 100644 --- a/src/app/enums/docker-config.interface.ts +++ b/src/app/enums/docker-config.interface.ts @@ -1,15 +1,24 @@ import { DockerStatus } from 'app/enums/docker-status.enum'; export interface DockerConfig { + id: number; pool: string; dataset: string; - id: number; + enable_image_updates: boolean; nvidia: boolean; + address_pools: DockerAddressPool[]; +} + +export interface DockerAddressPool { + base: string; + size: number; } export interface DockerConfigUpdate { pool?: string; nvidia?: boolean; + address_pools?: DockerAddressPool[]; + enable_image_updates?: boolean; } export interface DockerStatusData { diff --git a/src/app/helptext/apps/apps.ts b/src/app/helptext/apps/apps.ts index 7b5fca78fd4..b1526f033b5 100644 --- a/src/app/helptext/apps/apps.ts +++ b/src/app/helptext/apps/apps.ts @@ -38,6 +38,10 @@ export const helptextApps = { advanced: T('Advanced Settings'), unset_pool: T('Unset Pool'), + dockerSettings: { + addressPoolsSize: T('Network size of each docker network which will be cut off from base subnet.'), + }, + bulkActions: { title: T('Bulk actions'), finished: T('Requested action performed for selected Applications'), diff --git a/src/app/interfaces/api/api-call-directory.interface.ts b/src/app/interfaces/api/api-call-directory.interface.ts index bcd2a9b56c9..97a62787411 100644 --- a/src/app/interfaces/api/api-call-directory.interface.ts +++ b/src/app/interfaces/api/api-call-directory.interface.ts @@ -44,7 +44,7 @@ import { UpdateBootenvParams, } from 'app/interfaces/bootenv.interface'; import { - Catalog, CatalogApp, + CatalogConfig, CatalogApp, CatalogUpdate, GetItemDetailsParams, } from 'app/interfaces/catalog.interface'; import { @@ -77,7 +77,6 @@ import { CloudSyncCredentialVerify, CloudSyncCredentialVerifyResult, } from 'app/interfaces/cloudsync-credential.interface'; import { CloudSyncProvider, CloudSyncRestoreParams } from 'app/interfaces/cloudsync-provider.interface'; -import { ContainerConfig } from 'app/interfaces/container-config.interface'; import { ContainerImage, DeleteContainerImageParams, } from 'app/interfaces/container-image.interface'; @@ -356,8 +355,8 @@ export interface ApiCallDirectory { // Catalog 'catalog.get_app_details': { params: [name: string, params: GetItemDetailsParams]; response: CatalogApp }; 'catalog.trains': { params: void; response: string[] }; - 'catalog.update': { params: [CatalogUpdate]; response: Catalog }; - 'catalog.config': { params: void; response: Catalog }; + 'catalog.update': { params: [CatalogUpdate]; response: CatalogConfig }; + 'catalog.config': { params: void; response: CatalogConfig }; // Certificate 'certificate.acme_server_choices': { params: void; response: Choices }; @@ -410,7 +409,6 @@ export interface ApiCallDirectory { 'cloudsync.update': { params: [id: number, task: CloudSyncTaskUpdate]; response: CloudSyncTask }; // Container - 'container.config': { params: void; response: ContainerConfig }; 'app.image.delete': { params: DeleteContainerImageParams; response: boolean }; 'app.image.dockerhub_rate_limit': { params: void; response: DockerHubRateLimit }; 'app.image.query': { params: QueryParams; response: ContainerImage[] }; diff --git a/src/app/interfaces/catalog.interface.ts b/src/app/interfaces/catalog.interface.ts index ab88835e13f..3cca5ddfdf9 100644 --- a/src/app/interfaces/catalog.interface.ts +++ b/src/app/interfaces/catalog.interface.ts @@ -3,7 +3,7 @@ import { } from 'app/interfaces/app.interface'; import { AppMaintainer } from 'app/interfaces/available-app.interface'; -export interface Catalog { +export interface CatalogConfig { id: string; label: string; location: string; @@ -15,8 +15,6 @@ export interface CatalogUpdate { nvidia?: boolean; } -export type CatalogTrain = Record; - export interface CatalogApp { app_readme: string; app_metadata: AppMetadata; diff --git a/src/app/interfaces/container-config.interface.ts b/src/app/interfaces/container-config.interface.ts deleted file mode 100644 index cbd490f54b9..00000000000 --- a/src/app/interfaces/container-config.interface.ts +++ /dev/null @@ -1,4 +0,0 @@ -export interface ContainerConfig { - enable_image_updates: boolean; - id: number; -} diff --git a/src/app/pages/apps/apps.module.ts b/src/app/pages/apps/apps.module.ts index 0d8a369e6f3..0f9ce7b170c 100644 --- a/src/app/pages/apps/apps.module.ts +++ b/src/app/pages/apps/apps.module.ts @@ -36,6 +36,11 @@ import { IxChipsComponent } from 'app/modules/forms/ix-forms/components/ix-chips import { IxCodeEditorComponent } from 'app/modules/forms/ix-forms/components/ix-code-editor/ix-code-editor.component'; import { IxFieldsetComponent } from 'app/modules/forms/ix-forms/components/ix-fieldset/ix-fieldset.component'; import { IxInputComponent } from 'app/modules/forms/ix-forms/components/ix-input/ix-input.component'; +import { + IxIpInputWithNetmaskComponent, +} from 'app/modules/forms/ix-forms/components/ix-ip-input-with-netmask/ix-ip-input-with-netmask.component'; +import { IxListItemComponent } from 'app/modules/forms/ix-forms/components/ix-list/ix-list-item/ix-list-item.component'; +import { IxListComponent } from 'app/modules/forms/ix-forms/components/ix-list/ix-list.component'; import { IxSelectComponent } from 'app/modules/forms/ix-forms/components/ix-select/ix-select.component'; import { IxModalHeaderComponent, @@ -70,7 +75,7 @@ import { import { AppJsonDetailsCardComponent } from 'app/pages/apps/components/app-detail-view/app-json-details-card/app-json-details-card.component'; import { AppWizardComponent } from 'app/pages/apps/components/app-wizard/app-wizard.component'; import { AppsScopeWrapperComponent } from 'app/pages/apps/components/apps-scope-wrapper.component'; -import { CatalogSettingsComponent } from 'app/pages/apps/components/catalog-settings/catalog-settings.component'; +import { AppsSettingsComponent } from 'app/pages/apps/components/catalog-settings/apps-settings.component'; import { CustomAppFormComponent } from 'app/pages/apps/components/custom-app-form/custom-app-form.component'; import { DockerImageDeleteDialogComponent } from 'app/pages/apps/components/docker-images/docker-image-delete-dialog/docker-image-delete-dialog.component'; import { DockerImagesListComponent } from 'app/pages/apps/components/docker-images/docker-images-list/docker-images-list.component'; @@ -145,7 +150,7 @@ import { InstalledAppsComponent } from './components/installed-apps/installed-ap CategoryViewComponent, CustomAppButtonComponent, DockerStatusComponent, - CatalogSettingsComponent, + AppsSettingsComponent, DockerImagesListComponent, DockerImageDeleteDialogComponent, PullImageFormComponent, @@ -221,6 +226,9 @@ import { InstalledAppsComponent } from './components/installed-apps/installed-ap TestDirective, PageHeaderComponent, TerminalComponent, + IxIpInputWithNetmaskComponent, + IxListComponent, + IxListItemComponent, ], }) export class AppsModule { } diff --git a/src/app/pages/apps/components/catalog-settings/apps-settings.component.html b/src/app/pages/apps/components/catalog-settings/apps-settings.component.html new file mode 100644 index 00000000000..252d3c28fa3 --- /dev/null +++ b/src/app/pages/apps/components/catalog-settings/apps-settings.component.html @@ -0,0 +1,84 @@ + + + + +
+ + + + + @for (network of form.controls.address_pools.controls; track network; let i = $index) { + +
+ + + +
+
+ } +
+ + @if (showNvidiaCheckbox()) { + + } + + +
+ +
+ + + +
+
+
+
diff --git a/src/app/pages/apps/components/catalog-settings/apps-settings.component.scss b/src/app/pages/apps/components/catalog-settings/apps-settings.component.scss new file mode 100644 index 00000000000..085bde3fb2a --- /dev/null +++ b/src/app/pages/apps/components/catalog-settings/apps-settings.component.scss @@ -0,0 +1,33 @@ +:host ::ng-deep { + .trains { + fieldset { + padding: 0 0 10px; + } + + ix-label { + padding-left: 10px; + } + } +} + +.actions { + margin-top: 10px; +} + +.address-pools { + margin-bottom: 0; +} + +.address-pool { + align-items: baseline; + column-gap: 20px; + display: flex; + + .base { + flex-grow: 1; + } + + .size { + width: 80px; + } +} diff --git a/src/app/pages/apps/components/catalog-settings/catalog-settings.component.spec.ts b/src/app/pages/apps/components/catalog-settings/apps-settings.component.spec.ts similarity index 62% rename from src/app/pages/apps/components/catalog-settings/catalog-settings.component.spec.ts rename to src/app/pages/apps/components/catalog-settings/apps-settings.component.spec.ts index ee984377873..aaa8cec15de 100644 --- a/src/app/pages/apps/components/catalog-settings/catalog-settings.component.spec.ts +++ b/src/app/pages/apps/components/catalog-settings/apps-settings.component.spec.ts @@ -4,26 +4,40 @@ import { ReactiveFormsModule } from '@angular/forms'; import { MatButtonHarness } from '@angular/material/button/testing'; import { createComponentFactory, mockProvider, Spectator } from '@ngneat/spectator/jest'; import { of } from 'rxjs'; +import { fakeSuccessfulJob } from 'app/core/testing/utils/fake-job.utils'; import { mockAuth } from 'app/core/testing/utils/mock-auth.utils'; -import { mockCall, mockWebSocket } from 'app/core/testing/utils/mock-websocket.utils'; -import { Catalog } from 'app/interfaces/catalog.interface'; +import { mockCall, mockJob, mockWebSocket } from 'app/core/testing/utils/mock-websocket.utils'; +import { DockerConfig } from 'app/enums/docker-config.interface'; +import { CatalogConfig } from 'app/interfaces/catalog.interface'; import { DialogService } from 'app/modules/dialog/dialog.service'; import { IxCheckboxListHarness } from 'app/modules/forms/ix-forms/components/ix-checkbox-list/ix-checkbox-list.harness'; +import { + IxIpInputWithNetmaskComponent, +} from 'app/modules/forms/ix-forms/components/ix-ip-input-with-netmask/ix-ip-input-with-netmask.component'; +import { IxListHarness } from 'app/modules/forms/ix-forms/components/ix-list/ix-list.harness'; import { IxSlideInRef } from 'app/modules/forms/ix-forms/components/ix-slide-in/ix-slide-in-ref'; import { FormErrorHandlerService } from 'app/modules/forms/ix-forms/services/form-error-handler.service'; import { IxFormHarness } from 'app/modules/forms/ix-forms/testing/ix-form.harness'; -import { CatalogSettingsComponent } from 'app/pages/apps/components/catalog-settings/catalog-settings.component'; +import { AppsSettingsComponent } from 'app/pages/apps/components/catalog-settings/apps-settings.component'; import { AppsStore } from 'app/pages/apps/store/apps-store.service'; import { DockerStore } from 'app/pages/apps/store/docker.store'; import { WebSocketService } from 'app/services/ws.service'; describe('CatalogEditFormComponent', () => { - let spectator: Spectator; + let spectator: Spectator; let loader: HarnessLoader; + const dockerConfig = { + address_pools: [ + { base: '172.17.0.0/12', size: 12 }, + ], + enable_image_updates: false, + } as DockerConfig; + const createComponent = createComponentFactory({ - component: CatalogSettingsComponent, + component: AppsSettingsComponent, imports: [ ReactiveFormsModule, + IxIpInputWithNetmaskComponent, ], providers: [ mockWebSocket([ @@ -32,14 +46,17 @@ describe('CatalogEditFormComponent', () => { mockCall('catalog.config', { label: 'TrueNAS', preferred_trains: ['test'], - } as Catalog), + } as CatalogConfig), + mockJob('docker.update', fakeSuccessfulJob()), ]), mockProvider(DialogService, { jobDialog: jest.fn(() => ({ afterClosed: () => of(null), })), }), - mockProvider(AppsStore), + mockProvider(AppsStore, { + loadCatalog: jest.fn(() => of({})), + }), mockProvider(IxSlideInRef), mockProvider(FormErrorHandlerService), mockAuth(), @@ -53,6 +70,8 @@ describe('CatalogEditFormComponent', () => { mockProvider(DockerStore, { nvidiaDriversInstalled$: of(false), lacksNvidiaDrivers$: of(false), + dockerConfig$: of(dockerConfig), + reloadDockerConfig: jest.fn(() => of({})), }), ], }); @@ -74,7 +93,7 @@ describe('CatalogEditFormComponent', () => { const form = await loader.getHarness(IxFormHarness); const values = await form.getValues(); - expect(values).toEqual({ + expect(values).toMatchObject({ 'Preferred Trains': ['test'], }); }); @@ -104,6 +123,8 @@ describe('CatalogEditFormComponent', () => { nvidiaDriversInstalled$: of(false), lacksNvidiaDrivers$: of(true), setDockerNvidia: jest.fn(() => of(null)), + dockerConfig$: of(dockerConfig), + reloadDockerConfig: jest.fn(() => of({})), }), ], }); @@ -114,7 +135,7 @@ describe('CatalogEditFormComponent', () => { const form = await loader.getHarness(IxFormHarness); const values = await form.getValues(); - expect(values).toEqual({ + expect(values).toMatchObject({ 'Install NVIDIA Drivers': false, 'Preferred Trains': ['test'], }); @@ -146,6 +167,8 @@ describe('CatalogEditFormComponent', () => { mockProvider(DockerStore, { nvidiaDriversInstalled$: of(true), lacksNvidiaDrivers$: of(false), + dockerConfig$: of(dockerConfig), + reloadDockerConfig: jest.fn(() => of({})), }), ], }); @@ -156,11 +179,68 @@ describe('CatalogEditFormComponent', () => { const form = await loader.getHarness(IxFormHarness); const values = await form.getValues(); - expect(values).toEqual({ + expect(values).toMatchObject({ 'Install NVIDIA Drivers': true, 'Preferred Trains': ['test'], }); }); }); + + describe('other docker settings', () => { + beforeEach(() => { + spectator = createComponent({ + providers: [ + mockProvider(DockerStore, { + nvidiaDriversInstalled$: of(true), + lacksNvidiaDrivers$: of(false), + dockerConfig$: of(dockerConfig), + reloadDockerConfig: jest.fn(() => of({})), + setDockerNvidia: jest.fn(() => of(null)), + }), + ], + }); + loader = TestbedHarnessEnvironment.loader(spectator.fixture); + }); + + it('shows current docker settings for address pools and image updates', async () => { + const form = await loader.getHarness(IxFormHarness); + const values = await form.getValues(); + + expect(values).toMatchObject({ + 'Check for docker image updates': false, + Base: '172.17.0.0/12', + Size: '12', + }); + }); + + it('updates docker settings when form is edited', async () => { + const form = await loader.getHarness(IxFormHarness); + await form.fillForm({ + 'Check for docker image updates': true, + }); + + const addressPoolList = await loader.getHarness(IxListHarness.with({ label: 'Address Pools' })); + + await addressPoolList.pressAddButton(); + + const newAddressPool = await addressPoolList.getLastListItem(); + await newAddressPool.fillForm({ + Base: '173.17.0.0/12', + Size: 12, + }); + + const saveButton = await loader.getHarness(MatButtonHarness.with({ text: 'Save' })); + await saveButton.click(); + + expect(spectator.inject(WebSocketService).job).toHaveBeenCalledWith('docker.update', [{ + enable_image_updates: true, + address_pools: [ + { base: '172.17.0.0/12', size: 12 }, + { base: '173.17.0.0/12', size: 12 }, + ], + }]); + expect(spectator.inject(DockerStore).reloadDockerConfig).toHaveBeenCalled(); + }); + }); }); }); diff --git a/src/app/pages/apps/components/catalog-settings/catalog-settings.component.ts b/src/app/pages/apps/components/catalog-settings/apps-settings.component.ts similarity index 53% rename from src/app/pages/apps/components/catalog-settings/catalog-settings.component.ts rename to src/app/pages/apps/components/catalog-settings/apps-settings.component.ts index 65cd164fb89..e5c57b03621 100644 --- a/src/app/pages/apps/components/catalog-settings/catalog-settings.component.ts +++ b/src/app/pages/apps/components/catalog-settings/apps-settings.component.ts @@ -2,27 +2,32 @@ import { ChangeDetectionStrategy, Component, computed, OnInit, signal, } from '@angular/core'; import { toSignal } from '@angular/core/rxjs-interop'; -import { FormBuilder, Validators } from '@angular/forms'; +import { + FormArray, FormBuilder, FormControl, FormGroup, Validators, +} from '@angular/forms'; import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy'; -import { of, switchMap } from 'rxjs'; +import { + combineLatest, forkJoin, of, switchMap, +} from 'rxjs'; import { Role } from 'app/enums/role.enum'; import { singleArrayToOptions } from 'app/helpers/operators/options.operators'; import { helptextApps } from 'app/helptext/apps/apps'; -import { Catalog, CatalogUpdate } from 'app/interfaces/catalog.interface'; +import { CatalogUpdate } from 'app/interfaces/catalog.interface'; import { IxSlideInRef } from 'app/modules/forms/ix-forms/components/ix-slide-in/ix-slide-in-ref'; import { FormErrorHandlerService } from 'app/modules/forms/ix-forms/services/form-error-handler.service'; +import { ipv4or6cidrValidator } from 'app/modules/forms/ix-forms/validators/ip-validation'; import { AppsStore } from 'app/pages/apps/store/apps-store.service'; import { DockerStore } from 'app/pages/apps/store/docker.store'; import { WebSocketService } from 'app/services/ws.service'; @UntilDestroy() @Component({ - selector: 'ix-catalog-settings', - templateUrl: './catalog-settings.component.html', - styleUrls: ['./catalog-settings.component.scss'], + selector: 'ix-apps-settings', + templateUrl: './apps-settings.component.html', + styleUrls: ['./apps-settings.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush, }) -export class CatalogSettingsComponent implements OnInit { +export class AppsSettingsComponent implements OnInit { protected nvidiaDriversInstalled = toSignal(this.dockerStore.nvidiaDriversInstalled$); protected lacksNvidiaDrivers = toSignal(this.dockerStore.lacksNvidiaDrivers$); protected isFormLoading = signal(false); @@ -31,6 +36,11 @@ export class CatalogSettingsComponent implements OnInit { protected form = this.fb.group({ preferred_trains: [[] as string[], Validators.required], nvidia: [null as boolean], + enable_image_updates: [true], + address_pools: new FormArray; + size: FormControl; + }>>([]), }); protected allTrains$ = this.ws.call('catalog.trains').pipe( @@ -47,9 +57,9 @@ export class CatalogSettingsComponent implements OnInit { }; constructor( - protected dockerStore: DockerStore, + private dockerStore: DockerStore, private ws: WebSocketService, - private slideInRef: IxSlideInRef, + private slideInRef: IxSlideInRef, private errorHandler: FormErrorHandlerService, private fb: FormBuilder, private appsStore: AppsStore, @@ -60,15 +70,22 @@ export class CatalogSettingsComponent implements OnInit { } setupForm(): void { - this.ws.call('catalog.config').pipe( - untilDestroyed(this), - ).subscribe({ - next: (config: Catalog) => { + combineLatest([ + this.ws.call('catalog.config'), + this.dockerStore.dockerConfig$, + ]) + .pipe(untilDestroyed(this)) + .subscribe(([catalogConfig, dockerConfig]) => { + dockerConfig.address_pools.forEach(() => { + this.addAddressPool(); + }); + this.form.patchValue({ - preferred_trains: config.preferred_trains, + preferred_trains: catalogConfig.preferred_trains, + enable_image_updates: dockerConfig.enable_image_updates, + address_pools: dockerConfig.address_pools, }); - }, - }); + }); if (this.nvidiaDriversInstalled()) { this.form.patchValue({ @@ -77,14 +94,36 @@ export class CatalogSettingsComponent implements OnInit { } } + addAddressPool(): void { + const control = this.fb.group({ + base: ['', [Validators.required, ipv4or6cidrValidator()]], + size: [null as number, [Validators.required]], + }); + + this.form.controls.address_pools.push(control); + } + + removeAddressPool(index: number): void { + this.form.controls.address_pools.removeAt(index); + } + onSubmit(): void { - const { preferred_trains: preferredTrains, nvidia } = this.form.value; + const values = this.form.getRawValue(); this.isFormLoading.set(true); - this.ws.call('catalog.update', [{ preferred_trains: preferredTrains } as CatalogUpdate]) + forkJoin([ + this.ws.call('catalog.update', [{ preferred_trains: values.preferred_trains } as CatalogUpdate]), + this.ws.job('docker.update', [{ + enable_image_updates: values.enable_image_updates, + address_pools: values.address_pools, + }]), + ]) .pipe( - switchMap(() => (nvidia !== null ? this.dockerStore.setDockerNvidia(nvidia) : of(nvidia))), - switchMap(() => this.appsStore.loadCatalog()), + switchMap(() => (values.nvidia !== null ? this.dockerStore.setDockerNvidia(values.nvidia) : of(values.nvidia))), + switchMap(() => forkJoin([ + this.dockerStore.reloadDockerConfig(), + this.appsStore.loadCatalog(), + ])), untilDestroyed(this), ) .subscribe({ @@ -98,4 +137,6 @@ export class CatalogSettingsComponent implements OnInit { }, }); } + + protected readonly helptext = helptextApps; } diff --git a/src/app/pages/apps/components/catalog-settings/catalog-settings.component.html b/src/app/pages/apps/components/catalog-settings/catalog-settings.component.html deleted file mode 100644 index 3cfdb873900..00000000000 --- a/src/app/pages/apps/components/catalog-settings/catalog-settings.component.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - -
- - - - - @if (showNvidiaCheckbox()) { - - - - } - - - - -
-
-
diff --git a/src/app/pages/apps/components/catalog-settings/catalog-settings.component.scss b/src/app/pages/apps/components/catalog-settings/catalog-settings.component.scss deleted file mode 100644 index a5e9141de03..00000000000 --- a/src/app/pages/apps/components/catalog-settings/catalog-settings.component.scss +++ /dev/null @@ -1,19 +0,0 @@ -:host ::ng-deep { - .trains { - fieldset { - padding: 0 0 10px; - } - - ix-label { - padding-left: 10px; - } - } -} - -.nvidia { - border-top: 1px solid var(--lines); - display: block; - margin-bottom: 15px; - margin-top: 5px; - padding-top: 10px; -} diff --git a/src/app/pages/apps/components/installed-apps/app-settings-button/app-settings-button.component.ts b/src/app/pages/apps/components/installed-apps/app-settings-button/app-settings-button.component.ts index e687e5de7ed..28a0729ed2d 100644 --- a/src/app/pages/apps/components/installed-apps/app-settings-button/app-settings-button.component.ts +++ b/src/app/pages/apps/components/installed-apps/app-settings-button/app-settings-button.component.ts @@ -9,7 +9,7 @@ import { Role } from 'app/enums/role.enum'; import { helptextApps } from 'app/helptext/apps/apps'; import { DialogService } from 'app/modules/dialog/dialog.service'; import { SnackbarService } from 'app/modules/snackbar/services/snackbar.service'; -import { CatalogSettingsComponent } from 'app/pages/apps/components/catalog-settings/catalog-settings.component'; +import { AppsSettingsComponent } from 'app/pages/apps/components/catalog-settings/apps-settings.component'; import { appSettingsButtonElements } from 'app/pages/apps/components/installed-apps/app-settings-button/app-settings-button.elements'; import { SelectPoolDialogComponent } from 'app/pages/apps/components/select-pool-dialog/select-pool-dialog.component'; import { DockerStore } from 'app/pages/apps/store/docker.store'; @@ -57,6 +57,6 @@ export class AppSettingsButtonComponent { } manageCatalog(): void { - this.ixSlideInService.open(CatalogSettingsComponent, { injector: this.injector }); + this.ixSlideInService.open(AppsSettingsComponent, { injector: this.injector }); } } diff --git a/src/app/pages/apps/store/docker.store.spec.ts b/src/app/pages/apps/store/docker.store.spec.ts new file mode 100644 index 00000000000..0c9985f5fd5 --- /dev/null +++ b/src/app/pages/apps/store/docker.store.spec.ts @@ -0,0 +1,75 @@ +import { createServiceFactory, SpectatorService } from '@ngneat/spectator/jest'; +import { MockWebSocketService } from 'app/core/testing/classes/mock-websocket.service'; +import { mockCall, mockWebSocket } from 'app/core/testing/utils/mock-websocket.utils'; +import { DockerConfig } from 'app/enums/docker-config.interface'; +import { DockerStatus } from 'app/enums/docker-status.enum'; +import { DockerStore } from 'app/pages/apps/store/docker.store'; +import { WebSocketService } from 'app/services/ws.service'; + +describe('DockerStore', () => { + let spectator: SpectatorService; + const createComponent = createServiceFactory({ + service: DockerStore, + providers: [ + mockWebSocket([ + mockCall('docker.config', { + enable_image_updates: true, + pool: 'pewl', + nvidia: true, + } as DockerConfig), + mockCall('docker.lacks_nvidia_drivers', true), + mockCall('docker.status', { + status: DockerStatus.Running, + description: 'Docker is running', + }), + ]), + ], + }); + + beforeEach(() => { + spectator = createComponent(); + }); + + describe('initialize', () => { + it('loads docker data', () => { + spectator.service.initialize(); + + expect(spectator.inject(WebSocketService).call).toHaveBeenCalledWith('docker.config'); + expect(spectator.inject(WebSocketService).call).toHaveBeenCalledWith('docker.lacks_nvidia_drivers'); + expect(spectator.inject(WebSocketService).call).toHaveBeenCalledWith('docker.status'); + + expect(spectator.service.state()).toEqual({ + dockerConfig: { + enable_image_updates: true, + nvidia: true, + pool: 'pewl', + }, + isLoading: false, + lacksNvidiaDrivers: true, + nvidiaDriversInstalled: true, + statusData: { + description: 'Docker is running', + status: DockerStatus.Running, + }, + }); + }); + }); + + describe('reloadDockerConfig', () => { + it('reloads docker config and updates the state', () => { + const newDockerConfig = { + pool: 'new-pool', + enable_image_updates: false, + } as DockerConfig; + + const mockWebsocket = spectator.inject(MockWebSocketService); + jest.resetAllMocks(); + mockWebsocket.mockCall('docker.config', newDockerConfig); + + spectator.service.reloadDockerConfig().subscribe(); + + expect(mockWebsocket.call).toHaveBeenCalledWith('docker.config'); + expect(spectator.service.state().dockerConfig).toEqual(newDockerConfig); + }); + }); +}); diff --git a/src/app/pages/apps/store/docker.store.ts b/src/app/pages/apps/store/docker.store.ts index 96c4d5224c7..ab7f1de7042 100644 --- a/src/app/pages/apps/store/docker.store.ts +++ b/src/app/pages/apps/store/docker.store.ts @@ -14,7 +14,7 @@ import { WebSocketService } from 'app/services/ws.service'; export interface DockerConfigState { isLoading: boolean; - pool: string; + dockerConfig: DockerConfig; nvidiaDriversInstalled: boolean; lacksNvidiaDrivers: boolean; statusData: DockerStatusData; @@ -22,7 +22,7 @@ export interface DockerConfigState { const initialState: DockerConfigState = { isLoading: false, - pool: null, + dockerConfig: null, nvidiaDriversInstalled: false, lacksNvidiaDrivers: false, statusData: { @@ -34,7 +34,8 @@ const initialState: DockerConfigState = { @Injectable() export class DockerStore extends ComponentStore { readonly isLoading$ = this.select((state) => state.isLoading); - readonly selectedPool$ = this.select((state) => state.pool); + readonly dockerConfig$ = this.select((state) => state.dockerConfig); + readonly selectedPool$ = this.select((state) => state.dockerConfig?.pool || null); readonly nvidiaDriversInstalled$ = this.select((state) => state.nvidiaDriversInstalled); readonly lacksNvidiaDrivers$ = this.select((state) => state.lacksNvidiaDrivers); readonly isDockerStarted$ = this.select((state) => DockerStatus.Running === state.statusData.status); @@ -65,7 +66,7 @@ export class DockerStore extends ComponentStore { tap( ([dockerConfig, statusData, lacksNvidiaDrivers]: [DockerConfig, DockerStatusData, boolean]) => { this.patchState({ - pool: dockerConfig.pool, + dockerConfig, nvidiaDriversInstalled: dockerConfig.nvidia, lacksNvidiaDrivers, statusData, @@ -97,19 +98,35 @@ export class DockerStore extends ComponentStore { .pipe( tap((job) => { if (job.state === JobState.Success) { - this.patchState({ - pool: poolName, - }); + this.patchState((state) => ({ + ...state, + dockerConfig: { + ...state.dockerConfig, + pool: poolName, + }, + })); } else if ([JobState.Failed, JobState.Aborted, JobState.Error].includes(job.state)) { - this.patchState({ - pool: null, - }); + this.patchState((state) => ({ + ...state, + dockerConfig: { + ...state.dockerConfig, + pool: null, + }, + })); } }), this.errorHandler.catchError(), ); } + reloadDockerConfig(): Observable { + return this.getDockerConfig().pipe( + tap((dockerConfig) => { + this.patchState({ dockerConfig }); + }), + ); + } + setDockerNvidia(nvidiaDriversInstalled: boolean): Observable> { return this.dialogService.jobDialog( this.ws.job('docker.update', [{ nvidia: nvidiaDriversInstalled }]), diff --git a/src/assets/i18n/af.json b/src/assets/i18n/af.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/af.json +++ b/src/assets/i18n/af.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/ar.json b/src/assets/i18n/ar.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/ar.json +++ b/src/assets/i18n/ar.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/ast.json b/src/assets/i18n/ast.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/ast.json +++ b/src/assets/i18n/ast.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/az.json b/src/assets/i18n/az.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/az.json +++ b/src/assets/i18n/az.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/be.json b/src/assets/i18n/be.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/be.json +++ b/src/assets/i18n/be.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/bg.json b/src/assets/i18n/bg.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/bg.json +++ b/src/assets/i18n/bg.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/bn.json b/src/assets/i18n/bn.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/bn.json +++ b/src/assets/i18n/bn.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/br.json b/src/assets/i18n/br.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/br.json +++ b/src/assets/i18n/br.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/bs.json b/src/assets/i18n/bs.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/bs.json +++ b/src/assets/i18n/bs.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/ca.json b/src/assets/i18n/ca.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/ca.json +++ b/src/assets/i18n/ca.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/cs.json b/src/assets/i18n/cs.json index a8b07088236..f4c526673c7 100644 --- a/src/assets/i18n/cs.json +++ b/src/assets/i18n/cs.json @@ -72,6 +72,8 @@ "Additional domains to search. Separate entries by pressing Enter. Adding search domains can cause slow DNS lookups.": "", "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -267,6 +269,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -423,6 +426,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2191,6 +2195,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/cy.json b/src/assets/i18n/cy.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/cy.json +++ b/src/assets/i18n/cy.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/da.json b/src/assets/i18n/da.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/da.json +++ b/src/assets/i18n/da.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index 6535297a290..9d2c344613f 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -186,6 +186,8 @@ "Additional domains to search. Separate entries by pressing Enter. Adding search domains can cause slow DNS lookups.": "", "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -404,6 +406,7 @@ "Backup Tasks": "", "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -526,6 +529,7 @@ "Check App Details": "", "Check Available Apps": "", "Check for Software Updates": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check to enable Audit Logs": "", @@ -1934,6 +1938,7 @@ "Network interface updated": "", "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "New & Updated Apps": "", "New ACME DNS-Authenticator": "", diff --git a/src/assets/i18n/dsb.json b/src/assets/i18n/dsb.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/dsb.json +++ b/src/assets/i18n/dsb.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/el.json b/src/assets/i18n/el.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/el.json +++ b/src/assets/i18n/el.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/en-au.json b/src/assets/i18n/en-au.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/en-au.json +++ b/src/assets/i18n/en-au.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/en-gb.json b/src/assets/i18n/en-gb.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/en-gb.json +++ b/src/assets/i18n/en-gb.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/eo.json b/src/assets/i18n/eo.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/eo.json +++ b/src/assets/i18n/eo.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/es-ar.json b/src/assets/i18n/es-ar.json index 505dbcf6950..05c263e51c8 100644 --- a/src/assets/i18n/es-ar.json +++ b/src/assets/i18n/es-ar.json @@ -145,6 +145,8 @@ "Additional Kerberos library settings. See the \"libdefaults\" section of [krb.conf(5)]. for available settings and usage syntax.": "", "Additional Parameters String": "", "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Admin Password": "", @@ -308,6 +310,7 @@ "Backup Tasks": "", "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", + "Base": "", "Basic Constraints Config": "", "Batch Operations": "", "Before updating, please read the release notes.": "", @@ -391,6 +394,7 @@ "Check App Details": "", "Check Available Apps": "", "Check for Software Updates": "", + "Check for docker image updates": "", "Check to enable Audit Logs": "", "Check {name} and {n, plural, one {# other disk} other {# other disks}}.": "", "Check {name}.": "", @@ -1447,6 +1451,7 @@ "Network interface updated": "", "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "New & Updated Apps": "", "New ACME DNS-Authenticator": "", diff --git a/src/assets/i18n/es-co.json b/src/assets/i18n/es-co.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/es-co.json +++ b/src/assets/i18n/es-co.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/es-mx.json b/src/assets/i18n/es-mx.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/es-mx.json +++ b/src/assets/i18n/es-mx.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/es-ni.json b/src/assets/i18n/es-ni.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/es-ni.json +++ b/src/assets/i18n/es-ni.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/es-ve.json b/src/assets/i18n/es-ve.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/es-ve.json +++ b/src/assets/i18n/es-ve.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/es.json b/src/assets/i18n/es.json index 642e348166b..3844c8e1cb8 100644 --- a/src/assets/i18n/es.json +++ b/src/assets/i18n/es.json @@ -260,6 +260,8 @@ "Additional domains to search. Separate entries by pressing Enter. Adding search domains can cause slow DNS lookups.": "", "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -533,6 +535,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -679,6 +682,7 @@ "Check Available Apps": "", "Check Release Notes": "", "Check for Software Updates": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2498,6 +2502,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Never Delete": "", "New & Updated Apps": "", diff --git a/src/assets/i18n/et.json b/src/assets/i18n/et.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/et.json +++ b/src/assets/i18n/et.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/eu.json b/src/assets/i18n/eu.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/eu.json +++ b/src/assets/i18n/eu.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/fa.json b/src/assets/i18n/fa.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/fa.json +++ b/src/assets/i18n/fa.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/fi.json b/src/assets/i18n/fi.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/fi.json +++ b/src/assets/i18n/fi.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/fr.json b/src/assets/i18n/fr.json index 1bd888f9875..8ee8cb5b7fd 100644 --- a/src/assets/i18n/fr.json +++ b/src/assets/i18n/fr.json @@ -18,6 +18,8 @@ "Add Expansion Shelf": "", "Add to trusted store": "", "Additional Parameters String": "", + "Address Pool": "", + "Address Pools": "", "Admins": "", "Aliases": "", "Always Chroot": "", @@ -52,6 +54,7 @@ "Backup Config": "", "Backup Credential": "", "Bandwidth": "", + "Base": "", "Base DN": "", "Basic Constraints Config": "", "Batch Operations": "", @@ -87,6 +90,7 @@ "Certificate Write": "", "Change log": "", "Check": "", + "Check for docker image updates": "", "Clear": "", "Client ID": "", "Close {formType} Form": "", @@ -426,6 +430,7 @@ "Network Traffic": "", "Network Usage": "", "Network Utilization": "", + "Network size of each docker network which will be cut off from base subnet.": "", "New Backup Credential": "", "New Bucket Name": "", "New CSR": "", diff --git a/src/assets/i18n/fy.json b/src/assets/i18n/fy.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/fy.json +++ b/src/assets/i18n/fy.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/ga.json b/src/assets/i18n/ga.json index 79aaeec1b62..2445c9d18d3 100644 --- a/src/assets/i18n/ga.json +++ b/src/assets/i18n/ga.json @@ -4,17 +4,21 @@ "Add custom app config in Yaml format.": "", "Add to trusted store": "", "Additional Parameters String": "", + "Address Pool": "", + "Address Pools": "", "App Info": "", "App Network": "", "Application CPU Usage": "", "Application Information": "", "Application Memory": "", "Application Network": "", + "Base": "", "Block I/O": "", "Block I/O read and writes": "", "CPU Overview": "", "CPU Temperature Per Core": "", "CPU Usage Per Core": "", + "Check for docker image updates": "", "Choose Shell Details": "", "Click \"Add\" to specify NFS client hosts for this share. If both networks and hosts are empty the share will be exported to everyone.": "", "Click \"Add\" to specify NFS client network ranges for this share. If both networks and hosts are empty the share will be exported to everyone.": "", @@ -62,6 +66,7 @@ "Modern OS: Extent block size 4k, TPC enabled, no Xen compat mode, SSD speed": "", "Network I/O": "", "Network Reconnection Issue": "", + "Network size of each docker network which will be cut off from base subnet.": "", "No containers are available.": "", "No jobs running.": "", "No volume mounts": "", diff --git a/src/assets/i18n/gd.json b/src/assets/i18n/gd.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/gd.json +++ b/src/assets/i18n/gd.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/gl.json b/src/assets/i18n/gl.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/gl.json +++ b/src/assets/i18n/gl.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/he.json b/src/assets/i18n/he.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/he.json +++ b/src/assets/i18n/he.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/hi.json b/src/assets/i18n/hi.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/hi.json +++ b/src/assets/i18n/hi.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/hr.json b/src/assets/i18n/hr.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/hr.json +++ b/src/assets/i18n/hr.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/hsb.json b/src/assets/i18n/hsb.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/hsb.json +++ b/src/assets/i18n/hsb.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/hu.json b/src/assets/i18n/hu.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/hu.json +++ b/src/assets/i18n/hu.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/ia.json b/src/assets/i18n/ia.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/ia.json +++ b/src/assets/i18n/ia.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/id.json b/src/assets/i18n/id.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/id.json +++ b/src/assets/i18n/id.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/io.json b/src/assets/i18n/io.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/io.json +++ b/src/assets/i18n/io.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/is.json b/src/assets/i18n/is.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/is.json +++ b/src/assets/i18n/is.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/it.json b/src/assets/i18n/it.json index 1adae467f65..d05b1de2845 100644 --- a/src/assets/i18n/it.json +++ b/src/assets/i18n/it.json @@ -257,6 +257,8 @@ "Additional domains to search. Separate entries by pressing Enter. Adding search domains can cause slow DNS lookups.": "", "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -517,6 +519,7 @@ "Backup Tasks": "", "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -656,6 +659,7 @@ "Check App Details": "", "Check Available Apps": "", "Check for Software Updates": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2544,6 +2548,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/ja.json b/src/assets/i18n/ja.json index 30677404474..97bfd5e944e 100644 --- a/src/assets/i18n/ja.json +++ b/src/assets/i18n/ja.json @@ -248,6 +248,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -485,6 +487,7 @@ "Backup Tasks": "", "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", + "Base": "", "Base DN": "", "Base Name": "", "Basic": "", @@ -623,6 +626,7 @@ "Check App Details": "", "Check Available Apps": "", "Check for Software Updates": "", + "Check for docker image updates": "", "Check this box if importing a certificate for which a CSR exists on this system": "", "Check to enable Audit Logs": "", "Check {name} and {n, plural, one {# other disk} other {# other disks}}.": "", @@ -2421,6 +2425,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/ka.json b/src/assets/i18n/ka.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/ka.json +++ b/src/assets/i18n/ka.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/kk.json b/src/assets/i18n/kk.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/kk.json +++ b/src/assets/i18n/kk.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/km.json b/src/assets/i18n/km.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/km.json +++ b/src/assets/i18n/km.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/kn.json b/src/assets/i18n/kn.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/kn.json +++ b/src/assets/i18n/kn.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/ko.json b/src/assets/i18n/ko.json index 245ebc18b1b..370b5ab088d 100644 --- a/src/assets/i18n/ko.json +++ b/src/assets/i18n/ko.json @@ -82,6 +82,8 @@ "Additional Domains:": "", "Additional Hardware": "", "Additional Parameters String": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Admin Password": "", @@ -199,6 +201,7 @@ "Backup Tasks": "", "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", + "Base": "", "Basic Constraints Config": "", "Batch Operations": "", "Before updating, please read the release notes.": "", @@ -317,6 +320,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2309,6 +2313,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/lb.json b/src/assets/i18n/lb.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/lb.json +++ b/src/assets/i18n/lb.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/lt.json b/src/assets/i18n/lt.json index 600342eed0c..4cdae2e3c28 100644 --- a/src/assets/i18n/lt.json +++ b/src/assets/i18n/lt.json @@ -275,6 +275,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -569,6 +571,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -735,6 +738,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2727,6 +2731,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/lv.json b/src/assets/i18n/lv.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/lv.json +++ b/src/assets/i18n/lv.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/mk.json b/src/assets/i18n/mk.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/mk.json +++ b/src/assets/i18n/mk.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/ml.json b/src/assets/i18n/ml.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/ml.json +++ b/src/assets/i18n/ml.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/mn.json b/src/assets/i18n/mn.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/mn.json +++ b/src/assets/i18n/mn.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/mr.json b/src/assets/i18n/mr.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/mr.json +++ b/src/assets/i18n/mr.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/my.json b/src/assets/i18n/my.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/my.json +++ b/src/assets/i18n/my.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/nb.json b/src/assets/i18n/nb.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/nb.json +++ b/src/assets/i18n/nb.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/ne.json b/src/assets/i18n/ne.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/ne.json +++ b/src/assets/i18n/ne.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/nl.json b/src/assets/i18n/nl.json index 7d7476b01ce..5c0df771c97 100644 --- a/src/assets/i18n/nl.json +++ b/src/assets/i18n/nl.json @@ -66,6 +66,8 @@ "Additional Domains:": "", "Additional Hardware": "", "Additional Parameters String": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Admin Password": "", @@ -134,6 +136,7 @@ "Backup Credential": "", "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", + "Base": "", "Basic Constraints Config": "", "Batch Operations": "", "Before updating, please read the release notes.": "", @@ -172,6 +175,7 @@ "Check Alerts for more details.": "", "Check App Details": "", "Check for Software Updates": "", + "Check for docker image updates": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check {name} and {n, plural, one {# other disk} other {# other disks}}.": "", "Check {name}.": "", @@ -663,6 +667,7 @@ "Network Utilization": "", "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "New ACME DNS-Authenticator": "", "New Alert": "", "New Backup Credential": "", diff --git a/src/assets/i18n/nn.json b/src/assets/i18n/nn.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/nn.json +++ b/src/assets/i18n/nn.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/os.json b/src/assets/i18n/os.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/os.json +++ b/src/assets/i18n/os.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/pa.json b/src/assets/i18n/pa.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/pa.json +++ b/src/assets/i18n/pa.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/pl.json b/src/assets/i18n/pl.json index 58ae39f1ec5..5c6eab865a0 100644 --- a/src/assets/i18n/pl.json +++ b/src/assets/i18n/pl.json @@ -242,6 +242,8 @@ "Additional domains to search. Separate entries by pressing Enter. Adding search domains can cause slow DNS lookups.": "", "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -529,6 +531,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -695,6 +698,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2679,6 +2683,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/pt-br.json b/src/assets/i18n/pt-br.json index d9968e13e84..61cc6e7b974 100644 --- a/src/assets/i18n/pt-br.json +++ b/src/assets/i18n/pt-br.json @@ -222,6 +222,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -516,6 +518,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -682,6 +685,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2673,6 +2677,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/pt.json b/src/assets/i18n/pt.json index 560c39e3a1d..470598d010e 100644 --- a/src/assets/i18n/pt.json +++ b/src/assets/i18n/pt.json @@ -112,6 +112,8 @@ "Additional domains to search. Separate entries by pressing Enter. Adding search domains can cause slow DNS lookups.": "", "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust how often alert notifications are sent, use the Frequency drop-down. Setting the Frequency to NEVER prevents that alert from being added to alert notifications, but the alert can still show in the web interface if it is triggered.": "", @@ -220,6 +222,7 @@ "Backup Credential": "", "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", + "Base": "", "Basic Constraints Config": "", "Batch Operations": "", "Before updating, please read the release notes.": "", @@ -265,6 +268,7 @@ "Check Alerts for more details.": "", "Check App Details": "", "Check for Software Updates": "", + "Check for docker image updates": "", "Check this box if importing a certificate for which a CSR exists on this system": "", "Check to enable Audit Logs": "", "Check {name} and {n, plural, one {# other disk} other {# other disks}}.": "", @@ -1533,6 +1537,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never Delete": "", diff --git a/src/assets/i18n/ro.json b/src/assets/i18n/ro.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/ro.json +++ b/src/assets/i18n/ro.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/ru.json b/src/assets/i18n/ru.json index f0c88898069..eebb0091527 100644 --- a/src/assets/i18n/ru.json +++ b/src/assets/i18n/ru.json @@ -172,6 +172,8 @@ "Additional Kerberos library settings. See the \"libdefaults\" section of [krb.conf(5)]. for available settings and usage syntax.": "", "Additional Parameters String": "", "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -358,6 +360,7 @@ "Backup Tasks": "", "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", + "Base": "", "Basic": "", "Basic Constraints Config": "", "Basic Settings": "", @@ -449,6 +452,7 @@ "Check App Details": "", "Check Available Apps": "", "Check for Software Updates": "", + "Check for docker image updates": "", "Check to enable Audit Logs": "", "Check {name} and {n, plural, one {# other disk} other {# other disks}}.": "", "Check {name}.": "", @@ -1656,6 +1660,7 @@ "Network interface updated": "", "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "New & Updated Apps": "", diff --git a/src/assets/i18n/sk.json b/src/assets/i18n/sk.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/sk.json +++ b/src/assets/i18n/sk.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/sl.json b/src/assets/i18n/sl.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/sl.json +++ b/src/assets/i18n/sl.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/sq.json b/src/assets/i18n/sq.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/sq.json +++ b/src/assets/i18n/sq.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/sr-latn.json b/src/assets/i18n/sr-latn.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/sr-latn.json +++ b/src/assets/i18n/sr-latn.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/sr.json b/src/assets/i18n/sr.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/sr.json +++ b/src/assets/i18n/sr.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/strings.json b/src/assets/i18n/strings.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/strings.json +++ b/src/assets/i18n/strings.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/sv.json b/src/assets/i18n/sv.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/sv.json +++ b/src/assets/i18n/sv.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/sw.json b/src/assets/i18n/sw.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/sw.json +++ b/src/assets/i18n/sw.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/ta.json b/src/assets/i18n/ta.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/ta.json +++ b/src/assets/i18n/ta.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/te.json b/src/assets/i18n/te.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/te.json +++ b/src/assets/i18n/te.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/th.json b/src/assets/i18n/th.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/th.json +++ b/src/assets/i18n/th.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/tr.json b/src/assets/i18n/tr.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/tr.json +++ b/src/assets/i18n/tr.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/tt.json b/src/assets/i18n/tt.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/tt.json +++ b/src/assets/i18n/tt.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/udm.json b/src/assets/i18n/udm.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/udm.json +++ b/src/assets/i18n/udm.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/uk.json b/src/assets/i18n/uk.json index be6b1b35666..1a5879c6ce9 100644 --- a/src/assets/i18n/uk.json +++ b/src/assets/i18n/uk.json @@ -94,6 +94,8 @@ "Additional Domains:": "", "Additional Hardware": "", "Additional Parameters String": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Admin Password": "", @@ -213,6 +215,7 @@ "Backup Tasks": "", "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", + "Base": "", "Basic Constraints Config": "", "Batch Operations": "", "Before updating, please read the release notes.": "", @@ -267,6 +270,7 @@ "Check Alerts for more details.": "", "Check App Details": "", "Check for Software Updates": "", + "Check for docker image updates": "", "Check to enable Audit Logs": "", "Check {name} and {n, plural, one {# other disk} other {# other disks}}.": "", "Check {name}.": "", @@ -1010,6 +1014,7 @@ "Network interface updated": "", "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "New ACME DNS-Authenticator": "", "New Alert": "", "New Backup Credential": "", diff --git a/src/assets/i18n/vi.json b/src/assets/i18n/vi.json index 4b5166b5bc7..91ffd866dc3 100644 --- a/src/assets/i18n/vi.json +++ b/src/assets/i18n/vi.json @@ -280,6 +280,8 @@ "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", "Address": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -575,6 +577,7 @@ "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", "Bandwidth Limit": "", + "Base": "", "Base DN": "", "Base Name": "", "Base64 encoded key for the Azure account.": "", @@ -741,6 +744,7 @@ "Check for Software Updates": "", "Check for Updates": "", "Check for Updates Daily and Download if Available": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2733,6 +2737,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Networks": "", "Never": "", diff --git a/src/assets/i18n/zh-hans.json b/src/assets/i18n/zh-hans.json index 9b25aae8273..b58aaf77165 100644 --- a/src/assets/i18n/zh-hans.json +++ b/src/assets/i18n/zh-hans.json @@ -68,6 +68,8 @@ "Additional Domains:": "", "Additional Hardware": "", "Additional Parameters String": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Admin Password": "", @@ -137,6 +139,7 @@ "Backup Credential": "", "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", + "Base": "", "Basic Constraints Config": "", "Batch Operations": "", "Before updating, please read the release notes.": "", @@ -176,6 +179,7 @@ "Check Alerts for more details.": "", "Check App Details": "", "Check for Software Updates": "", + "Check for docker image updates": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check {name} and {n, plural, one {# other disk} other {# other disks}}.": "", "Check {name}.": "", @@ -693,6 +697,7 @@ "Network Utilization": "", "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "New ACME DNS-Authenticator": "", "New Alert": "", "New Backup Credential": "", diff --git a/src/assets/i18n/zh-hant.json b/src/assets/i18n/zh-hant.json index f03caf7455e..1f4efb6f1a2 100644 --- a/src/assets/i18n/zh-hant.json +++ b/src/assets/i18n/zh-hant.json @@ -237,6 +237,8 @@ "Additional domains to search. Separate entries by pressing Enter. Adding search domains can cause slow DNS lookups.": "", "Additional hosts to be appended to /etc/hosts. Separate entries by pressing Enter. Hosts defined here are still accessible by name even when DNS is not available. See hosts(5) for additional information.": "", "Additional options for nslcd.conf.": "", + "Address Pool": "", + "Address Pools": "", "Adjust Resilver Priority": "", "Adjust Scrub Priority": "", "Adjust Scrub/Resilver Priority": "", @@ -487,6 +489,7 @@ "Backup Tasks": "", "Backup to Cloud or another TrueNAS via links below": "", "Bandwidth": "", + "Base": "", "Base64 encoded key for the Azure account.": "", "Basic Constraints": "", "Basic Constraints Config": "", @@ -617,6 +620,7 @@ "Check App Details": "", "Check Available Apps": "", "Check for Software Updates": "", + "Check for docker image updates": "", "Check the box for full upgrade. Leave unchecked to download only.": "", "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click APPLY PENDING UPDATE to install the downloaded update.": "", "Check this box if importing a certificate for which a CSR exists on this system": "", @@ -2267,6 +2271,7 @@ "Network interface {interface} not found.": "", "Network interfaces do not match between storage controllers.": "", "Network interfaces to include in the bridge.": "", + "Network size of each docker network which will be cut off from base subnet.": "", "Networking": "", "Never Delete": "", "New & Updated Apps": "", diff --git a/tsconfig.strictNullChecks.json b/tsconfig.strictNullChecks.json index 90187d92482..ebc2689c5ff 100644 --- a/tsconfig.strictNullChecks.json +++ b/tsconfig.strictNullChecks.json @@ -282,7 +282,6 @@ "./src/app/interfaces/cloudsync-credential.interface.ts", "./src/app/interfaces/cloudsync-provider.interface.ts", "./src/app/interfaces/config-reset-params.interface.ts", - "./src/app/interfaces/container-config.interface.ts", "./src/app/interfaces/container-image.interface.ts", "./src/app/interfaces/core-bulk.interface.ts", "./src/app/interfaces/core-download.interface.ts", From 931c42e6db68bad28f8535e12bb8e08a6a0d61ec Mon Sep 17 00:00:00 2001 From: Evgeny Stepanovych Date: Thu, 10 Oct 2024 11:24:01 +0200 Subject: [PATCH 3/4] NAS-131643 / 25.04 / Try using shards with Jest (#10817) --- .github/actions/prepare/action.yml | 2 +- .github/workflows/docker_internal.yml | 6 +-- .github/workflows/docker_latest.yml | 6 +-- .github/workflows/main.yml | 37 ++++++++++++++++--- src/app/interfaces/cloud-backup.interface.ts | 2 +- .../update/interfaces/package.interface.ts | 2 +- .../device-form/device-form.component.ts | 1 + 7 files changed, 41 insertions(+), 15 deletions(-) diff --git a/.github/actions/prepare/action.yml b/.github/actions/prepare/action.yml index 362ed57f924..5ad926dd62d 100644 --- a/.github/actions/prepare/action.yml +++ b/.github/actions/prepare/action.yml @@ -10,7 +10,7 @@ runs: node-version: '20' cache: 'yarn' - name: Cache Jest cache - uses: actions/cache@v3 + uses: actions/cache@v4 id: jest-cache with: path: .jest/cache diff --git a/.github/workflows/docker_internal.yml b/.github/workflows/docker_internal.yml index 4c4f20f8be5..42ee69a4ad3 100644 --- a/.github/workflows/docker_internal.yml +++ b/.github/workflows/docker_internal.yml @@ -17,11 +17,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Set up QEMU - uses: docker/setup-qemu-action@v2 + uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Login to DockerHub - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} diff --git a/.github/workflows/docker_latest.yml b/.github/workflows/docker_latest.yml index b891f09aaed..a6a3b0eafb7 100644 --- a/.github/workflows/docker_latest.yml +++ b/.github/workflows/docker_latest.yml @@ -12,11 +12,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Set up QEMU - uses: docker/setup-qemu-action@v2 + uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Login to DockerHub - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d77ca3c6bc7..949507afb15 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -54,20 +54,45 @@ jobs: test: name: Run tests needs: [install] + strategy: + fail-fast: false + matrix: + shard: [1, 2] runs-on: ubuntu-latest - env: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} steps: - name: Checkout uses: actions/checkout@v4 - name: Install uses: ./.github/actions/prepare - name: Run tests - run: yarn test:pr - - if: ${{ env.CODECOV_TOKEN }} - name: Upload coverage to codecov - uses: codecov/codecov-action@v3 + run: yarn test:pr --shard=${{ matrix.shard }}/${{ strategy.job-total }} + - name: Save shard coverage + run: mv coverage/webui/coverage-final.json coverage/${{matrix.shard}}.json && rm -rf coverage/webui + - name: Upload coverage + uses: actions/upload-artifact@v4 + with: + name: coverage-${{ matrix.shard }} + path: coverage/${{matrix.shard}}.json + + report-coverage: + name: Collect coverage + runs-on: ubuntu-latest + needs: [test] + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + steps: + - name: Collect coverage from shards + uses: actions/download-artifact@v4 + with: + pattern: 'coverage-*' + path: coverage + merge-multiple: true + - name: Merge Code Coverage + run: npx -y nyc merge coverage/ coverage/merged-coverage.json + - name: Upload to Codecov + uses: codecov/codecov-action@v4 with: name: webui token: ${{ env.CODECOV_TOKEN }} + file: coverage/merged-coverage.json fail_ci_if_error: true diff --git a/src/app/interfaces/cloud-backup.interface.ts b/src/app/interfaces/cloud-backup.interface.ts index 50cbeb05305..b53f0665782 100644 --- a/src/app/interfaces/cloud-backup.interface.ts +++ b/src/app/interfaces/cloud-backup.interface.ts @@ -22,8 +22,8 @@ export interface CloudBackup { credentials: CloudCredential; job: Job | null; locked: boolean; - bwlimit?: BwLimit[]; keep_last?: number; + bwlimit?: BwLimit[]; } export interface CloudBackupUpdate extends Omit { diff --git a/src/app/pages/system/update/interfaces/package.interface.ts b/src/app/pages/system/update/interfaces/package.interface.ts index d50fa64df08..6f030e20f1d 100644 --- a/src/app/pages/system/update/interfaces/package.interface.ts +++ b/src/app/pages/system/update/interfaces/package.interface.ts @@ -1,4 +1,4 @@ export interface Package { - operation: string; name: string; + operation: string; } diff --git a/src/app/pages/vm/devices/device-form/device-form.component.ts b/src/app/pages/vm/devices/device-form/device-form.component.ts index 1e98d37c0dc..fb84a685286 100644 --- a/src/app/pages/vm/devices/device-form/device-form.component.ts +++ b/src/app/pages/vm/devices/device-form/device-form.component.ts @@ -168,6 +168,7 @@ export class DeviceFormComponent implements OnInit { readonly resolutions$ = this.ws.call('vm.resolution_choices').pipe(choicesToOptions()); readonly nicOptions$ = this.ws.call('vm.device.nic_attach_choices').pipe(choicesToOptions()); readonly nicTypes$ = of(mapToOptions(vmNicTypeLabels, this.translate)); + readonly passthroughProvider = new SimpleAsyncComboboxProvider( this.ws.call('vm.device.passthrough_device_choices').pipe( map((passthroughDevices) => { From 07149afaf64c7cc9f611c6cd8bc2556c825daeac Mon Sep 17 00:00:00 2001 From: Denys Butenko Date: Thu, 10 Oct 2024 19:31:39 +0700 Subject: [PATCH 4/4] NAS-131147 / 25.04 / Allow to edit yaml installed apps (#10804) * NAS-131147: Allow to edit yaml installed apps * NAS-131147: Redirect to installed apps after custom app install * NAS-131147: Use custom app form component to edit custom apps * NAS-131147: Reload installed apps when custom app installed * NAS-131147: Reload installed app when custom app is changed * NAS-131147: Reduce delay --- src/app/helpers/json-to-yaml.helper.ts | 11 +- src/app/interfaces/app.interface.ts | 14 ++- .../app-wizard/app-wizard.component.ts | 4 +- .../custom-app-form.component.html | 11 +- .../custom-app-form.component.spec.ts | 104 +++++++++++++----- .../custom-app-form.component.ts | 74 ++++++++++--- .../app-info-card.component.spec.ts | 55 ++++++--- .../app-info-card/app-info-card.component.ts | 9 +- .../apps/services/applications.service.ts | 5 +- .../store/installed-apps-store.service.ts | 18 ++- src/assets/i18n/af.json | 5 +- src/assets/i18n/ar.json | 5 +- src/assets/i18n/ast.json | 5 +- src/assets/i18n/az.json | 5 +- src/assets/i18n/be.json | 5 +- src/assets/i18n/bg.json | 5 +- src/assets/i18n/bn.json | 5 +- src/assets/i18n/br.json | 5 +- src/assets/i18n/bs.json | 5 +- src/assets/i18n/ca.json | 5 +- src/assets/i18n/cs.json | 5 +- src/assets/i18n/cy.json | 5 +- src/assets/i18n/da.json | 5 +- src/assets/i18n/de.json | 5 +- src/assets/i18n/dsb.json | 5 +- src/assets/i18n/el.json | 5 +- src/assets/i18n/en-au.json | 5 +- src/assets/i18n/en-gb.json | 5 +- src/assets/i18n/en.json | 5 +- src/assets/i18n/eo.json | 5 +- src/assets/i18n/es-ar.json | 5 +- src/assets/i18n/es-co.json | 5 +- src/assets/i18n/es-mx.json | 5 +- src/assets/i18n/es-ni.json | 5 +- src/assets/i18n/es-ve.json | 5 +- src/assets/i18n/es.json | 5 +- src/assets/i18n/et.json | 5 +- src/assets/i18n/eu.json | 5 +- src/assets/i18n/fa.json | 5 +- src/assets/i18n/fi.json | 5 +- src/assets/i18n/fr.json | 5 +- src/assets/i18n/fy.json | 5 +- src/assets/i18n/ga.json | 5 +- src/assets/i18n/gd.json | 5 +- src/assets/i18n/gl.json | 5 +- src/assets/i18n/he.json | 5 +- src/assets/i18n/hi.json | 5 +- src/assets/i18n/hr.json | 5 +- src/assets/i18n/hsb.json | 5 +- src/assets/i18n/hu.json | 5 +- src/assets/i18n/ia.json | 5 +- src/assets/i18n/id.json | 5 +- src/assets/i18n/io.json | 5 +- src/assets/i18n/is.json | 5 +- src/assets/i18n/it.json | 5 +- src/assets/i18n/ja.json | 5 +- src/assets/i18n/ka.json | 5 +- src/assets/i18n/kk.json | 5 +- src/assets/i18n/km.json | 5 +- src/assets/i18n/kn.json | 5 +- src/assets/i18n/ko.json | 5 +- src/assets/i18n/lb.json | 5 +- src/assets/i18n/lt.json | 5 +- src/assets/i18n/lv.json | 5 +- src/assets/i18n/mk.json | 5 +- src/assets/i18n/ml.json | 5 +- src/assets/i18n/mn.json | 5 +- src/assets/i18n/mr.json | 5 +- src/assets/i18n/my.json | 5 +- src/assets/i18n/nb.json | 5 +- src/assets/i18n/ne.json | 5 +- src/assets/i18n/nl.json | 5 +- src/assets/i18n/nn.json | 5 +- src/assets/i18n/os.json | 5 +- src/assets/i18n/pa.json | 5 +- src/assets/i18n/pl.json | 5 +- src/assets/i18n/pt-br.json | 5 +- src/assets/i18n/pt.json | 5 +- src/assets/i18n/ro.json | 5 +- src/assets/i18n/ru.json | 5 +- src/assets/i18n/sk.json | 5 +- src/assets/i18n/sl.json | 5 +- src/assets/i18n/sq.json | 5 +- src/assets/i18n/sr-latn.json | 5 +- src/assets/i18n/sr.json | 5 +- src/assets/i18n/strings.json | 5 +- src/assets/i18n/sv.json | 5 +- src/assets/i18n/sw.json | 5 +- src/assets/i18n/ta.json | 5 +- src/assets/i18n/te.json | 5 +- src/assets/i18n/th.json | 5 +- src/assets/i18n/tr.json | 5 +- src/assets/i18n/tt.json | 5 +- src/assets/i18n/udm.json | 5 +- src/assets/i18n/uk.json | 5 +- src/assets/i18n/vi.json | 5 +- src/assets/i18n/zh-hans.json | 5 +- src/assets/i18n/zh-hant.json | 5 +- 98 files changed, 582 insertions(+), 163 deletions(-) diff --git a/src/app/helpers/json-to-yaml.helper.ts b/src/app/helpers/json-to-yaml.helper.ts index 8daca6ec3cc..11292f40e74 100644 --- a/src/app/helpers/json-to-yaml.helper.ts +++ b/src/app/helpers/json-to-yaml.helper.ts @@ -1,5 +1,5 @@ import { marker as T } from '@biesbjerg/ngx-translate-extract-marker'; -import { dump } from 'js-yaml'; +import { dump, load } from 'js-yaml'; export function jsonToYaml(jsonData: unknown): string { try { @@ -18,3 +18,12 @@ export function jsonToYaml(jsonData: unknown): string { return T('Error occurred'); } } + +export function yamlToJson(value: string): unknown { + try { + return load(value); + } catch (error) { + console.error(error); + return T('Error occurred'); + } +} diff --git a/src/app/interfaces/app.interface.ts b/src/app/interfaces/app.interface.ts index d98d82ddb3c..9a9d13a7cd4 100644 --- a/src/app/interfaces/app.interface.ts +++ b/src/app/interfaces/app.interface.ts @@ -73,6 +73,7 @@ export interface App { portals: Record; version: string; migrated: boolean; + custom_app: boolean; /** * Present with `retrieve_config` query param. */ @@ -132,7 +133,18 @@ export interface AppCreate { } export interface AppUpdate { - values: Record; + /** + * Required when `custom_app = false` + */ + values?: Record; + /** + * Required attr when `custom_app = true` + */ + custom_compose_config?: Record; + /** + * Optional attr when `custom_app = true` + */ + custom_compose_config_string?: string; } export interface AppUpgrade { diff --git a/src/app/pages/apps/components/app-wizard/app-wizard.component.ts b/src/app/pages/apps/components/app-wizard/app-wizard.component.ts index 6f5353f41be..5a375b15841 100644 --- a/src/app/pages/apps/components/app-wizard/app-wizard.component.ts +++ b/src/app/pages/apps/components/app-wizard/app-wizard.component.ts @@ -10,7 +10,9 @@ import { MatDialog } from '@angular/material/dialog'; import { ActivatedRoute, Router } from '@angular/router'; import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy'; import { TranslateService } from '@ngx-translate/core'; -import { isArray, isPlainObject, unset } from 'lodash-es'; +import { + isArray, isPlainObject, unset, +} from 'lodash-es'; import { BehaviorSubject, Observable, of, Subject, Subscription, timer, } from 'rxjs'; diff --git a/src/app/pages/apps/components/custom-app-form/custom-app-form.component.html b/src/app/pages/apps/components/custom-app-form/custom-app-form.component.html index fe924b15e20..a907411d38f 100644 --- a/src/app/pages/apps/components/custom-app-form/custom-app-form.component.html +++ b/src/app/pages/apps/components/custom-app-form/custom-app-form.component.html @@ -1,7 +1,7 @@ @@ -15,12 +15,13 @@ formControlName="release_name" [required]="true" [label]="'Name' | translate" + [readonly]="!isNew()" > @@ -30,11 +31,11 @@ mat-button color="primary" ixTest="save" - [disabled]="!form.valid || isLoading" + [disabled]="!form.valid || isLoading()" > {{ 'Save' | translate }} - \ No newline at end of file + diff --git a/src/app/pages/apps/components/custom-app-form/custom-app-form.component.spec.ts b/src/app/pages/apps/components/custom-app-form/custom-app-form.component.spec.ts index 1042b95dbf7..3d6576530b4 100644 --- a/src/app/pages/apps/components/custom-app-form/custom-app-form.component.spec.ts +++ b/src/app/pages/apps/components/custom-app-form/custom-app-form.component.spec.ts @@ -2,19 +2,22 @@ import { HarnessLoader } from '@angular/cdk/testing'; import { TestbedHarnessEnvironment } from '@angular/cdk/testing/testbed'; import { ReactiveFormsModule } from '@angular/forms'; import { MatButtonHarness } from '@angular/material/button/testing'; +import { Router } from '@angular/router'; import { createComponentFactory, mockProvider, Spectator } from '@ngneat/spectator/jest'; import { MockComponent } from 'ng-mocks'; import { of } from 'rxjs'; import { mockAuth } from 'app/core/testing/utils/mock-auth.utils'; import { mockJob, mockWebSocket } from 'app/core/testing/utils/mock-websocket.utils'; import { AppState } from 'app/enums/app-state.enum'; -import { App } from 'app/interfaces/app.interface'; +import { jsonToYaml } from 'app/helpers/json-to-yaml.helper'; +import { App, ChartFormValue } from 'app/interfaces/app.interface'; import { DialogService } from 'app/modules/dialog/dialog.service'; import { IxCodeEditorComponent } from 'app/modules/forms/ix-forms/components/ix-code-editor/ix-code-editor.component'; import { IxCodeEditorHarness } from 'app/modules/forms/ix-forms/components/ix-code-editor/ix-code-editor.harness'; import { IxInputComponent } from 'app/modules/forms/ix-forms/components/ix-input/ix-input.component'; import { IxInputHarness } from 'app/modules/forms/ix-forms/components/ix-input/ix-input.harness'; import { IxSlideInRef } from 'app/modules/forms/ix-forms/components/ix-slide-in/ix-slide-in-ref'; +import { SLIDE_IN_DATA } from 'app/modules/forms/ix-forms/components/ix-slide-in/ix-slide-in.token'; import { PageHeaderComponent } from 'app/modules/page-header/page-title-header/page-header.component'; import { CustomAppFormComponent } from 'app/pages/apps/components/custom-app-form/custom-app-form.component'; import { ApplicationsService } from 'app/pages/apps/services/applications.service'; @@ -33,6 +36,21 @@ const fakeApp = { icon: 'path-to-icon', train: 'stable', }, + custom_app: true, + config: { + services: { + nginx: { + image: 'nginx:1-alpine', + ports: [ + '8089:80', + ], + volumes: [ + './html5up-stellar/:/usr/share/nginx/html', + ], + }, + }, + version: '3.8', + } as Record, } as App; describe('CustomAppFormComponent', () => { @@ -57,44 +75,78 @@ describe('CustomAppFormComponent', () => { mockProvider(ErrorHandlerService), mockProvider(DialogService, { jobDialog: jest.fn(() => ({ - afterClosed: jest.fn(() => of()), + afterClosed: jest.fn(() => of(true)), })), }), - mockProvider(IxSlideInRef), + mockProvider(IxSlideInRef, { + close: jest.fn(), + }), mockWebSocket([ mockJob('app.create'), + mockJob('app.update'), ]), + mockProvider(Router), ], }); - beforeEach(() => { - spectator = createComponent(); + function setupTest(app?: App): void { + spectator = createComponent({ + providers: [ + { provide: SLIDE_IN_DATA, useValue: app || null }, + ], + }); loader = TestbedHarnessEnvironment.loader(spectator.fixture); - }); + } + + describe('create app', () => { + beforeEach(() => { + setupTest(); + }); - it('closes slide in when successfully submitted', async () => { - const appNameControl = await loader.getHarness(IxInputHarness); - await appNameControl.setValue('test'); - const configControl = await loader.getHarness(IxCodeEditorHarness); - await configControl.setValue('config'); - spectator.detectChanges(); - const button = await loader.getHarness(MatButtonHarness); - await button.click(); + it('checks save and closes slide in when successfully submitted', async () => { + const appNameControl = await loader.getHarness(IxInputHarness); + await appNameControl.setValue('test'); + const configControl = await loader.getHarness(IxCodeEditorHarness); + await configControl.setValue('config'); + spectator.detectChanges(); + const button = await loader.getHarness(MatButtonHarness); + await button.click(); - expect(spectator.inject(WebSocketService).job).toHaveBeenCalledWith('app.create', [{ - custom_app: true, - custom_compose_config_string: 'config', - app_name: 'test', - }]); - expect(spectator.inject(DialogService).jobDialog).toHaveBeenCalled(); + expect(spectator.inject(WebSocketService).job).toHaveBeenCalledWith( + 'app.create', + [{ + custom_app: true, + custom_compose_config_string: 'config', + app_name: 'test', + }], + ); + expect(spectator.inject(DialogService).jobDialog).toHaveBeenCalled(); + }); + + it('forbidden app names are not allowed', async () => { + const appNameControl = await loader.getHarness(IxInputHarness); + await appNameControl.setValue('test-app-one'); + spectator.detectChanges(); + + const button = await loader.getHarness(MatButtonHarness); + expect(button.isDisabled()).toBeTruthy(); + }); }); - it('forbidden app names are not allowed', async () => { - const appNameControl = await loader.getHarness(IxInputHarness); - await appNameControl.setValue('test-app-one'); - spectator.detectChanges(); + describe('edit app', () => { + beforeEach(() => { + setupTest(fakeApp); + }); + + it('checks save and closes slide in when successfully submitted', async () => { + const button = await loader.getHarness(MatButtonHarness); + await button.click(); - const button = await loader.getHarness(MatButtonHarness); - expect(button.isDisabled()).toBeTruthy(); + expect(spectator.inject(WebSocketService).job).toHaveBeenCalledWith('app.update', [ + 'test-app-one', + { custom_compose_config_string: jsonToYaml(fakeApp.config) }, + ]); + expect(spectator.inject(DialogService).jobDialog).toHaveBeenCalled(); + }); }); }); diff --git a/src/app/pages/apps/components/custom-app-form/custom-app-form.component.ts b/src/app/pages/apps/components/custom-app-form/custom-app-form.component.ts index 1fbff74c724..0db0a9d57c5 100644 --- a/src/app/pages/apps/components/custom-app-form/custom-app-form.component.ts +++ b/src/app/pages/apps/components/custom-app-form/custom-app-form.component.ts @@ -1,17 +1,22 @@ import { - ChangeDetectionStrategy, ChangeDetectorRef, Component, + ChangeDetectionStrategy, Component, + Inject, OnInit, + signal, } from '@angular/core'; import { Validators } from '@angular/forms'; +import { Router } from '@angular/router'; import { FormBuilder } from '@ngneat/reactive-forms'; import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy'; import { TranslateService } from '@ngx-translate/core'; import { map } from 'rxjs'; import { CodeEditorLanguage } from 'app/enums/code-editor-language.enum'; import { Role } from 'app/enums/role.enum'; -import { AppCreate } from 'app/interfaces/app.interface'; +import { jsonToYaml } from 'app/helpers/json-to-yaml.helper'; +import { App, AppCreate } from 'app/interfaces/app.interface'; import { DialogService } from 'app/modules/dialog/dialog.service'; import { IxSlideInRef } from 'app/modules/forms/ix-forms/components/ix-slide-in/ix-slide-in-ref'; +import { SLIDE_IN_DATA } from 'app/modules/forms/ix-forms/components/ix-slide-in/ix-slide-in.token'; import { forbiddenAsyncValues } from 'app/modules/forms/ix-forms/validators/forbidden-values-validation/forbidden-values-validation'; import { ApplicationsService } from 'app/pages/apps/services/applications.service'; import { ErrorHandlerService } from 'app/services/error-handler.service'; @@ -24,62 +29,95 @@ import { WebSocketService } from 'app/services/ws.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class CustomAppFormComponent implements OnInit { + protected isNew = signal(true); protected requiredRoles = [Role.AppsWrite]; protected readonly CodeEditorLanguage = CodeEditorLanguage; protected form = this.fb.group({ release_name: ['', Validators.required], custom_compose_config_string: ['\n\n', Validators.required], }); - protected isLoading = false; - protected tooltip = this.translate.instant('Add custom app config in Yaml format.'); + protected isLoading = signal(false); protected forbiddenAppNames$ = this.appService.getAllApps().pipe(map((apps) => apps.map((app) => app.name))); + constructor( private fb: FormBuilder, private translate: TranslateService, - private cdr: ChangeDetectorRef, private ws: WebSocketService, private errorHandler: ErrorHandlerService, private dialogService: DialogService, private appService: ApplicationsService, private dialogRef: IxSlideInRef, + private router: Router, + @Inject(SLIDE_IN_DATA) public data: App, ) {} ngOnInit(): void { + if (this.data) { + this.setAppForEdit(this.data); + } else { + this.setNewApp(); + } + } + + private setNewApp(): void { this.addForbiddenAppNamesValidator(); } + private setAppForEdit(app: App): void { + this.isNew.set(false); + this.form.patchValue({ + release_name: app.id, + custom_compose_config_string: jsonToYaml(app.config), + }); + } + protected addForbiddenAppNamesValidator(): void { this.form.controls.release_name.setAsyncValidators(forbiddenAsyncValues(this.forbiddenAppNames$)); this.form.controls.release_name.updateValueAndValidity(); } protected onSubmit(): void { - this.isLoading = true; - this.cdr.markForCheck(); + this.isLoading.set(true); const data = this.form.value; + + const appCreate$ = this.ws.job( + 'app.create', + [{ + custom_app: true, + app_name: data.release_name, + custom_compose_config_string: data.custom_compose_config_string, + } as AppCreate], + ); + + const appUpdate$ = this.ws.job('app.update', [ + data.release_name, + { custom_compose_config_string: data.custom_compose_config_string }, + ]); + + const job$ = this.isNew() ? appCreate$ : appUpdate$; + this.dialogService.jobDialog( - this.ws.job( - 'app.create', - [{ - custom_app: true, - app_name: data.release_name, - custom_compose_config_string: data.custom_compose_config_string, - } as AppCreate], - ), + job$, { title: this.translate.instant('Custom App'), canMinimize: false, - description: this.translate.instant('Creating custom app'), + description: this.isNew() + ? this.translate.instant('Creating custom app') + : this.translate.instant('Updating custom app'), }, ).afterClosed().pipe( untilDestroyed(this), ).subscribe({ next: () => { this.dialogRef.close(); + if (this.isNew()) { + this.router.navigate(['/apps', 'installed']); + } else { + this.router.navigate(['/apps', 'installed', this.data.metadata.train, this.data.name]); + } }, error: (error) => { - this.isLoading = false; - this.cdr.markForCheck(); + this.isLoading.set(false); this.errorHandler.showErrorModal(error); }, }); diff --git a/src/app/pages/apps/components/installed-apps/app-info-card/app-info-card.component.spec.ts b/src/app/pages/apps/components/installed-apps/app-info-card/app-info-card.component.spec.ts index ccfc1732d8f..347f0ef839d 100644 --- a/src/app/pages/apps/components/installed-apps/app-info-card/app-info-card.component.spec.ts +++ b/src/app/pages/apps/components/installed-apps/app-info-card/app-info-card.component.spec.ts @@ -18,12 +18,14 @@ import { DialogService } from 'app/modules/dialog/dialog.service'; import { CleanLinkPipe } from 'app/modules/pipes/clean-link/clean-link.pipe'; import { OrNotAvailablePipe } from 'app/modules/pipes/or-not-available/or-not-available.pipe'; import { AppCardLogoComponent } from 'app/pages/apps/components/app-card-logo/app-card-logo.component'; +import { CustomAppFormComponent } from 'app/pages/apps/components/custom-app-form/custom-app-form.component'; import { AppInfoCardComponent } from 'app/pages/apps/components/installed-apps/app-info-card/app-info-card.component'; import { AppRollbackModalComponent } from 'app/pages/apps/components/installed-apps/app-rollback-modal/app-rollback-modal.component'; import { AppUpgradeDialogComponent } from 'app/pages/apps/components/installed-apps/app-upgrade-dialog/app-upgrade-dialog.component'; import { ApplicationsService } from 'app/pages/apps/services/applications.service'; import { InstalledAppsStore } from 'app/pages/apps/store/installed-apps-store.service'; import { AppVersionPipe } from 'app/pages/dashboard/widgets/apps/common/utils/app-version.pipe'; +import { IxSlideInService } from 'app/services/ix-slide-in.service'; import { RedirectService } from 'app/services/redirect.service'; import { WebSocketService } from 'app/services/ws.service'; @@ -31,7 +33,7 @@ describe('AppInfoCardComponent', () => { let spectator: Spectator; let loader: HarnessLoader; - const app = { + const fakeApp = { id: 'ix-test-app', name: 'test-user-app-name', human_version: '1.2.3_3.2.1', @@ -50,6 +52,7 @@ describe('AppInfoCardComponent', () => { 'Web UI': 'http://localhost:8000/ui', 'Admin Panel': 'http://localhost:8000/admin', } as Record, + custom_app: false, } as App; const upgradeSummary = {} as AppUpgradeSummary; @@ -106,16 +109,15 @@ describe('AppInfoCardComponent', () => { ], }); - beforeEach(() => { + function setupTest(app: App): void { spectator = createComponent({ - props: { - app, - }, + props: { app }, }); loader = TestbedHarnessEnvironment.loader(spectator.fixture); - }); + } it('shows app name as a link', () => { + setupTest(fakeApp); spectator.detectChanges(); const appNameLink = spectator.query('.details-list a.value'); expect(appNameLink).toHaveText('test-user-app-name'); @@ -123,6 +125,7 @@ describe('AppInfoCardComponent', () => { }); it('shows details', () => { + setupTest(fakeApp); const detailsElements = spectator.queryAll('.details-item'); const details = detailsElements.map((element) => ({ label: element.querySelector('.label').textContent, @@ -153,6 +156,7 @@ describe('AppInfoCardComponent', () => { }); it('shows header', () => { + setupTest(fakeApp); spectator.detectChanges(); expect(spectator.query('mat-card-header h3')).toHaveText('Application Info'); expect(spectator.query('mat-card-header button#edit-app')).toHaveText('Edit'); @@ -160,6 +164,8 @@ describe('AppInfoCardComponent', () => { }); it('opens upgrade app dialog when Update button is pressed', async () => { + setupTest(fakeApp); + const updateButton = await loader.getHarness(MatButtonHarness.with({ text: 'Update' })); await updateButton.click(); @@ -168,23 +174,42 @@ describe('AppInfoCardComponent', () => { minWidth: '500px', width: '50vw', data: { - appInfo: app, + appInfo: fakeApp, upgradeSummary, }, }); }); it('navigates to app edit page when Edit button is pressed', async () => { + setupTest(fakeApp); + const router = spectator.inject(Router); jest.spyOn(router, 'navigate').mockImplementation(); const editButton = await loader.getHarness(MatButtonHarness.with({ text: 'Edit' })); await editButton.click(); - expect(router.navigate).toHaveBeenCalledWith(['/apps', 'installed', app.metadata.train, app.id, 'edit']); + expect(router.navigate).toHaveBeenCalledWith(['/apps', 'installed', fakeApp.metadata.train, fakeApp.id, 'edit']); + }); + + it('opens slide-in form to edit custom app when Edit button is pressed', async () => { + setupTest({ ...fakeApp, custom_app: true }); + + const slideIn = spectator.inject(IxSlideInService); + jest.spyOn(slideIn, 'open').mockImplementation(); + + const editButton = await loader.getHarness(MatButtonHarness.with({ text: 'Edit' })); + await editButton.click(); + + expect(slideIn.open).toHaveBeenCalledWith(CustomAppFormComponent, { + data: + { ...fakeApp, custom_app: true }, + }); }); it('opens delete app dialog when Delete button is pressed', async () => { + setupTest(fakeApp); + const deleteButton = await loader.getHarness(MatButtonHarness.with({ text: 'Delete' })); await deleteButton.click(); @@ -197,11 +222,13 @@ describe('AppInfoCardComponent', () => { }); expect(spectator.inject(WebSocketService).job).toHaveBeenCalledWith( 'app.delete', - [app.name, { remove_images: true, remove_ix_volumes: true }], + [fakeApp.name, { remove_images: true, remove_ix_volumes: true }], ); }); it('shows portal buttons and opens a URL when one of the button is clicked', async () => { + setupTest(fakeApp); + const buttons = await loader.getAllHarnesses(MatButtonHarness.with({ ancestor: '.portals' })); expect(buttons).toHaveLength(2); @@ -210,12 +237,12 @@ describe('AppInfoCardComponent', () => { await buttons[1].click(); - expect(spectator.inject(RedirectService).openWindow).toHaveBeenCalledWith(app.portals['Web UI']); + expect(spectator.inject(RedirectService).openWindow).toHaveBeenCalledWith(fakeApp.portals['Web UI']); }); it('opens a URL with the current host and port when the portal hostname is 0.0.0.0', async () => { - spectator.setInput('app', { - ...app, + setupTest({ + ...fakeApp, portals: { 'Web UI': 'http://0.0.0.0:8000/ui?q=ui#yes', 'Admin Panel': 'http://0.0.0.0:8000', @@ -236,11 +263,13 @@ describe('AppInfoCardComponent', () => { }); it('opens rollback app dialog when Roll Back button is pressed', async () => { + setupTest(fakeApp); + const rollbackButton = await loader.getHarness(MatButtonHarness.with({ text: 'Roll Back' })); await rollbackButton.click(); expect(spectator.inject(MatDialog).open).toHaveBeenCalledWith(AppRollbackModalComponent, { - data: app, + data: fakeApp, }); }); }); diff --git a/src/app/pages/apps/components/installed-apps/app-info-card/app-info-card.component.ts b/src/app/pages/apps/components/installed-apps/app-info-card/app-info-card.component.ts index 39fb3a159f8..ec1130ac0cc 100644 --- a/src/app/pages/apps/components/installed-apps/app-info-card/app-info-card.component.ts +++ b/src/app/pages/apps/components/installed-apps/app-info-card/app-info-card.component.ts @@ -20,11 +20,13 @@ import { AppUpgradeDialogConfig } from 'app/interfaces/app-upgrade-dialog-config import { App } from 'app/interfaces/app.interface'; import { DialogService } from 'app/modules/dialog/dialog.service'; import { AppLoaderService } from 'app/modules/loader/app-loader.service'; +import { CustomAppFormComponent } from 'app/pages/apps/components/custom-app-form/custom-app-form.component'; import { AppRollbackModalComponent } from 'app/pages/apps/components/installed-apps/app-rollback-modal/app-rollback-modal.component'; import { AppUpgradeDialogComponent } from 'app/pages/apps/components/installed-apps/app-upgrade-dialog/app-upgrade-dialog.component'; import { ApplicationsService } from 'app/pages/apps/services/applications.service'; import { InstalledAppsStore } from 'app/pages/apps/store/installed-apps-store.service'; import { ErrorHandlerService } from 'app/services/error-handler.service'; +import { IxSlideInService } from 'app/services/ix-slide-in.service'; import { RedirectService } from 'app/services/redirect.service'; import { WebSocketService } from 'app/services/ws.service'; @@ -67,6 +69,7 @@ export class AppInfoCardComponent { private translate: TranslateService, private router: Router, private installedAppsStore: InstalledAppsStore, + private slideIn: IxSlideInService, @Inject(WINDOW) private window: Window, ) {} @@ -109,7 +112,11 @@ export class AppInfoCardComponent { editButtonPressed(): void { const app = this.app(); - this.router.navigate(['/apps', 'installed', app.metadata.train, app.id, 'edit']); + if (app.custom_app) { + this.slideIn.open(CustomAppFormComponent, { data: app }); + } else { + this.router.navigate(['/apps', 'installed', app.metadata.train, app.id, 'edit']); + } } deleteButtonPressed(): void { diff --git a/src/app/pages/apps/services/applications.service.ts b/src/app/pages/apps/services/applications.service.ts index 0568084dffb..09797bed43d 100644 --- a/src/app/pages/apps/services/applications.service.ts +++ b/src/app/pages/apps/services/applications.service.ts @@ -2,7 +2,6 @@ import { Injectable } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { Observable, OperatorFunction, filter, map, pipe, - shareReplay, } from 'rxjs'; import { customApp } from 'app/constants/catalog.constants'; import { AppExtraCategory } from 'app/enums/app-extra-category.enum'; @@ -61,9 +60,7 @@ export class ApplicationsService { } getAllApps(): Observable { - return this.ws.call('app.query', [[], { extra: { retrieve_config: true } }]).pipe( - shareReplay({ bufferSize: 1, refCount: true }), - ); + return this.ws.call('app.query', [[], { extra: { retrieve_config: true } }]); } getApp(name: string): Observable { diff --git a/src/app/pages/apps/store/installed-apps-store.service.ts b/src/app/pages/apps/store/installed-apps-store.service.ts index 3964cc10a3f..1b1b1e79bab 100644 --- a/src/app/pages/apps/store/installed-apps-store.service.ts +++ b/src/app/pages/apps/store/installed-apps-store.service.ts @@ -3,7 +3,7 @@ import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy'; import { ComponentStore } from '@ngrx/component-store'; import { EMPTY, - Observable, Subscription, catchError, filter, of, switchMap, tap, + Observable, Subscription, catchError, delay, filter, of, repeat, switchMap, tap, withLatestFrom, } from 'rxjs'; import { IncomingApiMessageType } from 'app/enums/api-message-type.enum'; @@ -94,10 +94,17 @@ export class InstalledAppsStore extends ComponentStore imple } return this.appsService.getAllApps().pipe( - tap((installedApps) => { - this.patchState({ - installedApps: [...installedApps], - }); + tap((installedApps) => this.patchState({ installedApps })), + repeat({ + // TODO: NAS-131676. Remove this workaround after the bug is fixed. + delay: () => this.appsService.getInstalledAppsUpdates().pipe( + filter((event) => { + return (event.msg === IncomingApiMessageType.Added && !('fields' in event)) + || (event.msg === IncomingApiMessageType.Changed && event.fields.custom_app); + }), + tap(() => this.patchState({ isLoading: true })), + delay(2000), + ), }), ); }), @@ -163,6 +170,7 @@ export class InstalledAppsStore extends ComponentStore imple private handleAddedOrUpdatedEvent(apiEvent: ApiEvent): void { const app = apiEvent.fields; if (!app) { + console.error('No app data in API event'); return; } diff --git a/src/assets/i18n/af.json b/src/assets/i18n/af.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/af.json +++ b/src/assets/i18n/af.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/ar.json b/src/assets/i18n/ar.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/ar.json +++ b/src/assets/i18n/ar.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/ast.json b/src/assets/i18n/ast.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/ast.json +++ b/src/assets/i18n/ast.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/az.json b/src/assets/i18n/az.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/az.json +++ b/src/assets/i18n/az.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/be.json b/src/assets/i18n/be.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/be.json +++ b/src/assets/i18n/be.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/bg.json b/src/assets/i18n/bg.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/bg.json +++ b/src/assets/i18n/bg.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/bn.json b/src/assets/i18n/bn.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/bn.json +++ b/src/assets/i18n/bn.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/br.json b/src/assets/i18n/br.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/br.json +++ b/src/assets/i18n/br.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/bs.json b/src/assets/i18n/bs.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/bs.json +++ b/src/assets/i18n/bs.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/ca.json b/src/assets/i18n/ca.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/ca.json +++ b/src/assets/i18n/ca.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/cs.json b/src/assets/i18n/cs.json index f4c526673c7..d30b5dce31f 100644 --- a/src/assets/i18n/cs.json +++ b/src/assets/i18n/cs.json @@ -46,11 +46,11 @@ "Activates a tuning script which attempts to optimize the system depending on the installed hardware. Warning: Autotuning is only used as a temporary measure and is not a permanent fix for system hardware issues.": "", "Activates the configuration. Unset to disable the configuration without deleting it.": "", "Activates the replication schedule.": "", + "Add Custom App": "", "Add a new bucket to your Storj account.": "", "Add any more sshd_config(5) options not covered in this screen. Enter one option per line. These options are case-sensitive. Misspellings can prevent the SSH service from starting.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -749,6 +749,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1083,6 +1084,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -3907,6 +3909,7 @@ "Unset to disable the scheduled scrub without deleting it.": "", "Unset to disable this service without deleting it.": "", "Update Members": "", + "Updating custom app": "", "Use compressed WRITE records to make the stream more efficient. The destination system must also support compressed WRITE records. See zfs(8).": "", "Use settings from a saved replication.": "", "Use snapshot {snapshot} to roll {dataset} back to {datetime}?": "", diff --git a/src/assets/i18n/cy.json b/src/assets/i18n/cy.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/cy.json +++ b/src/assets/i18n/cy.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/da.json b/src/assets/i18n/da.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/da.json +++ b/src/assets/i18n/da.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index 9d2c344613f..e40e2e3660a 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -116,6 +116,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Disk Test": "", "Add Disks": "", @@ -168,7 +169,6 @@ "Add any more sshd_config(5) options not covered in this screen. Enter one option per line. These options are case-sensitive. Misspellings can prevent the SSH service from starting.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add iSCSI": "", "Add listen": "", @@ -789,6 +789,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1033,6 +1034,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Disk": "", @@ -3332,6 +3334,7 @@ "Updates available": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/dsb.json b/src/assets/i18n/dsb.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/dsb.json +++ b/src/assets/i18n/dsb.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/el.json b/src/assets/i18n/el.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/el.json +++ b/src/assets/i18n/el.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/en-au.json b/src/assets/i18n/en-au.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/en-au.json +++ b/src/assets/i18n/en-au.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/en-gb.json b/src/assets/i18n/en-gb.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/en-gb.json +++ b/src/assets/i18n/en-gb.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/eo.json b/src/assets/i18n/eo.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/eo.json +++ b/src/assets/i18n/eo.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/es-ar.json b/src/assets/i18n/es-ar.json index 05c263e51c8..2fed1aeff46 100644 --- a/src/assets/i18n/es-ar.json +++ b/src/assets/i18n/es-ar.json @@ -93,6 +93,7 @@ "Add Cloud Backup": "", "Add Cloud Credential": "", "Add Credential": "", + "Add Custom App": "", "Add Disk Test": "", "Add Disks": "", "Add Disks To:": "", @@ -132,7 +133,6 @@ "Add any more sshd_config(5) options not covered in this screen. Enter one option per line. These options are case-sensitive. Misspellings can prevent the SSH service from starting.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add iSCSI": "", "Add new": "", "Add the required no. of disks to get a vdev size estimate": "", @@ -583,6 +583,7 @@ "Custom Config": "", "Custom Name": "", "Custom Transfers": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "DEBUG": "", @@ -774,6 +775,7 @@ "Edit Associated Target": "", "Edit Auto TRIM": "", "Edit Certificate": "", + "Edit Custom App": "", "Edit Disk(s)": "", "Edit Expansion Shelf": "", "Edit Global Configuration": "", @@ -2558,6 +2560,7 @@ "Updates": "", "Updates available": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/es-co.json b/src/assets/i18n/es-co.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/es-co.json +++ b/src/assets/i18n/es-co.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/es-mx.json b/src/assets/i18n/es-mx.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/es-mx.json +++ b/src/assets/i18n/es-mx.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/es-ni.json b/src/assets/i18n/es-ni.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/es-ni.json +++ b/src/assets/i18n/es-ni.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/es-ve.json b/src/assets/i18n/es-ve.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/es-ve.json +++ b/src/assets/i18n/es-ve.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/es.json b/src/assets/i18n/es.json index 3844c8e1cb8..531cd393c72 100644 --- a/src/assets/i18n/es.json +++ b/src/assets/i18n/es.json @@ -170,6 +170,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Device": "", "Add Disk Test": "", @@ -238,7 +239,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -989,6 +989,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1307,6 +1308,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4255,6 +4257,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade All Selected": "", "Upgrade Pool": "", diff --git a/src/assets/i18n/et.json b/src/assets/i18n/et.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/et.json +++ b/src/assets/i18n/et.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/eu.json b/src/assets/i18n/eu.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/eu.json +++ b/src/assets/i18n/eu.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/fa.json b/src/assets/i18n/fa.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/fa.json +++ b/src/assets/i18n/fa.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/fi.json b/src/assets/i18n/fi.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/fi.json +++ b/src/assets/i18n/fi.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/fr.json b/src/assets/i18n/fr.json index 8ee8cb5b7fd..d5d3cb87105 100644 --- a/src/assets/i18n/fr.json +++ b/src/assets/i18n/fr.json @@ -15,6 +15,7 @@ "AD Timeout": "", "ALL Initiators Allowed": "", "Active Directory": "", + "Add Custom App": "", "Add Expansion Shelf": "", "Add to trusted store": "", "Additional Parameters String": "", @@ -149,6 +150,7 @@ "Custom App via YAML": "", "Custom Config": "", "Custom Name": "", + "Custom app config in YAML format.": "", "Customer Name": "", "DNS Timeout": "", "DS Groups": "", @@ -191,6 +193,7 @@ "Drop session": "", "Dropbox": "", "Dry run completed.": "", + "Edit Custom App": "", "Edit Expansion Shelf": "", "Edit Label": "", "Edit Trim": "", @@ -802,6 +805,7 @@ "Update Dashboard": "", "Update Interval": "", "Update Members": "", + "Updating custom app": "", "Usage Collection": "", "Usages": "", "User Bind Path": "", @@ -1154,7 +1158,6 @@ "Add any notes about this zvol.": "Ajouter des notes sur ce zvol.", "Add bucket": "Ajouter un bucket", "Add catalog to system even if some trains are unhealthy.": "Ajoutez un catalogue au système même si certains canaux ne sont pas sains.", - "Add custom app config in Yaml format.": "Ajoutez une configuration d'application personnalisée au format Yaml.", "Add entry": "Ajouter une entrée", "Add groups": "Ajouter des groupes", "Add iSCSI": "Ajouter iSCSI", diff --git a/src/assets/i18n/fy.json b/src/assets/i18n/fy.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/fy.json +++ b/src/assets/i18n/fy.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/ga.json b/src/assets/i18n/ga.json index 2445c9d18d3..2b1676ad871 100644 --- a/src/assets/i18n/ga.json +++ b/src/assets/i18n/ga.json @@ -1,7 +1,7 @@ { "": "", "1m Average": "", - "Add custom app config in Yaml format.": "", + "Add Custom App": "", "Add to trusted store": "", "Additional Parameters String": "", "Address Pool": "", @@ -35,12 +35,14 @@ "Credentials have been successfully added.": "", "Custom App via YAML": "", "Custom Config": "", + "Custom app config in YAML format.": "", "Deduplication is experimental in 24.10 and not fully supported. When enabled, data is permanently stored with this memory-intensive method and cannot be undone. Take extreme caution and ensure you have adequate data backups before enabling this feature.": "", "Default widgets restored": "", "Delete Snapshot": "", "Device «{disk}» has been detached.": "", "Device «{name}» was successfully attached.": "", "Docker Write": "", + "Edit Custom App": "", "Enable server support for NFSv3 or NFSv4 or both NFSv3 and NFSv4 clients.": "", "Enclosure Unavailable": "", "Ensure that ACL permissions are validated for all users and groups. Disabling this may allow configurations that do not provide the intended access. It is recommended to keep this option enabled.": "", @@ -92,6 +94,7 @@ "Support License": "", "This dataset is used to store apps config and other container related data": "", "Update Members": "", + "Updating custom app": "", "Using 3rd party applications with TrueNAS extends its\n functionality beyond standard NAS use, which can introduce risks like data loss or system disruption.

\n iXsystems does not guarantee application safety or reliability, and such applications may not\n be covered by support contracts. Issues with core NAS functionality may be closed without\n further investigation if the same data or filesystems are accessed by these applications.": "", "VMware: Extent block size 512b, TPC enabled, no Xen compat mode, SSD speed": "", "Validate effective ACL": "", diff --git a/src/assets/i18n/gd.json b/src/assets/i18n/gd.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/gd.json +++ b/src/assets/i18n/gd.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/gl.json b/src/assets/i18n/gl.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/gl.json +++ b/src/assets/i18n/gl.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/he.json b/src/assets/i18n/he.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/he.json +++ b/src/assets/i18n/he.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/hi.json b/src/assets/i18n/hi.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/hi.json +++ b/src/assets/i18n/hi.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/hr.json b/src/assets/i18n/hr.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/hr.json +++ b/src/assets/i18n/hr.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/hsb.json b/src/assets/i18n/hsb.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/hsb.json +++ b/src/assets/i18n/hsb.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/hu.json b/src/assets/i18n/hu.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/hu.json +++ b/src/assets/i18n/hu.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/ia.json b/src/assets/i18n/ia.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/ia.json +++ b/src/assets/i18n/ia.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/id.json b/src/assets/i18n/id.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/id.json +++ b/src/assets/i18n/id.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/io.json b/src/assets/i18n/io.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/io.json +++ b/src/assets/i18n/io.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/is.json b/src/assets/i18n/is.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/is.json +++ b/src/assets/i18n/is.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/it.json b/src/assets/i18n/it.json index d05b1de2845..781299d652c 100644 --- a/src/assets/i18n/it.json +++ b/src/assets/i18n/it.json @@ -166,6 +166,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -237,7 +238,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -957,6 +957,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1273,6 +1274,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -3596,6 +3598,7 @@ "URL": "", "UTC": "", "Update Members": "", + "Updating custom app": "", "Use Custom ACME Server Directory URI": "", "Use compressed WRITE records to make the stream more efficient. The destination system must also support compressed WRITE records. See zfs(8).": "", "User Execute": "", diff --git a/src/assets/i18n/ja.json b/src/assets/i18n/ja.json index 97bfd5e944e..fb4c81a9dbc 100644 --- a/src/assets/i18n/ja.json +++ b/src/assets/i18n/ja.json @@ -158,6 +158,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Device": "", "Add Disk Test": "", @@ -226,7 +227,6 @@ "Add any more sshd_config(5) options not covered in this screen. Enter one option per line. These options are case-sensitive. Misspellings can prevent the SSH service from starting.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -914,6 +914,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1239,6 +1240,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4138,6 +4140,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/ka.json b/src/assets/i18n/ka.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/ka.json +++ b/src/assets/i18n/ka.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/kk.json b/src/assets/i18n/kk.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/kk.json +++ b/src/assets/i18n/kk.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/km.json b/src/assets/i18n/km.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/km.json +++ b/src/assets/i18n/km.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/kn.json b/src/assets/i18n/kn.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/kn.json +++ b/src/assets/i18n/kn.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/ko.json b/src/assets/i18n/ko.json index 370b5ab088d..6757a0042ed 100644 --- a/src/assets/i18n/ko.json +++ b/src/assets/i18n/ko.json @@ -44,6 +44,7 @@ "Add Cloud Backup": "", "Add Cloud Credential": "", "Add Credential": "", + "Add Custom App": "", "Add Disk Test": "", "Add Expansion Shelf": "", "Add Exporter": "", @@ -73,7 +74,6 @@ "Add Virtual Machine": "", "Add Volume": "", "Add Widget": "", - "Add custom app config in Yaml format.": "", "Add iSCSI": "", "Add the required no. of disks to get a vdev size estimate": "", "Add to trusted store": "", @@ -664,6 +664,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1027,6 +1028,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4190,6 +4192,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/lb.json b/src/assets/i18n/lb.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/lb.json +++ b/src/assets/i18n/lb.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/lt.json b/src/assets/i18n/lt.json index 4cdae2e3c28..49338c6559a 100644 --- a/src/assets/i18n/lt.json +++ b/src/assets/i18n/lt.json @@ -181,6 +181,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -252,7 +253,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1082,6 +1082,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1445,6 +1446,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4608,6 +4610,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/lv.json b/src/assets/i18n/lv.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/lv.json +++ b/src/assets/i18n/lv.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/mk.json b/src/assets/i18n/mk.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/mk.json +++ b/src/assets/i18n/mk.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/ml.json b/src/assets/i18n/ml.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/ml.json +++ b/src/assets/i18n/ml.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/mn.json b/src/assets/i18n/mn.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/mn.json +++ b/src/assets/i18n/mn.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/mr.json b/src/assets/i18n/mr.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/mr.json +++ b/src/assets/i18n/mr.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/my.json b/src/assets/i18n/my.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/my.json +++ b/src/assets/i18n/my.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/nb.json b/src/assets/i18n/nb.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/nb.json +++ b/src/assets/i18n/nb.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/ne.json b/src/assets/i18n/ne.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/ne.json +++ b/src/assets/i18n/ne.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/nl.json b/src/assets/i18n/nl.json index 5c0df771c97..2fa2cfb6cec 100644 --- a/src/assets/i18n/nl.json +++ b/src/assets/i18n/nl.json @@ -31,6 +31,7 @@ "Add Cloud Backup": "", "Add Cloud Credential": "", "Add Credential": "", + "Add Custom App": "", "Add Disk Test": "", "Add Expansion Shelf": "", "Add Exporter": "", @@ -58,7 +59,6 @@ "Add Virtual Machine": "", "Add Volume": "", "Add Widget": "", - "Add custom app config in Yaml format.": "", "Add iSCSI": "", "Add the required no. of disks to get a vdev size estimate": "", "Add to trusted store": "", @@ -296,6 +296,7 @@ "Custom App via YAML": "", "Custom Config": "", "Custom Name": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "DNS Timeout": "", @@ -382,6 +383,7 @@ "Dry run completed.": "", "EXPIRED": "", "EXPIRES TODAY": "", + "Edit Custom App": "", "Edit Disk(s)": "", "Edit Expansion Shelf": "", "Edit Label": "", @@ -1134,6 +1136,7 @@ "Update Software": "", "Update System": "", "Updates available": "", + "Updating custom app": "", "Upgrade All Selected": "", "Upgrade Release Notes": "", "Upload Configuration": "", diff --git a/src/assets/i18n/nn.json b/src/assets/i18n/nn.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/nn.json +++ b/src/assets/i18n/nn.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/os.json b/src/assets/i18n/os.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/os.json +++ b/src/assets/i18n/os.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/pa.json b/src/assets/i18n/pa.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/pa.json +++ b/src/assets/i18n/pa.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/pl.json b/src/assets/i18n/pl.json index 5c6eab865a0..8eedbfd3a6b 100644 --- a/src/assets/i18n/pl.json +++ b/src/assets/i18n/pl.json @@ -156,6 +156,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Device": "", "Add Disk Test": "", @@ -222,7 +223,6 @@ "Add any more sshd_config(5) options not covered in this screen. Enter one option per line. These options are case-sensitive. Misspellings can prevent the SSH service from starting.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1038,6 +1038,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1398,6 +1399,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4536,6 +4538,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/pt-br.json b/src/assets/i18n/pt-br.json index 61cc6e7b974..c3be58843b0 100644 --- a/src/assets/i18n/pt-br.json +++ b/src/assets/i18n/pt-br.json @@ -128,6 +128,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -199,7 +200,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1029,6 +1029,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1392,6 +1393,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4554,6 +4556,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/pt.json b/src/assets/i18n/pt.json index 470598d010e..444dfb73270 100644 --- a/src/assets/i18n/pt.json +++ b/src/assets/i18n/pt.json @@ -78,6 +78,7 @@ "Add Certificate Signing Requests": "", "Add Cloud Credential": "", "Add Credential": "", + "Add Custom App": "", "Add Disk Test": "", "Add Exporter": "", "Add Filesystem": "", @@ -99,7 +100,6 @@ "Add Virtual Machine": "", "Add Volume": "", "Add Widget": "", - "Add custom app config in Yaml format.": "", "Add iSCSI": "", "Add the required no. of disks to get a vdev size estimate": "", "Add to trusted store": "", @@ -474,6 +474,7 @@ "Custom App via YAML": "", "Custom Config": "", "Custom Name": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -665,6 +666,7 @@ "Dry run completed.": "", "EXPIRED": "", "EXPIRES TODAY": "", + "Edit Custom App": "", "Edit Disk(s)": "", "Edit Trim": "", "Editing interface will result in default gateway being removed, which may result in TrueNAS being inaccessible. You can provide new default gateway now:": "", @@ -2861,6 +2863,7 @@ "Update System": "", "Updated 'Use as Home Share'": "", "Updates available": "", + "Updating custom app": "", "Upgrade All Selected": "", "Upgrade Release Notes": "", "Upgrades both controllers. Files are downloaded to the Active Controller and then transferred to the Standby Controller. The upgrade process starts concurrently on both TrueNAS Controllers. Continue with download?": "", diff --git a/src/assets/i18n/ro.json b/src/assets/i18n/ro.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/ro.json +++ b/src/assets/i18n/ro.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/ru.json b/src/assets/i18n/ru.json index eebb0091527..aea59bde0f6 100644 --- a/src/assets/i18n/ru.json +++ b/src/assets/i18n/ru.json @@ -91,6 +91,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Device": "", "Add Disk Test": "", @@ -156,7 +157,6 @@ "Add any more sshd_config(5) options not covered in this screen. Enter one option per line. These options are case-sensitive. Misspellings can prevent the SSH service from starting.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -668,6 +668,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "DEBUG": "", @@ -891,6 +892,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -2961,6 +2963,7 @@ "Updated 'Use as Home Share'": "", "Updated Date": "", "Updates available": "", + "Updating custom app": "", "Updating key type": "", "Upgrade All Selected": "", "Upgrade Release Notes": "", diff --git a/src/assets/i18n/sk.json b/src/assets/i18n/sk.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/sk.json +++ b/src/assets/i18n/sk.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/sl.json b/src/assets/i18n/sl.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/sl.json +++ b/src/assets/i18n/sl.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/sq.json b/src/assets/i18n/sq.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/sq.json +++ b/src/assets/i18n/sq.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/sr-latn.json b/src/assets/i18n/sr-latn.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/sr-latn.json +++ b/src/assets/i18n/sr-latn.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/sr.json b/src/assets/i18n/sr.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/sr.json +++ b/src/assets/i18n/sr.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/strings.json b/src/assets/i18n/strings.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/strings.json +++ b/src/assets/i18n/strings.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/sv.json b/src/assets/i18n/sv.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/sv.json +++ b/src/assets/i18n/sv.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/sw.json b/src/assets/i18n/sw.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/sw.json +++ b/src/assets/i18n/sw.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/ta.json b/src/assets/i18n/ta.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/ta.json +++ b/src/assets/i18n/ta.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/te.json b/src/assets/i18n/te.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/te.json +++ b/src/assets/i18n/te.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/th.json b/src/assets/i18n/th.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/th.json +++ b/src/assets/i18n/th.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/tr.json b/src/assets/i18n/tr.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/tr.json +++ b/src/assets/i18n/tr.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/tt.json b/src/assets/i18n/tt.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/tt.json +++ b/src/assets/i18n/tt.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/udm.json b/src/assets/i18n/udm.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/udm.json +++ b/src/assets/i18n/udm.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/uk.json b/src/assets/i18n/uk.json index 1a5879c6ce9..bef24943e07 100644 --- a/src/assets/i18n/uk.json +++ b/src/assets/i18n/uk.json @@ -56,6 +56,7 @@ "Add Cloud Backup": "", "Add Cloud Credential": "", "Add Credential": "", + "Add Custom App": "", "Add Disk Test": "", "Add Expansion Shelf": "", "Add Exporter": "", @@ -85,7 +86,6 @@ "Add Virtual Machine": "", "Add Volume": "", "Add Widget": "", - "Add custom app config in Yaml format.": "", "Add iSCSI": "", "Add the required no. of disks to get a vdev size estimate": "", "Add to trusted store": "", @@ -432,6 +432,7 @@ "Custom App via YAML": "", "Custom Config": "", "Custom Name": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "DNS Timeout": "", @@ -572,6 +573,7 @@ "EXPIRES TODAY": "", "Each disk stores data. A stripe requires at least one disk and has no data redundancy.": "", "Edit ACL": "", + "Edit Custom App": "", "Edit Disk(s)": "", "Edit Expansion Shelf": "", "Edit Label": "", @@ -1712,6 +1714,7 @@ "Update Software": "", "Update System": "", "Updates available": "", + "Updating custom app": "", "Upgrade All Selected": "", "Upgrade Release Notes": "", "Upload Configuration": "", diff --git a/src/assets/i18n/vi.json b/src/assets/i18n/vi.json index 91ffd866dc3..e39fc8780a6 100644 --- a/src/assets/i18n/vi.json +++ b/src/assets/i18n/vi.json @@ -186,6 +186,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Dataset": "", "Add Device": "", @@ -257,7 +258,6 @@ "Add any notes about this zvol.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add groups": "", "Add iSCSI": "", @@ -1088,6 +1088,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1451,6 +1452,7 @@ "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", "Edit Cron Job": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Dataset": "", "Edit Device": "", @@ -4614,6 +4616,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/zh-hans.json b/src/assets/i18n/zh-hans.json index b58aaf77165..f7e77787794 100644 --- a/src/assets/i18n/zh-hans.json +++ b/src/assets/i18n/zh-hans.json @@ -33,6 +33,7 @@ "Add Cloud Backup": "", "Add Cloud Credential": "", "Add Credential": "", + "Add Custom App": "", "Add Disk Test": "", "Add Expansion Shelf": "", "Add Exporter": "", @@ -60,7 +61,6 @@ "Add Virtual Machine": "", "Add Volume": "", "Add Widget": "", - "Add custom app config in Yaml format.": "", "Add iSCSI": "", "Add the required no. of disks to get a vdev size estimate": "", "Add to trusted store": "", @@ -305,6 +305,7 @@ "Custom Config": "", "Custom Name": "", "Custom Transfers": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "DNS Timeout": "", @@ -393,6 +394,7 @@ "Dry run completed.": "", "EXPIRED": "", "EXPIRES TODAY": "", + "Edit Custom App": "", "Edit Disk(s)": "", "Edit Expansion Shelf": "", "Edit Label": "", @@ -1188,6 +1190,7 @@ "Update Software": "", "Update System": "", "Updates available": "", + "Updating custom app": "", "Upgrade All Selected": "", "Upgrade Release Notes": "", "Upload Configuration": "", diff --git a/src/assets/i18n/zh-hant.json b/src/assets/i18n/zh-hant.json index 1f4efb6f1a2..3fb040791bb 100644 --- a/src/assets/i18n/zh-hant.json +++ b/src/assets/i18n/zh-hant.json @@ -162,6 +162,7 @@ "Add Cloud Sync Task": "", "Add Credential": "", "Add Cron Job": "", + "Add Custom App": "", "Add DNS Authenticator": "", "Add Disk Test": "", "Add Disks To:": "", @@ -218,7 +219,6 @@ "Add any more sshd_config(5) options not covered in this screen. Enter one option per line. These options are case-sensitive. Misspellings can prevent the SSH service from starting.": "", "Add bucket": "", "Add catalog to system even if some trains are unhealthy.": "", - "Add custom app config in Yaml format.": "", "Add entry": "", "Add iSCSI": "", "Add listen": "", @@ -897,6 +897,7 @@ "Custom Name": "", "Custom Transfers": "", "Custom Value": "", + "Custom app config in YAML format.": "", "Custom schedule": "", "Customer Name": "", "Customizes the importance of the alert. Each level of importance has a different icon and color to express the level of importance.": "", @@ -1198,6 +1199,7 @@ "Edit Certificate": "", "Edit Certificate Authority": "", "Edit Cloud Sync Task": "", + "Edit Custom App": "", "Edit DNS Authenticator": "", "Edit Disk(s)": "", "Edit Encryption Options for {dataset}": "", @@ -3888,6 +3890,7 @@ "Updates available": "", "Updating": "", "Updating ACL": "", + "Updating custom app": "", "Updating key type": "", "Upgrade All Selected": "", "Upgrade Release Notes": "",