feat(oggui): visor de logs de disco en tiempo real para componentes de estado global #94
20
CHANGELOG.md
20
CHANGELOG.md
|
|
@ -1,5 +1,25 @@
|
|||
# Changelog
|
||||
|
||||
## [1.7.0] - 2026-05-14
|
||||
|
||||
### Added
|
||||
- Visor de logs de disco en las páginas de estado de ogcore, ogboot, ogdhcp
|
||||
y ogrepository: muestra entries del journal en tiempo real sin necesidad
|
||||
de oglog/OpenSearch, con polling cada 5 segundos y modo live/pausa
|
||||
- Soporte de múltiples `SYSLOG_IDENTIFIER` por componente: ogdhcp incluye
|
||||
kea, ogrepository incluye samba, ogboot incluye tftpd-hpa
|
||||
- Host basado en IP del servidor seleccionado para lectura del fichero de
|
||||
journal remoto (`/var/log/journal/remote/<IP>.journal`)
|
||||
|
||||
### Changed
|
||||
- `StatusLogsComponent`: `@Input() identifier` reemplazado por
|
||||
`@Input() identifiers: string[]`; respuesta parseada como array de entries
|
||||
JSON estructurados con formato `[timestamp] IDENTIFIER: mensaje`
|
||||
|
||||
## [1.6.1] - 2026-05-14
|
||||
### Improved
|
||||
- Modificada recepcion de mensajes de mercure durante la importación
|
||||
|
||||
## [1.6.0] - 2026-05-08
|
||||
### Added
|
||||
- Añadida opción en Administración para importar una base de datos OG 1.1 en la nueva version. Permite subir fichero .sql o .zip o usar parametros de conexión a la base de datos de OG 1.1
|
||||
|
|
|
|||
|
|
@ -61,6 +61,19 @@ pipeline {
|
|||
}
|
||||
}
|
||||
|
||||
stage('Generate Changelog (Devel)') {
|
||||
when {
|
||||
branch 'devel'
|
||||
}
|
||||
steps {
|
||||
script {
|
||||
def devName = params.DEV_NAME ? params.DEV_NAME : env.DEFAULT_DEV_NAME
|
||||
def devEmail = params.DEV_EMAIL ? params.DEV_EMAIL : env.DEFAULT_DEV_EMAIL
|
||||
generateDebianChangelog(env.BUILD_DIR, devName, devEmail, "devel")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
stage('Build') {
|
||||
steps {
|
||||
|
|
@ -97,20 +110,38 @@ pipeline {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage ('Publish to Debian Repository (Devel)') {
|
||||
when {
|
||||
branch 'devel'
|
||||
}
|
||||
agent { label 'debian-repo' }
|
||||
steps {
|
||||
script {
|
||||
def versionPattern = "-${env.BUILD_NUMBER}~devel"
|
||||
publicarEnAptly('/var/tmp/opengnsys/debian-repo/oggui', 'devel', versionPattern)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
post {
|
||||
success {
|
||||
script {
|
||||
// Solo lanzar cuando el build sea exitoso y en la rama main
|
||||
if (env.BRANCH_NAME == 'main') {
|
||||
build job: 'Aptly publish nightly repository',
|
||||
wait: false,
|
||||
parameters: [
|
||||
string(name: 'TRIGGERED_BY', value: "${env.JOB_NAME}-${env.BUILD_NUMBER}")
|
||||
]
|
||||
build job: 'Aptly publish nightly repository',
|
||||
wait: false,
|
||||
parameters: [
|
||||
string(name: 'TRIGGERED_BY', value: "${env.JOB_NAME}-${env.BUILD_NUMBER}")
|
||||
]
|
||||
}
|
||||
if (env.BRANCH_NAME == 'devel') {
|
||||
build job: 'Aptly publish develop repository',
|
||||
wait: false,
|
||||
parameters: [
|
||||
string(name: 'TRIGGERED_BY', value: "${env.JOB_NAME}-${env.BUILD_NUMBER}")
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
always {
|
||||
notifyBuildStatus('opengnsys@qindel.com')
|
||||
|
|
|
|||
|
|
@ -201,6 +201,7 @@ import { OgcoreStatusComponent } from './components/global-status/ogcore-status/
|
|||
import { GlobalOgbootStatusComponent } from './components/global-status/ogboot-status/ogboot-status.component';
|
||||
import { OgrepositoryStatusComponent } from './components/global-status/ogrepository-status/ogrepository-status.component';
|
||||
import { OgdhcpStatusComponent } from './components/global-status/ogdhcp-status/ogdhcp-status.component';
|
||||
import { StatusLogsComponent } from './components/global-status/status-logs/status-logs.component';
|
||||
export function HttpLoaderFactory(http: HttpClient) {
|
||||
return new TranslateHttpLoader(http, './locale/', '.json');
|
||||
}
|
||||
|
|
@ -344,6 +345,7 @@ registerLocaleData(localeEs, 'es-ES');
|
|||
GlobalOgbootStatusComponent,
|
||||
OgrepositoryStatusComponent,
|
||||
OgdhcpStatusComponent,
|
||||
StatusLogsComponent,
|
||||
ImportLegacyComponent,
|
||||
PageNotFoundComponent
|
||||
],
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { Component } from '@angular/core';
|
||||
import { Component, NgZone, ChangeDetectorRef } from '@angular/core';
|
||||
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { MatSnackBar } from '@angular/material/snack-bar';
|
||||
|
|
@ -23,7 +23,9 @@ export class ImportLegacyComponent {
|
|||
private http: HttpClient,
|
||||
private snackBar: MatSnackBar,
|
||||
private translate: TranslateService,
|
||||
private configService: ConfigService
|
||||
private configService: ConfigService,
|
||||
private ngZone: NgZone,
|
||||
private cdr: ChangeDetectorRef
|
||||
) {
|
||||
this.dbForm = this.fb.group({
|
||||
legacyHost: ['', Validators.required],
|
||||
|
|
@ -58,23 +60,27 @@ export class ImportLegacyComponent {
|
|||
const eventSource = new EventSource(url.toString());
|
||||
|
||||
eventSource.onmessage = (event) => {
|
||||
const data = JSON.parse(event.data);
|
||||
|
||||
if (data.type === 'migration_progress') {
|
||||
this.outputLog = data.output;
|
||||
}
|
||||
else if (data.type === 'migration_result') {
|
||||
this.isLoading = false;
|
||||
this.migrationStatus = data.status;
|
||||
this.outputLog = data.output;
|
||||
this.ngZone.run(() => {
|
||||
const data = JSON.parse(event.data);
|
||||
|
||||
if (data.status === 'success') {
|
||||
this.snackBar.open(this.translate.instant('migrationSuccess'), 'OK', { duration: 5000 });
|
||||
} else {
|
||||
this.snackBar.open(this.translate.instant('migrationError'), 'OK', { duration: 5000 });
|
||||
if (data.type === 'migration_progress') {
|
||||
this.outputLog = data.output;
|
||||
this.cdr.detectChanges();
|
||||
}
|
||||
else if (data.type === 'migration_result') {
|
||||
this.isLoading = false;
|
||||
this.migrationStatus = data.status;
|
||||
this.outputLog = data.output;
|
||||
this.cdr.detectChanges();
|
||||
|
||||
if (data.status === 'success') {
|
||||
this.snackBar.open(this.translate.instant('migrationSuccess'), 'OK', { duration: 5000 });
|
||||
} else {
|
||||
this.snackBar.open(this.translate.instant('migrationError'), 'OK', { duration: 5000 });
|
||||
}
|
||||
eventSource.close();
|
||||
}
|
||||
eventSource.close();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
eventSource.onerror = (err) => {
|
||||
|
|
|
|||
|
|
@ -42,15 +42,13 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="logs-section" id="ogboot-logs-section">
|
||||
<div class="logs-header">
|
||||
<h3>{{ 'ogbootLogs' | translate }}</h3>
|
||||
<p>{{ 'realTimeOgbootLogs' | translate }}</p>
|
||||
</div>
|
||||
<div class="logs-container">
|
||||
<iframe [src]="getBootServerIframeUrl()" width="100%" height="800" frameborder="0" class="ogboot-logs-iframe">
|
||||
</iframe>
|
||||
</div>
|
||||
<div id="ogboot-logs-section">
|
||||
<app-status-logs
|
||||
[title]="'ogbootLogs'"
|
||||
[identifiers]="['ogboot', 'tftpd-hpa']"
|
||||
[host]="getSelectedBootServerIp()"
|
||||
[oglogUrl]="getBootServerIframeUrl()">
|
||||
</app-status-logs>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
|
|
|||
|
|
@ -101,6 +101,11 @@ export class GlobalOgbootStatusComponent implements OnInit {
|
|||
}
|
||||
}
|
||||
|
||||
getSelectedBootServerIp(): string {
|
||||
const s = this.bootServers.find(s => s.uuid === this.selectedBootServerUuid);
|
||||
return s ? s.ip : '';
|
||||
}
|
||||
|
||||
getSelectedBootServerName(): string {
|
||||
const selectedBootServer = this.bootServers.find(server => server.uuid === this.selectedBootServerUuid);
|
||||
return selectedBootServer ? selectedBootServer.name : '';
|
||||
|
|
|
|||
|
|
@ -1,14 +1,12 @@
|
|||
<div class="section-content">
|
||||
<div class="tab-content">
|
||||
<div class="logs-section" id="ogcore-logs-section">
|
||||
<div class="logs-header">
|
||||
<h3>{{ 'ogcoreLogs' | translate }}</h3>
|
||||
<p>{{ 'realTimeOgcoreLogs' | translate }}</p>
|
||||
</div>
|
||||
<div class="logs-container">
|
||||
<iframe [src]="getOgCoreIframeUrl()" width="100%" height="800" frameborder="0" class="ogcore-logs-iframe">
|
||||
</iframe>
|
||||
</div>
|
||||
<div id="ogcore-logs-section">
|
||||
<app-status-logs
|
||||
[title]="'ogcoreLogs'"
|
||||
[identifiers]="['ogcore']"
|
||||
[host]="''"
|
||||
[oglogUrl]="getOgCoreIframeUrl()">
|
||||
</app-status-logs>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -42,15 +42,13 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="logs-section" id="dhcp-logs-section">
|
||||
<div class="logs-header">
|
||||
<h3>{{ 'dhcpLogs' | translate }}</h3>
|
||||
<p>{{ 'realTimeDhcpLogs' | translate }}</p>
|
||||
</div>
|
||||
<div class="logs-container">
|
||||
<iframe [src]="getDhcpIframeUrl()" width="100%" height="800" frameborder="0" class="dhcp-logs-iframe">
|
||||
</iframe>
|
||||
</div>
|
||||
<div id="dhcp-logs-section">
|
||||
<app-status-logs
|
||||
[title]="'dhcpLogs'"
|
||||
[identifiers]="['ogdhcp', 'kea-dhcp4', 'kea-ctrl-agent', 'DhcpLFC']"
|
||||
[host]="getSelectedDhcpIp()"
|
||||
[oglogUrl]="getDhcpIframeUrl()">
|
||||
</app-status-logs>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
|
|
|||
|
|
@ -104,6 +104,11 @@ export class OgdhcpStatusComponent implements OnInit {
|
|||
}
|
||||
}
|
||||
|
||||
getSelectedDhcpIp(): string {
|
||||
const d = this.dhcps.find(d => d.uuid === this.selectedDhcpUuid);
|
||||
return d ? d.ip : '';
|
||||
}
|
||||
|
||||
getSelectedDhcpName(): string {
|
||||
const selectedDhcp = this.dhcps.find(dhcp => dhcp.uuid === this.selectedDhcpUuid);
|
||||
return selectedDhcp ? selectedDhcp.name : '';
|
||||
|
|
|
|||
|
|
@ -49,16 +49,13 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="repository-logs-section" id="repository-logs-section">
|
||||
<div class="logs-header">
|
||||
<h3>Datos del repositorio: {{ getSelectedRepositoryName() }}</h3>
|
||||
<p>{{ 'specificRepoInfo' | translate }}</p>
|
||||
</div>
|
||||
<div class="logs-container">
|
||||
<iframe [src]="getRepositoryIframeUrl()" width="100%" height="600" frameborder="0"
|
||||
class="repository-logs-iframe">
|
||||
</iframe>
|
||||
</div>
|
||||
<div id="repository-logs-section">
|
||||
<app-status-logs
|
||||
[title]="'ogrepositoryLogs'"
|
||||
[identifiers]="['ogrepo-api', 'ogrepo-api_DEBUG', '(smbd)', '(nmbd)']"
|
||||
[host]="getSelectedRepositoryIp()"
|
||||
[oglogUrl]="getRepositoryIframeUrl()">
|
||||
</app-status-logs>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
|
|
|||
|
|
@ -103,6 +103,11 @@ export class OgrepositoryStatusComponent implements OnInit {
|
|||
}
|
||||
}
|
||||
|
||||
getSelectedRepositoryIp(): string {
|
||||
const r = this.repositories.find(r => r.uuid === this.selectedRepositoryUuid);
|
||||
return r ? r.ip : '';
|
||||
}
|
||||
|
||||
getSelectedRepositoryName(): string {
|
||||
const selectedRepo = this.repositories.find(repo => repo.uuid === this.selectedRepositoryUuid);
|
||||
return selectedRepo ? selectedRepo.name : '';
|
||||
|
|
|
|||
|
|
@ -0,0 +1,165 @@
|
|||
.logs-section {
|
||||
background-color: var(--surface-card, #ffffff);
|
||||
border-radius: 12px;
|
||||
padding: 16px;
|
||||
margin-top: 16px;
|
||||
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.logs-header {
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.logs-header h3 {
|
||||
font-size: 1.1rem;
|
||||
font-weight: 600;
|
||||
margin: 0;
|
||||
color: var(--text-primary, #111827);
|
||||
}
|
||||
|
||||
.logs-header p {
|
||||
font-size: 0.8rem;
|
||||
color: var(--text-secondary, #6b7280);
|
||||
margin: 2px 0 0;
|
||||
}
|
||||
|
||||
.logs-tabs {
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
||||
.logs-container {
|
||||
position: relative;
|
||||
background-color: #0d1117;
|
||||
border-radius: 8px;
|
||||
margin-top: 8px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.tab-actions-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 4px 12px;
|
||||
background: rgba(255, 255, 255, 0.05);
|
||||
border-top-left-radius: 8px;
|
||||
border-top-right-radius: 8px;
|
||||
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
|
||||
.header-actions {
|
||||
display: flex;
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
.header-actions button {
|
||||
color: rgba(255, 255, 255, 0.7) !important;
|
||||
}
|
||||
|
||||
.header-actions button:hover:not([disabled]) {
|
||||
color: white !important;
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
|
||||
.header-actions button[disabled] {
|
||||
color: rgba(255, 255, 255, 0.2) !important;
|
||||
}
|
||||
|
||||
.header-actions button[color="warn"] {
|
||||
color: #ff4081 !important;
|
||||
}
|
||||
|
||||
.live-badge {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
font-size: 0.7rem;
|
||||
font-weight: 700;
|
||||
color: #ff4081;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
.live-dot {
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
background-color: #ff4081;
|
||||
border-radius: 50%;
|
||||
animation: pulse 2s infinite;
|
||||
}
|
||||
|
||||
.log-viewer {
|
||||
margin: 0;
|
||||
padding: 12px;
|
||||
color: #e6edf3;
|
||||
font-family: 'JetBrains Mono', 'Fira Code', monospace;
|
||||
font-size: 0.8rem;
|
||||
line-height: 1.4;
|
||||
overflow-y: auto;
|
||||
max-height: 50vh;
|
||||
white-space: pre-wrap;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
@keyframes pulse {
|
||||
0% {
|
||||
transform: scale(0.95);
|
||||
box-shadow: 0 0 0 0 rgba(255, 64, 129, 0.7);
|
||||
}
|
||||
|
||||
70% {
|
||||
transform: scale(1);
|
||||
box-shadow: 0 0 0 8px rgba(255, 64, 129, 0);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: scale(0.95);
|
||||
box-shadow: 0 0 0 0 rgba(255, 64, 129, 0);
|
||||
}
|
||||
}
|
||||
|
||||
.loading-overlay {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: rgba(13, 17, 23, 0.7);
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.error-message {
|
||||
padding: 32px;
|
||||
text-align: center;
|
||||
color: #f85149;
|
||||
}
|
||||
|
||||
.error-message mat-icon {
|
||||
font-size: 48px;
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.logs-iframe {
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.no-oglog {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 64px;
|
||||
color: #8b949e;
|
||||
}
|
||||
|
||||
.no-oglog mat-icon {
|
||||
font-size: 48px;
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
<div class="logs-section">
|
||||
<div class="logs-header">
|
||||
<h3>{{ title | translate }}</h3>
|
||||
<p>{{ 'realTimeLogs' | translate }}</p>
|
||||
</div>
|
||||
|
||||
<mat-tab-group class="logs-tabs" animationDuration="0ms" (selectedTabChange)="onTabChange($event)">
|
||||
<mat-tab [label]="'diskLogs' | translate">
|
||||
<div class="logs-container disk-logs">
|
||||
<div class="tab-actions-header">
|
||||
<div class="header-actions">
|
||||
<button mat-icon-button
|
||||
(click)="toggleLive()"
|
||||
[matTooltip]="(isLive ? 'diskLogsStopLive' : 'diskLogsStartLive') | translate"
|
||||
[color]="isLive ? 'warn' : ''">
|
||||
<mat-icon>{{ isLive ? 'pause_circle' : 'play_circle' }}</mat-icon>
|
||||
</button>
|
||||
<button mat-icon-button (click)="refreshLogs()" [matTooltip]="'buttonUpdateData' | translate" [disabled]="isLive">
|
||||
<mat-icon>refresh</mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
<div *ngIf="isLive" class="live-badge">
|
||||
<span class="live-dot"></span>
|
||||
LIVE
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if (loadingDiskLogs && !diskLogsContent) {
|
||||
<div class="loading-overlay">
|
||||
<mat-spinner diameter="40"></mat-spinner>
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (errorDiskLogs) {
|
||||
<div class="error-message">
|
||||
<mat-icon>error_outline</mat-icon>
|
||||
<p>{{ errorDiskLogs }}</p>
|
||||
<button mat-button (click)="loadDiskLogs()">{{ 'buttonRetry' | translate }}</button>
|
||||
</div>
|
||||
}
|
||||
|
||||
<pre #logContent class="log-viewer">{{ diskLogsContent }}</pre>
|
||||
</div>
|
||||
</mat-tab>
|
||||
|
||||
<mat-tab [label]="'oglogLogs' | translate">
|
||||
<div class="logs-container oglog-logs">
|
||||
@if (oglogUrl) {
|
||||
<iframe [src]="oglogUrl" width="100%" height="600" frameborder="0" class="logs-iframe"></iframe>
|
||||
} @else {
|
||||
<div class="no-oglog">
|
||||
<mat-icon>info_outline</mat-icon>
|
||||
<p>oglog no está disponible o no se ha configurado la URL.</p>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</mat-tab>
|
||||
</mat-tab-group>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,139 @@
|
|||
import { Component, Input, OnInit, OnDestroy, inject, ViewChild, ElementRef, AfterViewChecked } from '@angular/core';
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { SafeResourceUrl } from '@angular/platform-browser';
|
||||
import { ConfigService } from '@services/config.service';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { MatTabChangeEvent } from '@angular/material/tabs';
|
||||
|
||||
interface JournalEntry {
|
||||
MESSAGE: string;
|
||||
SYSLOG_IDENTIFIER?: string;
|
||||
_HOSTNAME?: string;
|
||||
__REALTIME_TIMESTAMP?: string;
|
||||
PRIORITY?: string;
|
||||
}
|
||||
|
||||
@Component({
|
||||
selector: 'app-status-logs',
|
||||
templateUrl: './status-logs.component.html',
|
||||
styleUrl: './status-logs.component.css'
|
||||
})
|
||||
export class StatusLogsComponent implements OnInit, OnDestroy, AfterViewChecked {
|
||||
@ViewChild('logContent') private logContainer!: ElementRef;
|
||||
@Input() identifiers: string[] = [];
|
||||
@Input() host: string = '';
|
||||
@Input() oglogUrl: SafeResourceUrl | null = null;
|
||||
@Input() title: string = '';
|
||||
|
||||
public translate = inject(TranslateService);
|
||||
diskLogsContent: string = '';
|
||||
loadingDiskLogs: boolean = false;
|
||||
errorDiskLogs: string | null = null;
|
||||
isLive: boolean = true;
|
||||
|
||||
private pollInterval: any;
|
||||
private readonly POLL_INTERVAL_MS = 5000;
|
||||
|
||||
constructor(
|
||||
private http: HttpClient,
|
||||
private configService: ConfigService
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.loadDiskLogs();
|
||||
if (this.isLive) {
|
||||
this.startPolling();
|
||||
}
|
||||
}
|
||||
|
||||
ngAfterViewChecked() {
|
||||
this.scrollToBottom();
|
||||
}
|
||||
|
||||
toggleLive(): void {
|
||||
this.isLive = !this.isLive;
|
||||
if (this.isLive) {
|
||||
this.loadDiskLogs();
|
||||
this.startPolling();
|
||||
} else {
|
||||
this.stopPolling();
|
||||
}
|
||||
}
|
||||
|
||||
onTabChange(event: MatTabChangeEvent): void {
|
||||
if (event.index === 0) {
|
||||
if (this.isLive) {
|
||||
this.loadDiskLogs();
|
||||
this.startPolling();
|
||||
}
|
||||
} else {
|
||||
this.stopPolling();
|
||||
}
|
||||
}
|
||||
|
||||
ngOnDestroy(): void {
|
||||
this.stopPolling();
|
||||
}
|
||||
|
||||
loadDiskLogs(): void {
|
||||
if (!this.identifiers.length) return;
|
||||
|
||||
if (!this.isLive) {
|
||||
this.loadingDiskLogs = true;
|
||||
}
|
||||
|
||||
const idParam = this.identifiers.join(',');
|
||||
const hostParam = this.host ? `&host=${encodeURIComponent(this.host)}` : '';
|
||||
const url = `${this.configService.apiUrl}/opengnsys/system/disk-logs?SYSLOG_IDENTIFIER=${encodeURIComponent(idParam)}${hostParam}&lines=200`;
|
||||
|
||||
this.http.get<{ entries: JournalEntry[] }>(url).subscribe({
|
||||
next: (response) => {
|
||||
this.diskLogsContent = this.formatEntries(response.entries || []);
|
||||
this.loadingDiskLogs = false;
|
||||
this.errorDiskLogs = null;
|
||||
},
|
||||
error: () => {
|
||||
this.errorDiskLogs = 'Error al cargar logs de disco';
|
||||
this.loadingDiskLogs = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private formatEntries(entries: JournalEntry[]): string {
|
||||
return entries.map(entry => {
|
||||
const ts = entry.__REALTIME_TIMESTAMP
|
||||
? new Date(parseInt(entry.__REALTIME_TIMESTAMP, 10) / 1000).toISOString().replace('T', ' ').substring(0, 23)
|
||||
: ' ';
|
||||
const id = entry.SYSLOG_IDENTIFIER ?? '';
|
||||
return `[${ts}] ${id}: ${entry.MESSAGE ?? ''}`;
|
||||
}).join('\n');
|
||||
}
|
||||
|
||||
private startPolling(): void {
|
||||
this.stopPolling();
|
||||
this.pollInterval = setInterval(() => {
|
||||
if (this.isLive) {
|
||||
this.loadDiskLogs();
|
||||
}
|
||||
}, this.POLL_INTERVAL_MS);
|
||||
}
|
||||
|
||||
private stopPolling(): void {
|
||||
if (this.pollInterval) {
|
||||
clearInterval(this.pollInterval);
|
||||
this.pollInterval = null;
|
||||
}
|
||||
}
|
||||
|
||||
refreshLogs(): void {
|
||||
this.loadDiskLogs();
|
||||
}
|
||||
|
||||
private scrollToBottom(): void {
|
||||
if (this.isLive && this.logContainer) {
|
||||
try {
|
||||
this.logContainer.nativeElement.scrollTop = this.logContainer.nativeElement.scrollHeight;
|
||||
} catch (err) {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"actionAddedSuccess": "Acció afegida amb èxit",
|
||||
"actionAddedSuccess": "Acció afegida correctament",
|
||||
"actions": "Accions",
|
||||
"actionsDescription": "Administra cada imatge amb opcions per veure, editar, eliminar i més.",
|
||||
"actionsStepText": "Accedeix a les accions disponibles per a cada calendari aquí.",
|
||||
|
|
@ -37,8 +37,8 @@
|
|||
"addRepositoryStepText": "Fes clic per afegir un nou repositori.",
|
||||
"addRole": "Afegir rol",
|
||||
"addRule": "Afegir regla",
|
||||
"addSoftware": "Afegir software",
|
||||
"addSoftwareProfile": "Afegir perfil de software",
|
||||
"addSoftware": "Afegir programari",
|
||||
"addSoftwareProfile": "Afegir perfil de programari",
|
||||
"addTask": "Afegir Tasca",
|
||||
"addTaskStepText": "Fes clic per afegir una nova tasca.",
|
||||
"addTemplateButtonDescription": "Afegir plantilla PXE",
|
||||
|
|
@ -58,7 +58,7 @@
|
|||
"adminPxeDescription": "Des d'aquí pots gestionar les plantilles PXE del servidor.",
|
||||
"adminPxeTitle": "Administrar fitxers PXE",
|
||||
"adminRolesTitle": "Administrar Rols",
|
||||
"adminSoftwareProfiles": "Administrar perfils de software",
|
||||
"adminSoftwareProfiles": "Administrar perfils de programari",
|
||||
"adminUsersTitle": "Administrar usuaris",
|
||||
"advancedNetbootDescription": "Des d'aquí pots configurar el netboot avançat dels clients.",
|
||||
"advancedNetbootTitle": "Netboot avançat",
|
||||
|
|
@ -80,12 +80,12 @@
|
|||
"assistantStep3": "A l'assistent, selecciona \"Encuar\" per afegir l'acció a una tasca programada",
|
||||
"associatedComputersHaveBeenDetected": "S'han detectat ordinadors associats a un altre servidor d'arrencada. Vols moure'ls al servidor actual? (Si ho rebutges, només s'actualitzaran els ordinadors que ja pertanyen al servidor actual)",
|
||||
"autoDiscoverySync": "Sincronització Autodescobriment",
|
||||
"autoRefresh": "Auto-actualitzar",
|
||||
"autoRefresh": "Actualitzar automàticament",
|
||||
"availableCommandsTitle": "Comandaments Disponibles",
|
||||
"back": "Enrere",
|
||||
"backToCategories": "Tornar a categories",
|
||||
"backupFileNameHint": "Nom del fitxer de còpia de seguretat (ha d'acabar en .tar.gz, .zip o .tar)",
|
||||
"backupStartedSuccessfully": "Còpia de seguretat iniciada amb èxit",
|
||||
"backupStartedSuccessfully": "Còpia de seguretat iniciada correctament",
|
||||
"bashScriptBoilerplate": "#!/bin/bash # Escriu el teu script aquí echo 'Iniciant script...' # Els teus comandaments aquí",
|
||||
"basicActions": "Accions Bàsiques",
|
||||
"boardToggle": "Pissarra",
|
||||
|
|
@ -93,11 +93,11 @@
|
|||
"bootConfiguration": "Configuració d'arrencada",
|
||||
"bootFileName": "Nom del fitxer d'arrencada",
|
||||
"bootServer": "Servidor Boot",
|
||||
"bootServerAddedSuccessfully": "Servidor Boot afegit amb èxit",
|
||||
"bootServerAddedSuccessfully": "Servidor Boot afegit correctament",
|
||||
"bootServers": "Servidors Boot",
|
||||
"bootServerStatus": "Estat del servidor d'arrencada actualitzat amb èxit",
|
||||
"bootServerSuccessfullyUpdated": "Servidor Boot actualitzat amb èxit",
|
||||
"branchCreatedSuccessfully": "Branca creada amb èxit",
|
||||
"bootServerStatus": "Estat del servidor d'arrencada actualitzat correctament",
|
||||
"bootServerSuccessfullyUpdated": "Servidor Boot actualitzat correctament",
|
||||
"branchCreatedSuccessfully": "Branca creada correctament",
|
||||
"branchExampleHint": "Exemple: feature-nova-funcionalitat, hotfix-bug-123, release-v2.0",
|
||||
"branchNameInvalid": "El nom de la branca només pot contenir lletres, números, punts, guions i guions baixos",
|
||||
"branchNameRequired": "El nom de la branca és obligatori",
|
||||
|
|
@ -105,7 +105,7 @@
|
|||
"busyEquipments": "Equips Ocupats",
|
||||
"buttonAccept": "Acceptar",
|
||||
"buttonAdd": "Afegir",
|
||||
"buttonApplyChanges": "Previsualitzar",
|
||||
"buttonApplyChanges": "Aplicar Canvis",
|
||||
"buttonCancel": "Cancel·lar",
|
||||
"buttonCancelEdit": "Cancel·lar Edició",
|
||||
"buttonCancelEn": "Cancel·lar",
|
||||
|
|
@ -163,16 +163,16 @@
|
|||
"buttonViewInfo": "Veure Informació",
|
||||
"buttonViewLogs": "Veure registres",
|
||||
"buttonYes": "Sí",
|
||||
"cacheClearRequest": "Petició d'esborrament de cache d'imatge enviada amb èxit",
|
||||
"cacheImageToUpdateIs": "La imatge en cache a actualitzar és:",
|
||||
"cacheClearRequest": "Petició d'esborrament de memòria cau d'imatge enviada correctament",
|
||||
"cacheImageToUpdateIs": "La imatge en memòria cau a actualitzar és:",
|
||||
"cacheOption": "CACHE",
|
||||
"calendarCreatedSuccessfully": "Calendari creat amb èxit",
|
||||
"calendarDeletedSuccessfully": "Calendari eliminat amb èxit",
|
||||
"calendarRuleCreatedSuccessfully": "Regla de calendari creada amb èxit",
|
||||
"calendarRuleUpdatedSuccessfully": "Regla de calendari actualitzada amb èxit",
|
||||
"calendarCreatedSuccessfully": "Calendari creat correctament",
|
||||
"calendarDeletedSuccessfully": "Calendari eliminat correctament",
|
||||
"calendarRuleCreatedSuccessfully": "Regla de calendari creada correctament",
|
||||
"calendarRuleUpdatedSuccessfully": "Regla de calendari actualitzada correctament",
|
||||
"calendars": "Calendaris",
|
||||
"calendarsSynchronizedCorrectly": "Calendaris sincronitzats amb èxit",
|
||||
"calendarUpdatedSuccessfully": "Calendari actualitzat amb èxit",
|
||||
"calendarsSynchronizedCorrectly": "Calendaris sincronitzats correctament",
|
||||
"calendarUpdatedSuccessfully": "Calendari actualitzat correctament",
|
||||
"cancelAllDisplayedActions": "Cancel·lar totes les accions mostrades",
|
||||
"cancelImageTransmission": "Cancel·lar transmissió d'imatge",
|
||||
"cancelled": "Cancel·lat",
|
||||
|
|
@ -183,10 +183,10 @@
|
|||
"cannotConnectRepo": "No s'ha pogut connectar amb el repositori seleccionat",
|
||||
"canonicalName": "Nom canònic",
|
||||
"canonicalNameFormatHint": "Nom canònic. En minúscula i sense espais",
|
||||
"canOnlyBeMarkedAs": "Només es poden marcar com a reeixides les traces en progrés",
|
||||
"canOnlyBeMarkedAs": "Només es poden marcar com a completades les traces en progrés",
|
||||
"cantAccess1": "No es pot accedir als registres: MAC del client no disponible",
|
||||
"capacityWarning": "L'aforament no pot ser",
|
||||
"cardView": "Vista targetes",
|
||||
"cardView": "Vista de targetes",
|
||||
"catCustomScript": "Script personalitzat",
|
||||
"catCustomScriptDesc": "Executar un script nou o desat",
|
||||
"catImageOps": "Operacions d'imatge",
|
||||
|
|
@ -217,12 +217,12 @@
|
|||
"clickStatsToFilter": "Fes clic a les targetes d'estadístiques per filtrar les traces",
|
||||
"client": "Client",
|
||||
"clientBusy": "Client ocupat",
|
||||
"clientCreatedSuccessfully": "Client creat amb èxit",
|
||||
"clientCreatedSuccessfully": "Client creat correctament",
|
||||
"clientDetailsTitle": "Dades de",
|
||||
"clientDisconnected": "Client desconnectat",
|
||||
"clientGroupsTitle": "Grups de clients",
|
||||
"clientInitializing": "Client inicialitzant",
|
||||
"clientLeaseRemovedSuccessfully": "Concessió del client eliminada amb èxit",
|
||||
"clientLeaseRemovedSuccessfully": "Concessió del client eliminada correctament",
|
||||
"clientLinux": "Client Linux",
|
||||
"clientLinuxSession": "Client amb sessió Linux",
|
||||
"clientList": "Llista de clients",
|
||||
|
|
@ -231,7 +231,6 @@
|
|||
"clientListExecuteScript": "Llistat de clients on s'executarà l'script seleccionat",
|
||||
"clientListPartition": "Llistat de clients on es realitzarà el particionat",
|
||||
"clientLogs": "Registres de client",
|
||||
"diskLogs": "Registres de disc",
|
||||
"clientMacOS": "Client MacOS",
|
||||
"clientOff": "Client apagat",
|
||||
"clientOgLive": "Client OGLive",
|
||||
|
|
@ -239,31 +238,31 @@
|
|||
"clientSelectStepText": "Selecciona un client per veure les traces associades.",
|
||||
"clientsPerPage": "Clients per pàgina",
|
||||
"clientsPerPageHint": "Nombre de clients mostrats per pàgina al llistat",
|
||||
"clientSuccessfullyRemovedFromThe": "Client eliminat de la xarxa amb èxit",
|
||||
"clientSuccessfullyRemovedFromThe": "Client eliminat de la xarxa correctament",
|
||||
"clientsViewStepText": "Visualització dels clients de la unitat organitzativa seleccionada",
|
||||
"clientUpdatedSuccessfully": "Client actualitzat amb èxit",
|
||||
"clientUpdatedSuccessfully": "Client actualitzat correctament",
|
||||
"clientWindows": "Client Windows",
|
||||
"clientWindowsSession": "Client amb sessió Windows",
|
||||
"code": "Codi",
|
||||
"colaAcciones": "Cua d'accions",
|
||||
"collapseAll": "Contraure tot",
|
||||
"command": "Comandament",
|
||||
"commandAddedSuccessfully": "Comandament afegit amb èxit",
|
||||
"commandAddedSuccessfully": "Comandament afegit correctament",
|
||||
"commandColumn": "Comandament",
|
||||
"commandComments": "Comentaris del comandament",
|
||||
"commandDescription": "Descripció del comandament",
|
||||
"commandDetailsTitle": "Detalls del Comandament",
|
||||
"commandEditedSuccessfully": "Comandament editat amb èxit",
|
||||
"commandExecutedSuccessfully": "Comandament executat amb èxit",
|
||||
"commandEditedSuccessfully": "Comandament editat correctament",
|
||||
"commandExecutedSuccessfully": "Comandament executat correctament",
|
||||
"commandGroupColumn": "Grup de Comandaments",
|
||||
"commandGroupCreatedWith": "Grup de comandaments creat amb èxit",
|
||||
"commandGroupCreatedWith": "Grup de comandaments creat correctament",
|
||||
"commandGroupDetailsTitle": "Detalls del Grup de Comandaments",
|
||||
"commandGroupRemovedWith": "Grup de comandaments eliminat amb èxit",
|
||||
"commandGroupUpdatedWith": "Grup de comandaments actualitzat amb amb èxit",
|
||||
"commandGroupRemovedWith": "Grup de comandaments eliminat correctament",
|
||||
"commandGroupUpdatedWith": "Grup de comandaments actualitzat amb correctament",
|
||||
"commandList": "Llista de comandaments",
|
||||
"commandNamePlaceholder": "Nom del comandament",
|
||||
"commandNameTitle": "Nom del Comandament",
|
||||
"commandRemovedSuccessfully": "Comandament eliminat amb èxit",
|
||||
"commandRemovedSuccessfully": "Comandament eliminat correctament",
|
||||
"commands": "Comandaments",
|
||||
"commandScriptPlaceholder": "Script del comandament",
|
||||
"commandSelectionSectionTitle": "Selecció de comandaments",
|
||||
|
|
@ -277,7 +276,7 @@
|
|||
"commitIdCopiedToClipboard": "ID del Commit copiat al porta-retalls",
|
||||
"commitMessage": "Missatge del commit",
|
||||
"commitSelection": "Selecció de commit",
|
||||
"completedSuccessfully": "Completat amb èxit",
|
||||
"completedSuccessfully": "Completat correctament",
|
||||
"computerGroups": "Grups de PCs",
|
||||
"computersAlreadyExistedHierarchy": "Els següents ordinadors ja existien prèviament a la jerarquia (en altres aules o Unitats). Només s'ha actualitzat la seva dependència de subxarxa, però no s'han mogut de la seva ubicació actual.",
|
||||
"configurationTitle": "Configuració",
|
||||
|
|
@ -300,8 +299,8 @@
|
|||
"createCommandTitle": "Crear Comandament",
|
||||
"createdBy": "Creat per",
|
||||
"createdInRepository": "Creat al repositori",
|
||||
"createdSuccessfully": "Creat amb èxit",
|
||||
"createHardwareWorks": "¡Creació de hardware en funcionament!",
|
||||
"createdSuccessfully": "Creat correctament",
|
||||
"createHardwareWorks": "¡Creació de maquinari en funcionament!",
|
||||
"createImage": "Creant imatge",
|
||||
"createNewGitRepo": "Crear nou repositori d'imatges git",
|
||||
"createNewRepoOs": "Crear nou repositori / SO",
|
||||
|
|
@ -312,15 +311,16 @@
|
|||
"createTask": "Crear Tasca",
|
||||
"creatingAuxiliaryFiles": "Creant fitxers auxiliars",
|
||||
"creationDate": "Data de creació",
|
||||
"csvFileExportedSuccessfully": "Fitxer CSV exportat amb èxit",
|
||||
"csvFileExportedSuccessfully": "Fitxer CSV exportat correctament",
|
||||
"currentPartitionState": "Estat actual de particions",
|
||||
"currentUsage": "Ús actual",
|
||||
"customer": "Client",
|
||||
"customRepeat": "Repetició personalitzada",
|
||||
"dataSuccessfullyLoadedData": "Dades carregades, les dades estan llestes per enviar-se amb èxit.",
|
||||
"dataUpdatedCorrectly": "Dades actualitzades amb èxit",
|
||||
"dataSuccessfullyLoadedData": "Dades carregades, les dades estan llestes per enviar-se correctament.",
|
||||
"dataUpdatedCorrectly": "Dades actualitzades correctament",
|
||||
"dateFormatPlaceholder": "DD/MM/AAAA",
|
||||
"daysOfTheWeek": "Dies de la setmana",
|
||||
"dbLabel": "Nom de la BD",
|
||||
"default20": "Per defecte (20)",
|
||||
"defaultImage": "Imatge per defecte",
|
||||
"defaultTemplate": "Plantilla per defecte",
|
||||
|
|
@ -336,7 +336,7 @@
|
|||
"deleteTrace": "Eliminar traça",
|
||||
"deletionResults": "Resultats d'Eliminació",
|
||||
"deployImage": "Desplegar imatge",
|
||||
"deployRequestSentCorrectly": "Petició de desplegament enviada amb èxit",
|
||||
"deployRequestSentCorrectly": "Petició de desplegament enviada correctament",
|
||||
"destinationBranch": "Branca de destinació",
|
||||
"destinationBranchNameLabel": "Nom de la branca de destinació",
|
||||
"destinationSelectionSectionTitle": "Selecciona destinació",
|
||||
|
|
@ -344,15 +344,15 @@
|
|||
"detailsTitle": "Detalls de {{ name }}",
|
||||
"detectedParameters": "Paràmetres detectats",
|
||||
"dhcp": "DHCP",
|
||||
"dhcpHostExample": "Exemple: host bbaa-it1-11 { hardware ethernet a0:48:1c:8a:f1:5b; fixed-address 172.17.69.11; };",
|
||||
"dhcpLeasesRemovedSuccessfully": "Concessió(ons) DHCP eliminada(es) amb èxit",
|
||||
"dhcpHostExample": "Exemple: host bbaa-it1-11 { maquinari ethernet a0:48:1c:8a:f1:5b; fixed-address 172.17.69.11; };",
|
||||
"dhcpLeasesRemovedSuccessfully": "Concessió(ons) DHCP eliminada(es) correctament",
|
||||
"dhcpLogs": "Registres de DHCP",
|
||||
"dhcpServerAddedSuccessfully": "Servidor DHCP afegit amb èxit",
|
||||
"dhcpServerAddedSuccessfully": "Servidor DHCP afegit correctament",
|
||||
"dhcpServerFetchingError": "Error en obtenir el servidor dhcp:",
|
||||
"dhcpServerId": "Id Servidor DHCP",
|
||||
"dhcpServers": "Servidors DHCP",
|
||||
"dhcpServerUpdatedSuccessfully": "Servidor DHCP actualitzat amb èxit",
|
||||
"dhcpStatusUpdatedSuccessfully": "Estat del dhcp actualitzat amb èxit",
|
||||
"dhcpServerUpdatedSuccessfully": "Servidor DHCP actualitzat correctament",
|
||||
"dhcpStatusUpdatedSuccessfully": "Estat del dhcp actualitzat correctament",
|
||||
"dialogTitleAddRole": "Afegir Rol",
|
||||
"dialogTitleAddUser": "Afegir Usuari",
|
||||
"dialogTitleEditUser": "Editar usuari",
|
||||
|
|
@ -361,6 +361,9 @@
|
|||
"directClientsToggleTooltip": "Mostrar només els equips directament assignats al node seleccionat (sense descendents)",
|
||||
"disabled": "Deshabilitat",
|
||||
"diskImageAssistantTitle": "Assistent d'imatges en disc",
|
||||
"diskLogs": "Registres de disc",
|
||||
"diskLogsStartLive": "Activar mode en temps real",
|
||||
"diskLogsStopLive": "Aturar mode en temps real",
|
||||
"diskModel": "Arrencada per disc",
|
||||
"diskUsage": "Ús de Disc",
|
||||
"diskUsageDescription": "Aquí es mostra l'ús de disc del servidor.",
|
||||
|
|
@ -376,7 +379,7 @@
|
|||
"editClientTitle": "Editar Client",
|
||||
"editCommandGroup": "Editar grup de comandaments",
|
||||
"editCommandTitle": "Editar Comandament",
|
||||
"editedAndParametersPropagatedSuccessfully": "Editat i paràmetres propagats amb èxit",
|
||||
"editedAndParametersPropagatedSuccessfully": "Editat i paràmetres propagats correctament",
|
||||
"editedCommand": "Comandament editat",
|
||||
"editEnvVarsTitle": "Editar Variables d'Entorn",
|
||||
"editImageTitle": "Editar imatge",
|
||||
|
|
@ -407,14 +410,14 @@
|
|||
"enterOrder": "Introdueix l'ordre",
|
||||
"enterParameters": "Ingressi els paràmetres",
|
||||
"enterScript": "Ingressi l'script",
|
||||
"environmentVariablesSavedCorrectly": "Variables d'entorn desades amb èxit.",
|
||||
"environmentVariablesSavedCorrectly": "Variables d'entorn desades correctament.",
|
||||
"error401RedirectToLogin": "Error 401, redirigint a la pàgina d'inici de sessió",
|
||||
"errorAddingImage": "Error en afegir la imatge",
|
||||
"errorAddingMenu": "Error en afegir el menú",
|
||||
"errorAddingOperatingSystem": "Error en afegir el sistema operatiu",
|
||||
"errorAddingRole": "Error en afegir el rol",
|
||||
"errorAddingRole1": "Error en afegir el rol:",
|
||||
"errorAddingSoftware": "Error en afegir el software",
|
||||
"errorAddingSoftware": "Error en afegir el programari",
|
||||
"errorCancelingActions": "Error en cancel·lar les accions",
|
||||
"errorCancelingActions1": "Error en cancel·lar les accions:",
|
||||
"errorCancelingInprogressTrace": "Error en cancel·lar la traça en progrés:",
|
||||
|
|
@ -464,8 +467,8 @@
|
|||
"errorFetchingDownloads": "Error en obtenir les descàrregues:",
|
||||
"errorFetchingFilters": "Error en obtenir els filtres",
|
||||
"errorFetchingFilters1": "Error en obtenir els filtres:",
|
||||
"errorFetchingHardwareProfileDetails": "Error en obtenir els detalls del perfil de hardware:",
|
||||
"errorFetchingHardwareProfiles": "Error en obtenir els perfils de hardware:",
|
||||
"errorFetchingHardwareProfileDetails": "Error en obtenir els detalls del perfil de maquinari:",
|
||||
"errorFetchingHardwareProfiles": "Error en obtenir els perfils de maquinari:",
|
||||
"errorFetchingImageRepositories": "Error en obtenir els repositoris d'imatges",
|
||||
"errorFetchingImages": "Error en obtenir les imatges",
|
||||
"errorFetchingMenus": "Error en obtenir els menús",
|
||||
|
|
@ -489,9 +492,9 @@
|
|||
"errorFetchingUserGroups": "Error en obtenir els grups d'usuaris",
|
||||
"errorGettingClients": "Error en obtenir els clients PXE:",
|
||||
"errorGettingClients1": "Error en obtenir els clients de la unitat organitzativa:",
|
||||
"errorGettingDetails": "Error en obtenir els detalls del perfil de hardware",
|
||||
"errorGettingDetails": "Error en obtenir els detalls del perfil de maquinari",
|
||||
"errorGettingPartitions": "Error en obtenir les particions:",
|
||||
"errorGettingProfiles": "Error en obtenir els perfils de software",
|
||||
"errorGettingProfiles": "Error en obtenir els perfils de programari",
|
||||
"errorGettingRepositories": "Error en obtenir els repositoris d'imatges",
|
||||
"errorGettingStatus": "Error en obtenir l'estat del servidor",
|
||||
"errorInTheRequest": "Error en la petició d'exportació d'imatge",
|
||||
|
|
@ -530,7 +533,7 @@
|
|||
"errorLoadingTasks": "Error en carregar les tasques existents",
|
||||
"errorLoadingTemplates": "Error en carregar les plantilles",
|
||||
"errorLoadingUnits": "Error en carregar les unitats organitzatives",
|
||||
"errorMarkingTraceAsSuccess": "Error en marcar la traça com a reeixida:",
|
||||
"errorMarkingTraceAsSuccess": "Error en marcar la traça com a completada:",
|
||||
"errorPasswordMismatch": "Les contrasenyes no coincideixen",
|
||||
"errorPreviewingMenuTemplate": "Error en previsualitzar la plantilla del menú",
|
||||
"errorSavingVariables": "Error en desar les variables d'entorn:",
|
||||
|
|
@ -547,13 +550,13 @@
|
|||
"errorWhenDeletingLeases": "Error en eliminar les concessions DHCP",
|
||||
"errorWhenDeletingMenu": "Error en eliminar el menú:",
|
||||
"errorWhenEditingImage": "Error en editar la imatge",
|
||||
"errorWhenEditingTheSoftware": "Error en editar el software",
|
||||
"errorWhenEditingTheSoftware": "Error en editar el programari",
|
||||
"errorWhenExecutingCommand": "Error en executar el comandament:",
|
||||
"errorWhenFilteringUnits": "Error en filtrar les unitats organitzatives",
|
||||
"errorWhenMakingPost": "Error en realitzar petició POST:",
|
||||
"errorWhenMakingPut": "Error en realitzar petició PUT:",
|
||||
"errorWhenMakingTheRequest": "Error en realitzar la petició de backup d'imatge",
|
||||
"errorWhenMarkingTheTrace": "Error en marcar la traça com a reeixida",
|
||||
"errorWhenMarkingTheTrace": "Error en marcar la traça com a completada",
|
||||
"errorWhenPropagatingParameters": "Error en propagar paràmetres:",
|
||||
"errorWhenRunningScript": "Error en executar l'script",
|
||||
"errorWhenSynchronizingOgliveImages": "Error en sincronitzar imatges ogLive: temps d'espera esgotat",
|
||||
|
|
@ -575,10 +578,10 @@
|
|||
"login": "Iniciar sessió",
|
||||
"createImage": "Crear imatge",
|
||||
"deployImage": "Desplegar imatge",
|
||||
"deleteImageCache": "Esborrar imatge de cache",
|
||||
"deleteImageCache": "Esborrar imatge de la memòria cau",
|
||||
"partition": "Particionar i formatar",
|
||||
"softwareInventory": "Inventari de software",
|
||||
"hardwareInventory": "Inventari de hardware",
|
||||
"softwareInventory": "Inventari de programari",
|
||||
"hardwareInventory": "Inventari de maquinari",
|
||||
"runScript": "Executar script",
|
||||
"refresh": "Refrescar",
|
||||
"deleteLease": "Eliminar concessió DHCP"
|
||||
|
|
@ -617,7 +620,7 @@
|
|||
"fetchingUsersError": "Error en obtenir els usuaris",
|
||||
"fileCreationRequest": "Petició de creació de fitxers auxiliars enviada",
|
||||
"fileNameRequired": "El nom del fitxer és obligatori",
|
||||
"fileSuccessfullyUploadedData": "Fitxer carregat, les dades estan llestes per enviar-se amb èxit.",
|
||||
"fileSuccessfullyUploadedData": "Fitxer carregat, les dades estan llestes per enviar-se correctament.",
|
||||
"fileSystem": "Sistema de fitxers",
|
||||
"fileSystemAlt": "Sistema de fitxers",
|
||||
"filterByType": "Filtrar per tipus",
|
||||
|
|
@ -631,6 +634,8 @@
|
|||
"formIsInvalid": "El formulari és invàlid",
|
||||
"forRemotePcOnDays": "per a Remote PC els dies:",
|
||||
"forReservationFrom": "per a reserva des del",
|
||||
"fromRemoteDb": "Des de base de dades remota",
|
||||
"fromSqlFile": "Des de fitxer SQL",
|
||||
"fullDeployment": "Desplegament complet",
|
||||
"fullsum": "Suma total",
|
||||
"generalDataTab": "Dades generals",
|
||||
|
|
@ -650,19 +655,20 @@
|
|||
"gridViewButton": "Quadrícula",
|
||||
"group": "Grup",
|
||||
"groupId": "ID del Grup",
|
||||
"groupOfCommandsExecutedSuccessfully": "Grup de comandaments executat amb èxit",
|
||||
"groupOfCommandsExecutedSuccessfully": "Grup de comandaments executat correctament",
|
||||
"groups": "Grups",
|
||||
"groupsAddStepText": "Fes clic per afegir una nova unitat organitzativa o un client.",
|
||||
"groupsTitleStepText": "En aquesta pantalla, pots gestionar les principals unitats organitzatives (Facultats, Aules, Grups d'Aules i clients).",
|
||||
"groupView": "Vista de Grups",
|
||||
"hardware": "Hardware",
|
||||
"hardwareDeletedSuccessfully": "Hardware eliminat correctament",
|
||||
"hardwareDeletingError": "Error eliminant hardware",
|
||||
"hardwareInventorySuccessfullyUpdated": "Inventari de hardware actualitzat correctament",
|
||||
"hardware": "Maquinari",
|
||||
"hardwareDeletedSuccessfully": "Maquinari eliminat correctament",
|
||||
"hardwareDeletingError": "Error eliminant maquinari",
|
||||
"hardwareInventorySuccessfullyUpdated": "Inventari de maquinari actualitzat correctament",
|
||||
"hardwareTypes": "Tipus",
|
||||
"hasNotBeenLoaded": "No s'ha carregat la informació del client",
|
||||
"helpTitle": "Ajuda",
|
||||
"hideAdvanced": "Ocultar avançats",
|
||||
"hostLabel": "Host de la base de dades",
|
||||
"id1": "Id",
|
||||
"ignitionRequestSentCorrectly": "Petició d'encesa enviada correctament",
|
||||
"imageAddedSuccessfully": "Imatge afegida correctament",
|
||||
|
|
@ -681,12 +687,15 @@
|
|||
"imageRenamedCorrectly": "Imatge reanomenada correctament",
|
||||
"images": "Imatges",
|
||||
"imagesTitle": "Administrar imatges",
|
||||
"imageSuccessfullyDeleted": "Imatge eliminada amb èxit",
|
||||
"imageSuccessfullyDeleted": "Imatge eliminada correctament",
|
||||
"imageTransferInfo": ". Es transferirà la imatge a la resta de repositoris en el cas que no existeixi prèviament.",
|
||||
"imageType": "Tipus d'imatge",
|
||||
"imageUpdatedSuccessfully": "Imatge actualitzada amb èxit",
|
||||
"imageUpdatedSuccessfully": "Imatge actualitzada correctament",
|
||||
"importButton": "Importar",
|
||||
"importedClientsZero": "Clients importats:",
|
||||
"importImageButton": "Importar imatge",
|
||||
"importLegacyDbDesc": "Migra les dades d'una instal·lació OpenGnsys 1.1 a la versió 3.0",
|
||||
"importLegacyDbTitle": "Importar des d'OG 1.1",
|
||||
"inactive": "Inactiu",
|
||||
"inactiveOption": "No instal·lada",
|
||||
"includedCommandGroups": "Grups de Comandaments Inclosos",
|
||||
|
|
@ -708,7 +717,7 @@
|
|||
"ipHint": "Exemple: 123.1.1.1",
|
||||
"ipIsRequired": "La IP és obligatòria",
|
||||
"isoImageColumn": "Imatge ISO",
|
||||
"itemRemovedSuccessfully": "Element eliminat amb èxit.",
|
||||
"itemRemovedSuccessfully": "Element eliminat correctament.",
|
||||
"jwtDecodingError": "Error en descodificar JWT",
|
||||
"kernelLabel": "Etiqueta del kernel",
|
||||
"keyStepText": "La llegenda et mostrarà els tipus d'unitats organitzatives i els seus icones corresponents",
|
||||
|
|
@ -770,7 +779,7 @@
|
|||
"labelGlobalImage": "Imatge Global",
|
||||
"labelGoBackToServers": "Tornar a servidors",
|
||||
"labelGroupName": "Nom del Grup",
|
||||
"labelHardwareProfile": "Perfil de Hardware",
|
||||
"labelHardwareProfile": "Perfil de Maquinari",
|
||||
"labelId": "ID",
|
||||
"labelImage": "Imatge",
|
||||
"labelImageName": "Nom de la imatge",
|
||||
|
|
@ -880,7 +889,7 @@
|
|||
"labelServices": "Serveis",
|
||||
"labelSizeMb": "Mida (MB)",
|
||||
"labelSizePercentage": "Mida (%)",
|
||||
"labelSoftwareName": "Nom del software",
|
||||
"labelSoftwareName": "Nom del programari",
|
||||
"labelSpeed": "Velocitat",
|
||||
"labelState": "Estat",
|
||||
"labelStates": "Estats",
|
||||
|
|
@ -916,7 +925,7 @@
|
|||
"Legend": "Llegenda",
|
||||
"limpiarAcciones": "Netejar accions",
|
||||
"linuxOption": "LINUX",
|
||||
"listViewButton": "Vista Llista",
|
||||
"listViewButton": "Vista de llista",
|
||||
"loadingDots": "Carregant...",
|
||||
"loadingGitInfo": "Carregant informació de Git...",
|
||||
"loadingStepText": "Espera mentre es carreguen els grups de comandaments.",
|
||||
|
|
@ -933,30 +942,34 @@
|
|||
"manageAssetsPath": "Gestionar Recursos: public/assets/",
|
||||
"manageClientsTitle": "Gestionar clients",
|
||||
"manageEnvVars": "Gestionar variables d'entorn",
|
||||
"manageHardware": "Administrar Hardware",
|
||||
"manageHardwareProfiles": "Administrar perfils de hardware",
|
||||
"manageHardwareTypes": "Administrar tipus de hardware",
|
||||
"manageHardware": "Administrar Maquinari",
|
||||
"manageHardwareProfiles": "Administrar perfils de maquinari",
|
||||
"manageHardwareTypes": "Administrar tipus de maquinari",
|
||||
"manageImages": "Gestionar imatges",
|
||||
"manageServer": "Gestionar servidor",
|
||||
"manageSoftware": "Administrar Software",
|
||||
"manageSoftware": "Administrar Programari",
|
||||
"manageTaskSchedules": "Gestionar programacions de tasques en",
|
||||
"manageTasksTitle": "Administrar Tasques",
|
||||
"manageUserRoles": "Gestionar rols d'usuari",
|
||||
"manageUsersAndRolesDesc": "Gestió d'usuaris i rols de l'aplicació",
|
||||
"markAsSuccessful": "Marcar com a reeixida",
|
||||
"markAsSuccessful": "Marcar com a completada",
|
||||
"markClientInstruction": "Pots marcar o desmarcar un client fent clic a l'àrea de l'ordinador.",
|
||||
"markClientModelInstruction": "Pots marcar o desmarcar un client fent clic a l'àrea de l'ordinador. A més, selecciona amb \"Model\" l'equip que actuarà com a model.",
|
||||
"markClientModelInstruction2": "Pots marcar o desmarcar un client fent clic a l'àrea de l'ordinador. A més, selecciona amb \"Model\" l'equip que actuarà com a model.",
|
||||
"markTraceAsSuccessful": "Marcar Traça com a Reeixida",
|
||||
"markTraceAsSuccessful": "Marcar Traça com a Completada",
|
||||
"maxClients": "Màx. Clients",
|
||||
"maxWaitTime": "Temps màx. espera",
|
||||
"menuAddedSuccessfully": "Menú afegit amb èxit",
|
||||
"menuAddedSuccessfully": "Menú afegit correctament",
|
||||
"menuConfiguration": "Configuració del menú",
|
||||
"menuEditedCorrectly": "Menú editat amb èxit",
|
||||
"menuEditedCorrectly": "Menú editat correctament",
|
||||
"menuError": "Error del menú",
|
||||
"menuName": "Nom de menú",
|
||||
"menus": "Menús",
|
||||
"menuSuccessfullyRemoved": "Menú eliminat amb èxit",
|
||||
"menuSuccessfullyRemoved": "Menú eliminat correctament",
|
||||
"migrationError": "Error durant la migració",
|
||||
"migrationInProgress": "Migració en curs...",
|
||||
"migrationSuccess": "Migració completada correctament",
|
||||
"migrationWaitWarning": "Aquest procés pot trigar diversos minuts. Pots navegar per altres pestanyes o recarregar la pàgina; la migració continuarà en segon pla.",
|
||||
"monolithicImage": "Imatges monolítiques",
|
||||
"monolithicImageStep": "Imatge monolítica",
|
||||
"monolithicImageStepText": "Aquesta opció permet visualitzar les imatges monolítiques disponibles al servidor.",
|
||||
|
|
@ -967,8 +980,8 @@
|
|||
"name": "Nom",
|
||||
"nameLabel": "Etiqueta de nom",
|
||||
"nameRequired": "El nom és obligatori",
|
||||
"networkConfigurationAddedSuccessfully": "Configuració de xarxa afegida amb èxit",
|
||||
"networkConfigurationUpdatedSuccessfully": "Configuració de xarxa actualitzada amb èxit",
|
||||
"networkConfigurationAddedSuccessfully": "Configuració de xarxa afegida correctament",
|
||||
"networkConfigurationUpdatedSuccessfully": "Configuració de xarxa actualitzada correctament",
|
||||
"networkPropertiesTab": "Propietats de xarxa",
|
||||
"networkSubnetsSyncedSuccess": "La xarxa i les subxarxes han estat sincronitzades o importades correctament.",
|
||||
"newAction": "Nova Acció",
|
||||
|
|
@ -1001,8 +1014,9 @@
|
|||
"noDisksAvailable": "No hi ha discs disponibles",
|
||||
"noFilesInDirectory": "No hi ha fitxers en aquest directori",
|
||||
"noGitInfoForPartition": "No s'ha trobat informació de Git per a aquesta partició",
|
||||
"noHardwareAssociatedToProfile": "No hi ha hardware associat a aquest perfil",
|
||||
"noHardwareAssociatedToProfile": "No hi ha maquinari associat a aquest perfil",
|
||||
"noInternalElementsMessage": "No hi ha elements interns",
|
||||
"noLogsAvailable": "noLogsAvailable",
|
||||
"noOgLivesInServer": "No hi ha OgLives en aquest servidor",
|
||||
"noOneHasBeenSelected": "No s'ha seleccionat cap disc.",
|
||||
"noOrganizationalUnitsTooltip": "Debeu crear almenys una unitat organitzativa abans d'afegir clients",
|
||||
|
|
@ -1025,8 +1039,8 @@
|
|||
"notValidDataFound": "No s'han trobat dades vàlides",
|
||||
"ntfsOption": "NTFS",
|
||||
"numberOfRules": "Nº de regles",
|
||||
"offline": "Offline",
|
||||
"offlineEquipments": "Equips Offline",
|
||||
"offline": "Fora de línia",
|
||||
"offlineEquipments": "Equips Fora de línia",
|
||||
"ogbootLogs": "Logs d'OgBoot",
|
||||
"ogbootServer": "Servidor OgBoot",
|
||||
"ogbootServers": "Servidors OgBoot",
|
||||
|
|
@ -1034,16 +1048,18 @@
|
|||
"ogcoreLogs": "Logs d'OgCore",
|
||||
"ogCoreServer": "Servidor OgCore",
|
||||
"ogLive": "ogLive",
|
||||
"ogLiveDeletedSuccessfully": "OG Live eliminat amb èxit",
|
||||
"ogLiveDeletedSuccessfully": "OG Live eliminat correctament",
|
||||
"ogLiveModel": "ogLiveModel",
|
||||
"oglivesDescription": "Aquí es mostren els OgLive instal·lats al servidor.",
|
||||
"ogLiveTitle": "OG Live",
|
||||
"oglogLogs": "Registres d'oglog",
|
||||
"ogRepoServerStatus": "Estat del Servidor OgRepository",
|
||||
"online": "Online",
|
||||
"onlineEquipments": "Equips Online",
|
||||
"ogrepositoryLogs": "Registres d'OgRepository",
|
||||
"online": "En línia",
|
||||
"onlineEquipments": "Equips En línia",
|
||||
"onlySubnets": "Només Subxarxes",
|
||||
"onlyTracesCanBeCanceled": "Només es poden cancel·lar traces pendents o en execució",
|
||||
"onlyUpdateCache": "Només actualitzar cache",
|
||||
"onlyUpdateCache": "Només actualitzar memòria cau",
|
||||
"opengnsys": "Opengnsys",
|
||||
"opengnsysWebConsole": "Consola web d'administració d'Opengnsys",
|
||||
"openInGrafana": "Obrir a Grafana",
|
||||
|
|
@ -1075,12 +1091,13 @@
|
|||
"partitionDistribution": "Distribució de Particions",
|
||||
"partitions": "Particions",
|
||||
"partitionSelection": "Selecció de partició",
|
||||
"partitionsSuccessfullyCreatedForThe": "Particions creades per al disc seleccionat amb èxit.",
|
||||
"partitionsSuccessfullyCreatedForThe": "Particions creades per al disc seleccionat correctament.",
|
||||
"partitionsTab": "Pestanya particions",
|
||||
"partitionTitle": "Assistent de particionat",
|
||||
"partitionType": "Tipus de partició",
|
||||
"partitionTypeColumn": "Tipus partició",
|
||||
"passwordChangedSuccessfully": "Contrasenya canviada amb èxit",
|
||||
"passLabel": "Contrasenya (opcional)",
|
||||
"passwordChangedSuccessfully": "Contrasenya canviada correctament",
|
||||
"pending": "Pendent",
|
||||
"pendingOption": "Instal·lant",
|
||||
"pendingToExecute": "Pendent d'executar",
|
||||
|
|
@ -1094,13 +1111,13 @@
|
|||
"placeholderSearchClientName": "Buscar nom del client",
|
||||
"placeholderSearchCommitMessage": "Buscar per missatge del commit",
|
||||
"placeholderSearchCommits": "Buscar commits",
|
||||
"placeholderSearchHardwareName": "Buscar nom de hardware",
|
||||
"placeholderSearchHardwareName": "Buscar nom de maquinari",
|
||||
"placeholderSearchMac": "Buscar Mac",
|
||||
"placeholderSearchMenuName": "Buscar nom de menú",
|
||||
"placeholderSearchNetmask": "Buscar netmask",
|
||||
"placeholderSearchOsName": "Buscar nom de sistema operatiu",
|
||||
"placeholderSearchProfileName": "Buscar nom de perfil",
|
||||
"placeholderSearchSoftwareName": "Buscar nom de software",
|
||||
"placeholderSearchSoftwareName": "Buscar nom de programari",
|
||||
"placeholderSearchSubnetName": "Buscar nom de la subxarxa",
|
||||
"placeholderTftpServer": "Ex: Servidor Principal TFTP",
|
||||
"pleaseCheckTheFields": "Si us plau, revisa els camps del formulari",
|
||||
|
|
@ -1114,9 +1131,9 @@
|
|||
"preparingDeploymentRequest": "Preparant petició de desplegament",
|
||||
"preSelectedInfo": "Els clients han estat pre-seleccionats des del component de desplegament d'imatges.",
|
||||
"procedimientosCliente": "Històric accions",
|
||||
"programmingCreatedCorrectly": "Programación creada amb èxit",
|
||||
"programmingRemovedCorrectly": "Programació eliminada amb èxit",
|
||||
"programmingUpdatedCorrectly": "Programació actualitzada amb èxit",
|
||||
"programmingCreatedCorrectly": "Programación creada correctament",
|
||||
"programmingRemovedCorrectly": "Programació eliminada correctament",
|
||||
"programmingUpdatedCorrectly": "Programació actualitzada correctament",
|
||||
"projectorAlt": "Proyector",
|
||||
"propagateParameters": "Propagar paràmetres",
|
||||
"propertyHeader": "Propietat",
|
||||
|
|
@ -1126,9 +1143,9 @@
|
|||
"pxePort": "Port PXE",
|
||||
"pxePortTftp": "Port PXE (TFTP)",
|
||||
"pxeTemplate": "Plantilla",
|
||||
"pxeTemplateCreatedSuccessfully": "Plantilla PXE creada amb èxit",
|
||||
"pxeTemplateCreatedSuccessfully": "Plantilla PXE creada correctament",
|
||||
"pxeTemplates": "Plantilles PXE",
|
||||
"pxeTemplateUpdatedSuccessfully": "Plantilla PXE actualitzada amb èxit",
|
||||
"pxeTemplateUpdatedSuccessfully": "Plantilla PXE actualitzada correctament",
|
||||
"queueActions": "Encuar accions",
|
||||
"queueActionsForFailedPcs": "Vols que s'encuin les accions per als PCs que no es pugui executar?",
|
||||
"RamUsage": "Ús de RAM",
|
||||
|
|
@ -1141,22 +1158,22 @@
|
|||
"reasonPlaceholder": "Raó per a l'excepció",
|
||||
"rebootDevice": "Reiniciar Equip",
|
||||
"recoverImageFromTrash": "Recuperar imatge de la paperera",
|
||||
"refreshmentRequestSentCorrectly": "Petició de refresc enviada amb èxit",
|
||||
"refreshmentRequestSentCorrectly": "Petició de refresc enviada correctament",
|
||||
"remoteAccess": "Disponible accés remot",
|
||||
"remoteAvailability": "Marcar com a disponible per a Remote PC",
|
||||
"remotePath": "Ruta remota",
|
||||
"remotePc": "Remote Pc",
|
||||
"remotePcLabel": "PC remot",
|
||||
"remotePcCalendarRuleInfo": "(Els dies i hores seleccionats es marcaran com a aula no disponible per a remote pc.)",
|
||||
"remotePcLabel": "PC remot",
|
||||
"remotePcStatusAvailable": "Disponible per a Remote PC",
|
||||
"remotePcStatusUnavailable": "No disponible per a Remote PC",
|
||||
"removedSuccessfully": "Eliminat amb èxit",
|
||||
"removedSuccessfully": "Eliminat correctament",
|
||||
"renameImage": "Reanomenar imatge",
|
||||
"repetition": "Repetició",
|
||||
"repositories": "Repositoris",
|
||||
"repository": "Repositori",
|
||||
"repositoryAddedSuccessfully": "Repositori afegit amb èxit",
|
||||
"repositoryDeletedSuccessfully": "Repositori eliminat amb èxit",
|
||||
"repositoryAddedSuccessfully": "Repositori afegit correctament",
|
||||
"repositoryDeletedSuccessfully": "Repositori eliminat correctament",
|
||||
"repositoryInformation": "Informació del Repositori",
|
||||
"repositoryName": "Nom",
|
||||
"repositoryNotFound": "Repositori no trobat",
|
||||
|
|
@ -1181,9 +1198,9 @@
|
|||
"resolution800x600x24": "800×600 (24-bit - 16M colors)",
|
||||
"resolution800x600x8": "800×600 (8-bit - 256 colors)",
|
||||
"resolutionError": "La resolució és requerida",
|
||||
"roleAddedSuccessfully": "Rol afegit amb èxit",
|
||||
"roleDeletedSuccessfully": "Rol eliminat amb èxit",
|
||||
"roleUpdatedSuccessfully": "Rol actualitzat amb èxit",
|
||||
"roleAddedSuccessfully": "Rol afegit correctament",
|
||||
"roleDeletedSuccessfully": "Rol eliminat correctament",
|
||||
"roleUpdatedSuccessfully": "Rol actualitzat correctament",
|
||||
"roomMap": "Plànol d'aula",
|
||||
"route": "Ruta",
|
||||
"rulesHeader": "Regles",
|
||||
|
|
@ -1206,12 +1223,12 @@
|
|||
"scriptConfiguration": "Configuració de script",
|
||||
"scriptCopiedToClipboard": "Script copiat al porta-retalls",
|
||||
"scriptEditorTitle": "Editor de Script",
|
||||
"scriptExecutedSuccessfully": "Script executat amb èxit",
|
||||
"scriptExecutedSuccessfully": "Script executat correctament",
|
||||
"scriptParameterHint": "Si se selecciona aquesta opció els paràmetres s'han d'indicar a l'script amb el símbol @.",
|
||||
"scriptParameters": "Paràmetres de l'script",
|
||||
"scriptPreview": "Vista prèvia de l'script",
|
||||
"scriptSavedSuccessfully": "Script desat amb èxit",
|
||||
"scriptSuccessfullyAddedTo": "Script afegit amb èxit a la tasca",
|
||||
"scriptSavedSuccessfully": "Script desat correctament",
|
||||
"scriptSuccessfullyAddedTo": "Script afegit correctament a la tasca",
|
||||
"search": "Cercar",
|
||||
"searchClient": "Cercar client",
|
||||
"searchDefaultDescription": "Filtra les imatges per mostrar només les imatges per defecte o no per defecte.",
|
||||
|
|
@ -1251,7 +1268,7 @@
|
|||
"selectGitRepoOs": "Seleccionar repositori git / SO",
|
||||
"selectGitRepository": "Seleccionar repositori Git",
|
||||
"selectImagePrompt": "Seleccioni imatge",
|
||||
"selectImageToDeleteFromCache": "Seleccionar imatge per eliminar de la cache",
|
||||
"selectImageToDeleteFromCache": "Seleccionar imatge per eliminar de la memòria cau",
|
||||
"selectImageToUpdate": "Seleccionar imatge per actualitzar",
|
||||
"selectImageToUpdateHint": "Selecciona la imatge existent que vols actualitzar.",
|
||||
"selectNewDestinationRepo": "Seleccioni nou repositori destí",
|
||||
|
|
@ -1267,7 +1284,7 @@
|
|||
"selectRepoToView": "Tria un repositori de la llista per veure el seu estat detallat.",
|
||||
"selectScriptToRun": "Seleccioni script a executar",
|
||||
"selectScriptToView": "Tria un script desat de la llista per veure el seu contingut i configurar paràmetres.",
|
||||
"selectSoftwareToAdd": "Seleccioni software per afegir",
|
||||
"selectSoftwareToAdd": "Seleccioni programari per afegir",
|
||||
"selectTask": "Seleccioni una tasca",
|
||||
"selectTemplateDescription": "Seleccioni plantilla",
|
||||
"selectTemplateLabel": "Seleccionar Plantilla",
|
||||
|
|
@ -1280,29 +1297,30 @@
|
|||
"serverInfoTitle": "Informació del servidor",
|
||||
"serverIp": "Ip servidor",
|
||||
"serverLogs": "Logs del servidor",
|
||||
"serverSubnetSynchronization": "Sincronització de subxarxes de servidors DHCP reeixida",
|
||||
"serverSuccessfullyDeleted": "Servidor eliminat amb èxit",
|
||||
"serverSubnetSynchronization": "Sincronització de subxarxes de servidors DHCP completada correctament",
|
||||
"serverSuccessfullyDeleted": "Servidor eliminat correctament",
|
||||
"servicesStatusDescription": "Aquí es mostra l'estat dels serveis del servidor.",
|
||||
"setDefaultOption": "Canviar a imatge per defecte",
|
||||
"showAdvanced": "Mostrar avançats",
|
||||
"showDetailsWorks": "¡Mostrar detalls funciona!",
|
||||
"showingResults": "Mostrant {{from}} a {{to}} de {{total}} resultats",
|
||||
"shutdownDevice": "Apagar Equip",
|
||||
"shutdownRequestSentCorrectly": "Petició d'apagat enviada amb èxit",
|
||||
"software": "Software",
|
||||
"softwareAddedSuccessfully": "Software afegit amb èxit",
|
||||
"softwareDeletedSuccessfully": "Software eliminat amb èxit",
|
||||
"softwareDescription": "Descripció del software",
|
||||
"softwareFetchingError": "Error en obtenir el software:",
|
||||
"shutdownRequestSentCorrectly": "Petició d'apagat enviada correctament",
|
||||
"software": "Programari",
|
||||
"softwareAddedSuccessfully": "Programari afegit correctament",
|
||||
"softwareDeletedSuccessfully": "Programari eliminat correctament",
|
||||
"softwareDescription": "Descripció del programari",
|
||||
"softwareFetchingError": "Error en obtenir el programari:",
|
||||
"softwareList": "Llistat",
|
||||
"softwareNameLabel": "Nom del software",
|
||||
"softwareProfile": "Perfil de software",
|
||||
"softwareNameLabel": "Nom del programari",
|
||||
"softwareProfile": "Perfil de programari",
|
||||
"softwareProfiles": "Perfils",
|
||||
"soimage": "SO/Imatge",
|
||||
"sortBy": "Ordenar per",
|
||||
"sourceBranch": "Branca origen",
|
||||
"sourcePartitionInfo": "Informació de Partició d'origen",
|
||||
"specificRepoInfo": "Informació específica del repositori seleccionat",
|
||||
"sqlFileLabel": "Fitxer (.sql/.zip)",
|
||||
"sshPort": "Port SSH",
|
||||
"sshPortLower": "Port ssh",
|
||||
"sshPortRequired": "El port SSH és obligatori",
|
||||
|
|
@ -1327,30 +1345,30 @@
|
|||
"statusUnavailable": "No disponible",
|
||||
"subnet": "Subxarxa",
|
||||
"subnetIpRequired": "La ip de la subxarxa és obligatòria.",
|
||||
"subnetLeasesRemoved": "Concessions de la subxarxa eliminades amb èxit",
|
||||
"subnetLeasesRemoved": "Concessions de la subxarxa eliminades correctament",
|
||||
"subnetNameLabel": "Nom de la subxarxa",
|
||||
"subnetNameRequired": "El nom de la subxarxa és obligatori.",
|
||||
"subnetNetmaskRequired": "El netmask de la subxarxa és obligatori.",
|
||||
"subnets": "Subxarxes",
|
||||
"subnetSuccessfullyDeleted": "Subxarxa eliminada correctament",
|
||||
"subnetSynchronizedWithServer": "Subxarxa sincronitzada amb servidor",
|
||||
"success": "Reeixit",
|
||||
"successful": "reeixit",
|
||||
"success": "Correcte",
|
||||
"successful": "correcte",
|
||||
"successfullyCreated": "Creat correctament",
|
||||
"successfullyCreatedRepository": "Repositori creat correctament",
|
||||
"successfullyEdited": "Editat correctament",
|
||||
"successfullyEditedImage": "Imatge editada correctament",
|
||||
"successfullyEditedRepository": "Repositori editat correctament",
|
||||
"successfullyEditedSoftware": "Software editat correctament",
|
||||
"successfullyEditedSoftware": "Programari editat correctament",
|
||||
"successfullyScheduledTask": "Tasca programada correctament",
|
||||
"successfullyUpdatedRepositoryStatus": "Estat del repositori actualitzat correctament",
|
||||
"successfullyUpdatedSoftwareInventory": "Inventari de software actualitzat correctament",
|
||||
"successfullyUpdatedSoftwareInventory": "Inventari de programari actualitzat correctament",
|
||||
"successfulPxeTemplateSynchronization": "Sincronització de plantilles Pxe completada",
|
||||
"sW": "SO",
|
||||
"syncAll": "Sincronitzar tot",
|
||||
"syncDatabase": "Sincronitzar base de dades",
|
||||
"synchronizationCompleted": "Sincronització completada",
|
||||
"synchronizationCompletedSuccessfully": "Sincronització completada amb èxit",
|
||||
"synchronizationCompletedSuccessfully": "Sincronització completada correctament",
|
||||
"synchronizationError": "Error en sincronitzar",
|
||||
"synchronizationWithOglivesCompleted": "Sincronització amb ogLives completada",
|
||||
"synchronized": "Sincronitzat",
|
||||
|
|
@ -1364,7 +1382,7 @@
|
|||
"tableDescription": "Aquí es mostra la llista d'imatges disponibles per administrar.",
|
||||
"tableStepText": "Aquí es mostren els calendaris existents amb les seves característiques i configuracions.",
|
||||
"tabsStepText": "Utilitza les pestanyes per accedir a les diferents opcions de visualització i cerca d'unitats organitzatives i clients.",
|
||||
"tagCreatedSuccessfully": "Etiqueta creada amb èxit",
|
||||
"tagCreatedSuccessfully": "Etiqueta creada correctament",
|
||||
"tagDescriptionHint": "Descripció de l'etiqueta (ex: \"Release estable de la versió 1.0\")",
|
||||
"tagDescriptionLabel": "Descripció de l'etiqueta",
|
||||
"tagExampleHint": "Exemple: v1.0.0, release-2024-01, hotfix-bug-123",
|
||||
|
|
@ -1374,15 +1392,15 @@
|
|||
"taskActionsSequentialHint": "Les accions s'executen en ordre seqüencial. Si una acció falla, les següents es cancel·len automàticament.",
|
||||
"taskActionsTitle": "Accions de la tasca",
|
||||
"taskCanceledSuccessfully": "Tasca cancel·lada correctament",
|
||||
"taskCreatedSuccessfully": "Tasca creada amb èxit",
|
||||
"taskDeletedSuccessfully": "Tasca eliminada amb èxit",
|
||||
"taskCreatedSuccessfully": "Tasca creada correctament",
|
||||
"taskDeletedSuccessfully": "Tasca eliminada correctament",
|
||||
"taskDetailsTitle": "Detalls de la Tasca",
|
||||
"taskId": "ID de la Tasca",
|
||||
"taskName": "Nom de la tasca",
|
||||
"tasks": "Tasques",
|
||||
"taskSchedule": "Programació de Tasca",
|
||||
"taskScheduleCreatedWith": "Programació de tasca creada amb èxit",
|
||||
"taskUpdatedSuccessfully": "Tasca actualitzada amb èxit",
|
||||
"taskScheduleCreatedWith": "Programació de tasca creada correctament",
|
||||
"taskUpdatedSuccessfully": "Tasca actualitzada correctament",
|
||||
"templateContent": "Contingut de la plantilla PXE",
|
||||
"templateContentError": "Error en el contingut de la plantilla",
|
||||
"templateContentPlaceholder": "Introdueix el contingut de la plantilla",
|
||||
|
|
@ -1412,21 +1430,21 @@
|
|||
"TOOLTIP_DHCP_SERVERS": "Gestionar i registrar servidors DHCP",
|
||||
"TOOLTIP_DHCP_STATUS": "Estat actual del servei DHCP",
|
||||
"TOOLTIP_GROUPS": "Gestionar grups d'usuaris",
|
||||
"TOOLTIP_HARDWARE": "Gestionar configuracions de hardware",
|
||||
"TOOLTIP_HARDWARE_LIST": "Veure llista de hardware disponible",
|
||||
"TOOLTIP_HARDWARE_PROFILES": "Gestionar perfils de hardware",
|
||||
"TOOLTIP_HARDWARE_TYPES": "Gestionar tipus de hardware",
|
||||
"TOOLTIP_HARDWARE": "Gestionar configuracions de maquinari",
|
||||
"TOOLTIP_HARDWARE_LIST": "Veure llista de maquinari disponible",
|
||||
"TOOLTIP_HARDWARE_PROFILES": "Gestionar perfils de maquinari",
|
||||
"TOOLTIP_HARDWARE_TYPES": "Gestionar tipus de maquinari",
|
||||
"TOOLTIP_IMAGES": "Gestionar imatges del sistema",
|
||||
"TOOLTIP_MENUS": "Gestió de menús (opció deshabilitada)",
|
||||
"TOOLTIP_OPERATIVE_SYSTEMS": "Configurar sistemes operatius",
|
||||
"TOOLTIP_PXE_BOOT_FILES": "Configurar fitxers d'arrencada PXE",
|
||||
"TOOLTIP_PXE_IMAGES": "Veure imatges disponibles per arrencada PXE",
|
||||
"TOOLTIP_PXE_TEMPLATES": "Gestionar plantillas d'arrencada PXE",
|
||||
"TOOLTIP_REPOSITORIES": "Veure i gestionar repositoris de software",
|
||||
"TOOLTIP_REPOSITORIES": "Veure i gestionar repositoris de programari",
|
||||
"TOOLTIP_SEARCH": "Funció de cerca (opció deshabilitada)",
|
||||
"TOOLTIP_SOFTWARE": "Administrar configuracions de software",
|
||||
"TOOLTIP_SOFTWARE_LIST": "Veure llista de software disponible",
|
||||
"TOOLTIP_SOFTWARE_PROFILES": "Gestionar perfils de software",
|
||||
"TOOLTIP_SOFTWARE": "Administrar configuracions de programari",
|
||||
"TOOLTIP_SOFTWARE_LIST": "Veure llista de programari disponible",
|
||||
"TOOLTIP_SOFTWARE_PROFILES": "Gestionar perfils de programari",
|
||||
"TOOLTIP_SUBNETS": "Gestionar i crear subxarxes",
|
||||
"TOOLTIP_TASKS": "Veure i gestionar tasques programades",
|
||||
"TOOLTIP_TRACE_LOGS": "Veure l'historial d'execució de traces",
|
||||
|
|
@ -1435,7 +1453,7 @@
|
|||
"totalTraces": "Total de traces",
|
||||
"traceCanceledSuccessfully": "Traça cancel·lada correctament",
|
||||
"traceLogs": "Logs de traces",
|
||||
"traceMarkedAsSuccessfulCorrectly": "Traça marcada com a reeixida correctament",
|
||||
"traceMarkedAsSuccessfulCorrectly": "Traça marcada com a completada correctament",
|
||||
"tracesInfoStepText": "Aquí pots consultar informació detallada de la traça en concret.",
|
||||
"tracesProgressStepText": "Aquí pots veure l'estat d'execució actualitzat en temps real.",
|
||||
"tracesTitleStepText": "En aquesta pantalla, pots veure les traces d'execució de cada client, amb el seu id, comandament, estat en temps real, data i accions a realitzar.",
|
||||
|
|
@ -1450,12 +1468,13 @@
|
|||
"unrecognizedActionType": "Tipus d'acció no reconegut",
|
||||
"unsupportedAction": "Acció no suportada:",
|
||||
"untilThe": "fins al",
|
||||
"updateCacheRestorePartition": "Actualitza cache i restaura partició",
|
||||
"updateCacheRestorePartition": "Actualitza memòria cau i restaura partició",
|
||||
"updatedClient": "¡Client actualitzat!",
|
||||
"updatedData": "Dades actualitzades",
|
||||
"updatedTaskScheduleWith": "Programació de tasca actualitzada amb èxit",
|
||||
"updatedTaskScheduleWith": "Programació de tasca actualitzada correctament",
|
||||
"updateRequestSent": "Petició d'actualització enviada",
|
||||
"uploadMenuFileHint": "Pugi el fitxer que s'usarà com a menú",
|
||||
"uploadSqlOrZip": "Puja el fitxer .sql o comprimit en zip (.zip)",
|
||||
"urlFormatError": "Format d'URL invàlid.",
|
||||
"usageColumn": "Ús (%)",
|
||||
"use": "Ús",
|
||||
|
|
@ -1463,6 +1482,7 @@
|
|||
"userAddedSuccessfully": "Usuari afegit correctament",
|
||||
"userDeletedSuccessfully": "Usuari eliminat correctament",
|
||||
"userEditedSuccessfully": "Usuari editat correctament",
|
||||
"userLabel": "Usuari",
|
||||
"userName": "Nom d'Usuari",
|
||||
"validationToggle": "Validació",
|
||||
"valueFor": "Valor per a",
|
||||
|
|
@ -1476,7 +1496,7 @@
|
|||
"viewCommitInGit": "Veure commit en Git",
|
||||
"viewExternalInfo": "Veure Info Externa",
|
||||
"viewFailedTraces": "Veure traces fallides",
|
||||
"viewHardwareCollection": "Veure col·lecció de hardware",
|
||||
"viewHardwareCollection": "Veure col·lecció de maquinari",
|
||||
"viewIcon": "Icona de visibilitat",
|
||||
"viewInfoStepText": "Accedeix a informació i opcions a l'API d'OgBoot.",
|
||||
"viewInProgressTraces": "Veure traces en progrés",
|
||||
|
|
@ -1486,7 +1506,7 @@
|
|||
"viewPendingTraces": "Veure traces pendents",
|
||||
"viewSentTraces": "Veure traces enviades",
|
||||
"viewSubnets": "Veure Subxarxes",
|
||||
"viewSuccessfulTraces": "Veure traces reeixides",
|
||||
"viewSuccessfulTraces": "Veure traces completades correctament",
|
||||
"viewTodayTraces": "Veure traces d'avui",
|
||||
"viewTreeMenu": "Veure organigrama",
|
||||
"viewTreeTitle": "Visualitzar arbre unitat Organizativa",
|
||||
|
|
@ -1494,7 +1514,7 @@
|
|||
"viewType": "Tipus de vista",
|
||||
"viewUnitMenu": "Veure dades",
|
||||
"viewUnitTooltip": "Veure detalls de la unitat organitzativa",
|
||||
"vistalista": "Vista Llista",
|
||||
"vistalista": "Vista de llista",
|
||||
"vistatarjeta": "Vista Targeta",
|
||||
"welcomeTitle": "Benvingut a la consola d'administració d'OpenGnsys",
|
||||
"welcomeUser": "Benvingut {{username}}",
|
||||
|
|
@ -1524,20 +1544,5 @@
|
|||
"youMustSelectAtLeastOne1": "Has de seleccionar almenys un dia de la setmana",
|
||||
"youMustSelectAtLeastOne2": "Has de seleccionar almenys un mes",
|
||||
"youMustSpecifyStartDate": "Has d'especificar data d'inici i data de fi",
|
||||
"youWantToPropagateTheParametersOf": "Vols propagar els paràmetres de xarxa (ogLive, repositori, menú, plantilla PXE, perfil de hardware) a tots els clients d'aquesta unitat organitzativa?",
|
||||
"importLegacyDbTitle": "Importar des d'OG 1.1",
|
||||
"importLegacyDbDesc": "Migra les dades d'una instal·lació OpenGnsys 1.1 a la versió 3.0",
|
||||
"fromSqlFile": "Des de fitxer SQL",
|
||||
"fromRemoteDb": "Des de Base de Dades remota",
|
||||
"importButton": "Importar",
|
||||
"sqlFileLabel": "Fitxer (.sql/.zip)",
|
||||
"hostLabel": "Host de la Base de Dades",
|
||||
"userLabel": "Usuari",
|
||||
"passLabel": "Contrasenya (Opcional)",
|
||||
"dbLabel": "Nom de la BD",
|
||||
"migrationInProgress": "Migració en curs...",
|
||||
"migrationWaitWarning": "Aquest procés pot trigar uns minuts. Pots navegar per altres pestanyes o recarregar la pàgina; la migració continuarà en segon pla.",
|
||||
"migrationSuccess": "Migració completada amb èxit",
|
||||
"migrationError": "Error durant la migració",
|
||||
"uploadSqlOrZip": "Puja el fitxer .sql o comprimit en zip (.zip)"
|
||||
}
|
||||
"youWantToPropagateTheParametersOf": "Vols propagar els paràmetres de xarxa (ogLive, repositori, menú, plantilla PXE, perfil de maquinari) a tots els clients d'aquesta unitat organitzativa?"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -231,9 +231,6 @@
|
|||
"clientListExecuteScript": "List of clients where the selected script will be executed",
|
||||
"clientListPartition": "List of clients where partitioning will be performed",
|
||||
"clientLogs": "Client Logs",
|
||||
"diskLogs": "Disk Logs",
|
||||
"diskLogsStartLive": "Enable real-time mode",
|
||||
"diskLogsStopLive": "Stop real-time mode",
|
||||
"clientMacOS": "MacOS client",
|
||||
"clientOff": "Client off",
|
||||
"clientOgLive": "OGLive client",
|
||||
|
|
@ -323,6 +320,7 @@
|
|||
"dataUpdatedCorrectly": "Data updated successfully",
|
||||
"dateFormatPlaceholder": "MM/DD/YYYY",
|
||||
"daysOfTheWeek": "Days of the week",
|
||||
"dbLabel": "Database Name",
|
||||
"default20": "Default (20)",
|
||||
"defaultImage": "Default image",
|
||||
"defaultTemplate": "Default template",
|
||||
|
|
@ -363,6 +361,9 @@
|
|||
"directClientsToggleTooltip": "Show only equipment directly assigned to the selected node (no descendants)",
|
||||
"disabled": "Disabled",
|
||||
"diskImageAssistantTitle": "Disk image assistant",
|
||||
"diskLogs": "Disk Logs",
|
||||
"diskLogsStartLive": "Enable real-time mode",
|
||||
"diskLogsStopLive": "Stop real-time mode",
|
||||
"diskModel": "Disk boot",
|
||||
"diskUsage": "Disk Usage",
|
||||
"diskUsageDescription": "Here is the disk usage of the server.",
|
||||
|
|
@ -633,6 +634,8 @@
|
|||
"formIsInvalid": "Form is invalid",
|
||||
"forRemotePcOnDays": "for Remote PC on days:",
|
||||
"forReservationFrom": "for reservation from",
|
||||
"fromRemoteDb": "From Remote Database",
|
||||
"fromSqlFile": "From SQL File",
|
||||
"fullDeployment": "Full deployment",
|
||||
"fullsum": "Fullsum",
|
||||
"generalDataTab": "General data",
|
||||
|
|
@ -665,6 +668,7 @@
|
|||
"hasNotBeenLoaded": "Client information has not been loaded",
|
||||
"helpTitle": "Help",
|
||||
"hideAdvanced": "Hide advanced",
|
||||
"hostLabel": "Database Host",
|
||||
"id1": "Id",
|
||||
"ignitionRequestSentCorrectly": "Ignition request sent successfully",
|
||||
"imageAddedSuccessfully": "Image added successfully",
|
||||
|
|
@ -687,8 +691,11 @@
|
|||
"imageTransferInfo": ". The image will be transferred to the rest of the repositories if it does not already exist.",
|
||||
"imageType": "Image type",
|
||||
"imageUpdatedSuccessfully": "Image updated successfully",
|
||||
"importButton": "Import",
|
||||
"importedClientsZero": "Imported clients:",
|
||||
"importImageButton": "Import image",
|
||||
"importLegacyDbDesc": "Migrates data from an OpenGnsys 1.1 installation to version 3.0",
|
||||
"importLegacyDbTitle": "Import from OG 1.1",
|
||||
"inactive": "Inactive",
|
||||
"inactiveOption": "Uninstalled",
|
||||
"includedCommandGroups": "Included Command Groups",
|
||||
|
|
@ -959,6 +966,10 @@
|
|||
"menuName": "Menu name",
|
||||
"menus": "Menus",
|
||||
"menuSuccessfullyRemoved": "Menu removed successfully",
|
||||
"migrationError": "Error during migration",
|
||||
"migrationInProgress": "Migration in progress...",
|
||||
"migrationSuccess": "Migration completed successfully",
|
||||
"migrationWaitWarning": "This process can take several minutes. You can navigate to other tabs or reload the page; the migration will continue in the background.",
|
||||
"monolithicImage": "Monolithic image",
|
||||
"monolithicImageStep": "Monolithic image",
|
||||
"monolithicImageStepText": "On this screen you can manage monolithic images.",
|
||||
|
|
@ -1005,6 +1016,7 @@
|
|||
"noGitInfoForPartition": "No Git information found for this partition",
|
||||
"noHardwareAssociatedToProfile": "There is no hardware associated with this profile",
|
||||
"noInternalElementsMessage": "No internal elements",
|
||||
"noLogsAvailable": "noLogsAvailable",
|
||||
"noOgLivesInServer": "There are no OgLives on this server",
|
||||
"noOneHasBeenSelected": "No disk has been selected.",
|
||||
"noOrganizationalUnitsTooltip": "You must create at least one organizational unit before adding clients",
|
||||
|
|
@ -1040,7 +1052,9 @@
|
|||
"ogLiveModel": "ogLiveModel",
|
||||
"oglivesDescription": "Here are the OgLives installed on the server.",
|
||||
"ogLiveTitle": "OG Live",
|
||||
"oglogLogs": "oglog Logs",
|
||||
"ogRepoServerStatus": "OgRepository Server Status",
|
||||
"ogrepositoryLogs": "OgRepository Logs",
|
||||
"online": "Online",
|
||||
"onlineEquipments": "Online Equipment",
|
||||
"onlySubnets": "Only Subnets",
|
||||
|
|
@ -1082,6 +1096,7 @@
|
|||
"partitionTitle": "Partitions assistant",
|
||||
"partitionType": "Partition type",
|
||||
"partitionTypeColumn": "Partition type",
|
||||
"passLabel": "Password (Optional)",
|
||||
"passwordChangedSuccessfully": "Password changed successfully",
|
||||
"pending": "Pending",
|
||||
"pendingOption": "Pending",
|
||||
|
|
@ -1148,8 +1163,8 @@
|
|||
"remoteAvailability": "Check availability to RemotePC",
|
||||
"remotePath": "Remote path",
|
||||
"remotePc": "Remote Pc",
|
||||
"remotePcLabel": "Remote PC",
|
||||
"remotePcCalendarRuleInfo": "(The selected days and hours will be marked as unavailable for remote pc.)",
|
||||
"remotePcLabel": "Remote PC",
|
||||
"remotePcStatusAvailable": "Remote PC status available",
|
||||
"remotePcStatusUnavailable": "Remote PC status unavailable",
|
||||
"removedSuccessfully": "Deleted successfully",
|
||||
|
|
@ -1305,6 +1320,7 @@
|
|||
"sourceBranch": "Source branch",
|
||||
"sourcePartitionInfo": "Source Partition Information",
|
||||
"specificRepoInfo": "Specific information of the selected repository",
|
||||
"sqlFileLabel": "File (.sql/.zip)",
|
||||
"sshPort": "SSH Port",
|
||||
"sshPortLower": "SSH port",
|
||||
"sshPortRequired": "SSH port is required",
|
||||
|
|
@ -1458,6 +1474,7 @@
|
|||
"updatedTaskScheduleWith": "Task schedule updated successfully",
|
||||
"updateRequestSent": "Update request sent",
|
||||
"uploadMenuFileHint": "Upload the file that will be used as the menu",
|
||||
"uploadSqlOrZip": "Upload the .sql file or compressed in zip (.zip)",
|
||||
"urlFormatError": "Invalid URL format.",
|
||||
"usageColumn": "Usage (%)",
|
||||
"use": "Use",
|
||||
|
|
@ -1465,6 +1482,7 @@
|
|||
"userAddedSuccessfully": "User added successfully",
|
||||
"userDeletedSuccessfully": "User deleted successfully",
|
||||
"userEditedSuccessfully": "User edited successfully",
|
||||
"userLabel": "Username",
|
||||
"userName": "User name",
|
||||
"validationToggle": "Validation",
|
||||
"valueFor": "Value for",
|
||||
|
|
@ -1526,20 +1544,5 @@
|
|||
"youMustSelectAtLeastOne1": "You must select at least one day of the week",
|
||||
"youMustSelectAtLeastOne2": "You must select at least one month",
|
||||
"youMustSpecifyStartDate": "You must specify start date and end date",
|
||||
"youWantToPropagateTheParametersOf": "Do you want to propagate the network parameters (ogLive, repository, menu, PXE template, hardware profile) to all clients in this organizational unit?",
|
||||
"importLegacyDbTitle": "Import from OG 1.1",
|
||||
"importLegacyDbDesc": "Migrates data from an OpenGnsys 1.1 installation to version 3.0",
|
||||
"fromSqlFile": "From SQL File",
|
||||
"fromRemoteDb": "From Remote Database",
|
||||
"importButton": "Import",
|
||||
"sqlFileLabel": "File (.sql/.zip)",
|
||||
"hostLabel": "Database Host",
|
||||
"userLabel": "Username",
|
||||
"passLabel": "Password (Optional)",
|
||||
"dbLabel": "Database Name",
|
||||
"migrationInProgress": "Migration in progress...",
|
||||
"migrationWaitWarning": "This process can take several minutes. You can navigate to other tabs or reload the page; the migration will continue in the background.",
|
||||
"migrationSuccess": "Migration completed successfully",
|
||||
"migrationError": "Error during migration",
|
||||
"uploadSqlOrZip": "Upload the .sql file or compressed in zip (.zip)"
|
||||
}
|
||||
"youWantToPropagateTheParametersOf": "Do you want to propagate the network parameters (ogLive, repository, menu, PXE template, hardware profile) to all clients in this organizational unit?"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -231,9 +231,6 @@
|
|||
"clientListExecuteScript": "Listado de clientes donde se ejecutara el script seleccionado",
|
||||
"clientListPartition": "Listado de clientes donde se realizará el particionado",
|
||||
"clientLogs": "Logs de cliente",
|
||||
"diskLogs": "Logs de disco",
|
||||
"diskLogsStartLive": "Activar modo en tiempo real",
|
||||
"diskLogsStopLive": "Detener modo en tiempo real",
|
||||
"clientMacOS": "Cliente MacOS",
|
||||
"clientOff": "Cliente apagado",
|
||||
"clientOgLive": "Cliente OGLive",
|
||||
|
|
@ -323,6 +320,7 @@
|
|||
"dataUpdatedCorrectly": "Datos actualizados con éxito",
|
||||
"dateFormatPlaceholder": "DD/MM/YYYY",
|
||||
"daysOfTheWeek": "Días de la semana",
|
||||
"dbLabel": "Nombre de la BD",
|
||||
"default20": "Por defecto (20)",
|
||||
"defaultImage": "Imagen por defecto",
|
||||
"defaultTemplate": "Plantilla por defecto",
|
||||
|
|
@ -363,6 +361,9 @@
|
|||
"directClientsToggleTooltip": "Mostrar solo los equipos directamente asignados al nodo seleccionado (sin descendientes)",
|
||||
"disabled": "Deshabilitado",
|
||||
"diskImageAssistantTitle": "Asistente de imágenes en disco",
|
||||
"diskLogs": "Logs de disco",
|
||||
"diskLogsStartLive": "Activar modo en tiempo real",
|
||||
"diskLogsStopLive": "Detener modo en tiempo real",
|
||||
"diskModel": "Arranque por disco",
|
||||
"diskUsage": "Uso de Disco",
|
||||
"diskUsageDescription": "Aquí se muestra el uso de disco del servidor.",
|
||||
|
|
@ -633,6 +634,8 @@
|
|||
"formIsInvalid": "El formulario es inválido",
|
||||
"forRemotePcOnDays": "para Remote PC los días:",
|
||||
"forReservationFrom": "para reserva desde el",
|
||||
"fromRemoteDb": "Desde Base de Datos remota",
|
||||
"fromSqlFile": "Desde fichero SQL",
|
||||
"fullDeployment": "Despliegue completo",
|
||||
"fullsum": "Suma total",
|
||||
"generalDataTab": "Datos generales",
|
||||
|
|
@ -665,6 +668,7 @@
|
|||
"hasNotBeenLoaded": "No se ha cargado la información del cliente",
|
||||
"helpTitle": "Ayuda",
|
||||
"hideAdvanced": "Ocultar avanzados",
|
||||
"hostLabel": "Host de la Base de Datos",
|
||||
"id1": "Id",
|
||||
"ignitionRequestSentCorrectly": "Petición de encendido enviada correctamente",
|
||||
"imageAddedSuccessfully": "Imagen añadida correctamente",
|
||||
|
|
@ -687,8 +691,11 @@
|
|||
"imageTransferInfo": ". Se transferirá la imagen al resto de repositorios en el caso de que no exista previamente.",
|
||||
"imageType": "Tipo de imagen",
|
||||
"imageUpdatedSuccessfully": "Imagen actualizada con éxito",
|
||||
"importButton": "Importar",
|
||||
"importedClientsZero": "Clientes importados:",
|
||||
"importImageButton": "Importar imagen",
|
||||
"importLegacyDbDesc": "Migra los datos de una instalación OpenGnsys 1.1 a la versión 3.0",
|
||||
"importLegacyDbTitle": "Importar desde OG 1.1",
|
||||
"inactive": "Inactivo",
|
||||
"inactiveOption": "No instalada",
|
||||
"includedCommandGroups": "Grupos de Comandos Incluidos",
|
||||
|
|
@ -959,6 +966,10 @@
|
|||
"menuName": "Nombre de menú",
|
||||
"menus": "Menús",
|
||||
"menuSuccessfullyRemoved": "Menú eliminado con éxito",
|
||||
"migrationError": "Error durante la migración",
|
||||
"migrationInProgress": "Migración en curso...",
|
||||
"migrationSuccess": "Migración completada con éxito",
|
||||
"migrationWaitWarning": "Este proceso puede tardar varios minutos. Puedes navegar por otras pestañas o recargar la página; la migración continuará en segundo plano.",
|
||||
"monolithicImage": "Imagenes monolíticas",
|
||||
"monolithicImageStep": "Imagen monolítica",
|
||||
"monolithicImageStepText": "Esta opción permite visualizar las imágenes monolíticas disponibles en el servidor.",
|
||||
|
|
@ -1005,6 +1016,7 @@
|
|||
"noGitInfoForPartition": "No se encontró información de Git para esta partición",
|
||||
"noHardwareAssociatedToProfile": "No hay hardware asociado a este perfil",
|
||||
"noInternalElementsMessage": "No hay elementos internos",
|
||||
"noLogsAvailable": "noLogsAvailable",
|
||||
"noOgLivesInServer": "No hay OgLives en este servidor",
|
||||
"noOneHasBeenSelected": "No se ha seleccionado ningún disco.",
|
||||
"noOrganizationalUnitsTooltip": "Debe crear al menos una unidad organizativa antes de añadir clientes",
|
||||
|
|
@ -1040,7 +1052,9 @@
|
|||
"ogLiveModel": "ogLiveModel",
|
||||
"oglivesDescription": "Aquí se muestran los OgLive instalados en el servidor.",
|
||||
"ogLiveTitle": "OG Live",
|
||||
"oglogLogs": "Logs de oglog",
|
||||
"ogRepoServerStatus": "Estado del Servidor OgRepository",
|
||||
"ogrepositoryLogs": "Logs de OgRepository",
|
||||
"online": "Online",
|
||||
"onlineEquipments": "Equipos Online",
|
||||
"onlySubnets": "Solo Subredes",
|
||||
|
|
@ -1082,6 +1096,7 @@
|
|||
"partitionTitle": "Asistente de particionado",
|
||||
"partitionType": "Tipo de partición",
|
||||
"partitionTypeColumn": "Tipo partición",
|
||||
"passLabel": "Contraseña (Opcional)",
|
||||
"passwordChangedSuccessfully": "Contraseña cambiada con éxito",
|
||||
"pending": "Pendiente",
|
||||
"pendingOption": "Instalando",
|
||||
|
|
@ -1148,8 +1163,8 @@
|
|||
"remoteAvailability": "Marcar como disponible para Remote PC",
|
||||
"remotePath": "Ruta remota",
|
||||
"remotePc": "Remote Pc",
|
||||
"remotePcLabel": "PC remoto",
|
||||
"remotePcCalendarRuleInfo": "(Los dias y horas seleccionados se marcarán como aula no disponible para remote pc.)",
|
||||
"remotePcLabel": "PC remoto",
|
||||
"remotePcStatusAvailable": "Disponible para Remote PC",
|
||||
"remotePcStatusUnavailable": "No disponible para Remote PC",
|
||||
"removedSuccessfully": "Eliminado con éxito",
|
||||
|
|
@ -1305,6 +1320,7 @@
|
|||
"sourceBranch": "Rama origen",
|
||||
"sourcePartitionInfo": "Información de Partición de origen",
|
||||
"specificRepoInfo": "Información específica del repositorio seleccionado",
|
||||
"sqlFileLabel": "Fichero (.sql/.zip)",
|
||||
"sshPort": "Puerto SSH",
|
||||
"sshPortLower": "Puerto ssh",
|
||||
"sshPortRequired": "El puerto SSH es obligatorio",
|
||||
|
|
@ -1458,6 +1474,7 @@
|
|||
"updatedTaskScheduleWith": "Programación de tarea actualizada con éxito",
|
||||
"updateRequestSent": "Petición de actualización enviada",
|
||||
"uploadMenuFileHint": "Suba el fichero que se usará como menú",
|
||||
"uploadSqlOrZip": "Sube el fichero .sql o comprimido en zip (.zip)",
|
||||
"urlFormatError": "Formato de URL inválido.",
|
||||
"usageColumn": "Uso (%)",
|
||||
"use": "Uso",
|
||||
|
|
@ -1465,6 +1482,7 @@
|
|||
"userAddedSuccessfully": "Usuario añadido correctamente",
|
||||
"userDeletedSuccessfully": "Usuario eliminado correctamente",
|
||||
"userEditedSuccessfully": "Usuario editado correctamente",
|
||||
"userLabel": "Usuario",
|
||||
"userName": "Nombre de Usuario",
|
||||
"validationToggle": "Validación",
|
||||
"valueFor": "Valor para",
|
||||
|
|
@ -1526,20 +1544,5 @@
|
|||
"youMustSelectAtLeastOne1": "Debe seleccionar al menos un día de la semana",
|
||||
"youMustSelectAtLeastOne2": "Debe seleccionar al menos un mes",
|
||||
"youMustSpecifyStartDate": "Debe especificar fecha de inicio y fecha de fin",
|
||||
"youWantToPropagateTheParametersOf": "¿Desea propagar los parámetros de red (ogLive, repositorio, menú, plantilla PXE, perfil de hardware) a todos los clientes de esta unidad organizativa?",
|
||||
"importLegacyDbTitle": "Importar desde OG 1.1",
|
||||
"importLegacyDbDesc": "Migra los datos de una instalación OpenGnsys 1.1 a la versión 3.0",
|
||||
"fromSqlFile": "Desde fichero SQL",
|
||||
"fromRemoteDb": "Desde Base de Datos remota",
|
||||
"importButton": "Importar",
|
||||
"sqlFileLabel": "Fichero (.sql/.zip)",
|
||||
"hostLabel": "Host de la Base de Datos",
|
||||
"userLabel": "Usuario",
|
||||
"passLabel": "Contraseña (Opcional)",
|
||||
"dbLabel": "Nombre de la BD",
|
||||
"migrationInProgress": "Migración en curso...",
|
||||
"migrationWaitWarning": "Este proceso puede tardar varios minutos. Puedes navegar por otras pestañas o recargar la página; la migración continuará en segundo plano.",
|
||||
"migrationSuccess": "Migración completada con éxito",
|
||||
"migrationError": "Error durante la migración",
|
||||
"uploadSqlOrZip": "Sube el fichero .sql o comprimido en zip (.zip)"
|
||||
}
|
||||
"youWantToPropagateTheParametersOf": "¿Desea propagar los parámetros de red (ogLive, repositorio, menú, plantilla PXE, perfil de hardware) a todos los clientes de esta unidad organizativa?"
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue