pasadas claves de traducciones a inglés y unificados ficheros en.json y es.json

pull/72/head
Juan Manuel Bardallo 2026-04-23 10:32:12 +02:00
parent 6d29d017d9
commit 2e61b4d358
95 changed files with 1328 additions and 1397 deletions

View File

@ -34,7 +34,7 @@ export class EnvVarsComponent {
this.envVars = Object.entries(response.vars).map(([name, value]) => ({ name, value }));
},
error: (err) => {
this.toastService.error(this.translate.instant('noSePudieronCargarLas'));
this.toastService.error(this.translate.instant('couldNotBeLoaded'));
}
});
}
@ -51,11 +51,11 @@ export class EnvVarsComponent {
this.http.post(this.apiUrl, { vars }).subscribe({
next: () => {
this.toastService.success(this.translate.instant('variablesDeEntornoGuardadasCorrectamente'));
this.toastService.success(this.translate.instant('environmentVariablesSavedCorrectly'));
},
error: (err) => {
console.error(this.translate.instant('errorAlGuardarLasVariables'), err);
this.toastService.error(this.translate.instant('noSePudieronCargarLas'));
console.error(this.translate.instant('errorSavingVariables'), err);
this.toastService.error(this.translate.instant('couldNotBeLoaded'));
}
});
}

View File

@ -88,23 +88,23 @@ export class AddRoleModalComponent {
if (this.roleId) {
this.http.put(`${this.baseUrl}${this.roleId}`, payload).subscribe(
(response) => {
this.toastService.success(this.translate.instant('rolActualizadoCorrectamente'));
this.toastService.success(this.translate.instant('roleUpdatedSuccessfully'));
this.dialogRef.close();
},
(error) => {
this.toastService.error(this.translate.instant('errorAlEditarElRol1'), error);
console.error(this.translate.instant('errorAlEditarElRol'), error);
this.toastService.error(this.translate.instant('errorEditingRole1'), error);
console.error(this.translate.instant('errorEditingRole'), error);
}
);
} else {
this.http.post(`${this.baseUrl}/user-groups`, payload).subscribe(
(response) => {
this.toastService.success(this.translate.instant('rolAnadidoCorrectamente'));
this.toastService.success(this.translate.instant('roleAddedSuccessfully'));
this.dialogRef.close();
},
(error) => {
this.toastService.error(this.translate.instant('errorAlAnadirRol1'), error);
console.error(this.translate.instant('errorAlAnadirRol'), error);
this.toastService.error(this.translate.instant('errorAddingRole1'), error);
console.error(this.translate.instant('errorAddingRole'), error);
}
);
}

View File

@ -35,12 +35,12 @@ export class RolesComponent implements OnInit {
},
{
columnDef: 'name',
header: 'nombre',
header: 'name',
cell: (role: any) => `${role.name}`
},
{
columnDef: 'permissions',
header: 'permisos',
header: 'permissions',
cell: (role: any) => `${role.permissions.join(', ')}`
}
];

View File

@ -97,7 +97,7 @@ export class AddUserModalComponent implements OnInit {
},
error: (err) => {
this.loading = false;
console.error(this.translate.instant('errorFetchingUser'), err);
console.error(this.translate.instant('fetchingUserError'), err);
}
});
}
@ -128,7 +128,7 @@ export class AddUserModalComponent implements OnInit {
if (this.userId) {
this.http.put(`${this.baseUrl}${this.userId}`, payload).subscribe(
(response) => {
this.toastService.success(this.translate.instant('usuarioEditadoCorrectamente'));
this.toastService.success(this.translate.instant('userEditedSuccessfully'));
this.userEdited.emit();
this.dialogRef.close();
this.loading = false;
@ -141,7 +141,7 @@ export class AddUserModalComponent implements OnInit {
} else {
this.http.post(`${this.baseUrl}/users`, payload).subscribe(
(response) => {
this.toastService.success(this.translate.instant('usuarioAnadidoCorrectamente'));
this.toastService.success(this.translate.instant('userAddedSuccessfully'));
this.userAdded.emit();
this.dialogRef.close();
this.loading = false;

View File

@ -58,7 +58,7 @@ export class ChangePasswordModalComponent {
next: () => {
this.userEdited.emit();
this.dialogRef.close();
this.toastService.success(this.translate.instant('contrasenaCambiadaConExito'));
this.toastService.success(this.translate.instant('passwordChangedSuccessfully'));
},
error: (err) => {
console.error(this.translate.instant('errorChangingPassword'), err);

View File

@ -35,7 +35,7 @@ export class DataService {
}
}),
catchError(error => {
console.error(this.translate.instant('errorFetchingUsers'), error);
console.error(this.translate.instant('fetchingUsersError'), error);
return throwError(error);
})
);

View File

@ -33,22 +33,22 @@ export class UsersComponent implements OnInit {
},
{
columnDef: 'username',
header: 'nombreDeUsuario',
header: 'userName',
cell: (user: any) => `${user.username}`
},
{
columnDef: 'groupsView',
header: 'vistaDeGrupos',
header: 'groupView',
cell: (user: any) => `${user.groupsView}`
},
{
columnDef: 'clientsPerPage',
header: 'clientesPorPagina',
header: 'clientsPerPage',
cell: (user: any) => user.clientsPerPage != null ? `${user.clientsPerPage}` : '-'
},
{
columnDef: 'allowedOrganizationalUnits',
header: 'unidadesOrganizacionalesPermitidas',
header: 'allowedOrganizationalUnits',
cell: (user: any) => `${user.allowedOrganizationalUnits.map((unit: { name: any; }) => unit.name).join(', ')}`
},
{
@ -82,7 +82,7 @@ export class UsersComponent implements OnInit {
this.loading = false;
},
(error) => {
console.error(this.translate.instant('errorFetchingUsers'), error);
console.error(this.translate.instant('fetchingUsersError'), error);
this.loading = false;
}
);

View File

@ -42,17 +42,17 @@ export class CalendarComponent implements OnInit {
},
{
columnDef: 'name',
header: 'nombre',
header: 'name',
cell: (remoteCalendar: any) => `${remoteCalendar.name}`
},
{
columnDef: 'rulesLength',
header: 'nDeReglas',
header: 'numberOfRules',
cell: (remoteCalendar: any) => `${remoteCalendar.remoteCalendarRules.length}`
},
{
columnDef: 'createdAt',
header: 'fechaDeCreacion',
header: 'creationDate',
cell: (remoteCalendar: any) => `${this.datePipe.transform(remoteCalendar.createdAt, 'dd/MM/yyyy hh:mm:ss')}`,
}
];
@ -102,7 +102,7 @@ export class CalendarComponent implements OnInit {
this.syncUds = true;
this.http.post(`${this.apiUrl}/${calendar.uuid}/sync-uds`, {}).subscribe({
next: () => {
this.toastService.success(this.translate.instant('calendariosSincronizadosCorrectamente'));
this.toastService.success(this.translate.instant('calendarsSynchronizedCorrectly'));
this.search();
this.syncUds = false;
},

View File

@ -47,7 +47,7 @@ export class DataService {
}
}),
catchError(error => {
console.error(this.translate.instant('errorFetchingCalendar'), error);
console.error(this.translate.instant('fetchingCalendarError'), error);
return throwError(error);
})
);

View File

@ -37,17 +37,17 @@ export class CommandsGroupsComponent implements OnInit {
},
{
columnDef: 'name',
header: 'nombre',
header: 'name',
cell: (group: any) => `${group.name}`
},
{
columnDef: 'commands',
header: 'listaDeComandos',
header: 'commandList',
cell: (group: any) => `${group.commands}`
},
{
columnDef: 'createdAt',
header: 'fechaDeCreacion',
header: 'creationDate',
cell: (group: any) => `${this.datePipe.transform(group.createdAt, 'dd/MM/yyyy hh:mm:ss')}`,
}
];
@ -72,7 +72,7 @@ export class CommandsGroupsComponent implements OnInit {
this.loading = false;
},
(error) => {
console.error(this.translate.instant('errorFetchingCommandGroups'), error);
console.error(this.translate.instant('fetchingCommandGroupsError'), error);
this.loading = false;
}
);
@ -106,11 +106,11 @@ export class CommandsGroupsComponent implements OnInit {
if (result) {
this.http.delete(`${this.apiUrl}/${group.uuid}`).subscribe({
next: () => {
this.toastService.success(this.translate.instant('grupoDeComandosEliminadoCon'));
this.toastService.success(this.translate.instant('commandGroupRemovedWith'));
this.search();
},
error: (error) => {
console.error(this.translate.instant('errorAlEliminarElGrupo'), error);
console.error(this.translate.instant('errorDeletingGroup'), error);
}
});
}

View File

@ -91,23 +91,23 @@ export class CreateCommandGroupComponent implements OnInit {
const groupId = this.data.group.uuid;
this.http.patch(`${this.baseUrl}/command-groups/${groupId}`, payload).subscribe({
next: () => {
this.toastService.success(this.translate.instant('grupoDeComandosActualizadoCon'));
this.toastService.success(this.translate.instant('commandGroupUpdatedWith'));
this.dialogRef.close();
},
error: (error) => {
console.error(this.translate.instant('errorActualizandoElGrupoDe'), error);
this.toastService.error(this.translate.instant('errorAlActualizarElGrupo'));
console.error(this.translate.instant('errorUpdatingGroup'), error);
this.toastService.error(this.translate.instant('errorUpdatingGroup'));
}
});
} else {
this.http.post(`${this.baseUrl}/command-groups`, payload).subscribe({
next: () => {
this.toastService.success(this.translate.instant('grupoDeComandosCreadoCon'));
this.toastService.success(this.translate.instant('commandGroupCreatedWith'));
this.dialogRef.close();
},
error: (error) => {
console.error(this.translate.instant('errorCreandoElGrupoDe'), error);
this.toastService.error(this.translate.instant('errorAlCrearElGrupo'));
console.error(this.translate.instant('errorCreatingGroup'), error);
this.toastService.error(this.translate.instant('errorCreatingGroup'));
}
});
}

View File

@ -48,7 +48,7 @@ export class DetailCommandGroupComponent implements OnInit {
this.loading = false;
},
error: (error) => {
console.error(this.translate.instant('errorFetchingClients1'), error);
console.error(this.translate.instant('fetchingClients1Error'), error);
this.loading = false;
}
});
@ -73,11 +73,11 @@ export class DetailCommandGroupComponent implements OnInit {
this.http.post(apiUrl, payload).subscribe({
next: () => {
this.dialogRef.close();
this.toastService.success(this.translate.instant('grupoDeComandosEjecutadoExitosamente'));
this.toastService.success(this.translate.instant('groupOfCommandsExecutedSuccessfully'));
this.loading = false;
},
error: (error) => {
console.error(this.translate.instant('errorEjecutandoGrupoDeComandos'), error);
console.error(this.translate.instant('errorExecutingGroupOfCommands'), error);
this.loading = false;
}
});

View File

@ -30,12 +30,12 @@ export class CommandsTaskComponent implements OnInit {
columns = [
{ columnDef: 'id', header: 'id', cell: (task: any) => task.id },
{ columnDef: 'name', header: 'nombreDeTarea', cell: (task: any) => task.name },
{ columnDef: 'scope', header: 'ambito', cell: (task: any) => task.scope },
{ columnDef: 'organizationalUnit', header: 'unidadOrganizativa', cell: (task: any) => task.organizationalUnit?.name || '' },
{ columnDef: 'management', header: 'gestiones', cell: (task: any) => task.schedules },
{ columnDef: 'nextExecution', header: 'proximaEjecucion', cell: (task: any) => this.datePipe.transform(task.nextExecution, 'dd/MM/yyyy HH:mm:ss') },
{ columnDef: 'createdBy', header: 'creadoPor', cell: (task: any) => task.createdBy },
{ columnDef: 'name', header: 'taskName', cell: (task: any) => task.name },
{ columnDef: 'scope', header: 'scope', cell: (task: any) => task.scope },
{ columnDef: 'organizationalUnit', header: 'organizationalUnit', cell: (task: any) => task.organizationalUnit?.name || '' },
{ columnDef: 'management', header: 'efforts', cell: (task: any) => task.schedules },
{ columnDef: 'nextExecution', header: 'nextExecution', cell: (task: any) => this.datePipe.transform(task.nextExecution, 'dd/MM/yyyy HH:mm:ss') },
{ columnDef: 'createdBy', header: 'createdBy', cell: (task: any) => task.createdBy },
];
displayedColumns: string[] = ['id', 'name', 'scope', 'management', 'nextExecution', 'createdBy', 'actions'];
@ -68,7 +68,7 @@ export class CommandsTaskComponent implements OnInit {
this.loading = false;
},
(error) => {
console.error(this.translate.instant('errorFetchingTasks'), error);
console.error(this.translate.instant('fetchingTasksError'), error);
this.loading = false;
}
);
@ -136,11 +136,11 @@ export class CommandsTaskComponent implements OnInit {
if (result) {
this.http.delete(`${this.apiUrl}/${task.uuid}`).subscribe({
next: () => {
this.toastService.success(this.translate.instant('tareaEliminadaConExito'));
this.toastService.success(this.translate.instant('taskDeletedSuccessfully'));
this.loadTasks();
},
error: (error) => {
console.error(this.translate.instant('errorAlEliminarLaTarea'), error);
console.error(this.translate.instant('errorDeletingTask'), error);
}
});
}

View File

@ -18,8 +18,8 @@ export class CreateTaskScheduleComponent implements OnInit{
baseUrl: string;
apiUrl: string;
recurrenceTypes = [
{ value: 'none', label : this.translate.instant('sinRepeticion') },
{ value: 'custom', label : this.translate.instant('repeticionPersonalizada') }
{ value: 'none', label : this.translate.instant('withoutRepetition') },
{ value: 'custom', label : this.translate.instant('customRepeat') }
];
weekDays: string[] = ['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'];
isSingleDateSelected: boolean = true;
@ -176,12 +176,12 @@ export class CreateTaskScheduleComponent implements OnInit{
const selectedMonthNames = Object.keys(this.selectedMonths).filter(month => this.selectedMonths[month]);
if (selectedDayNames.length === 0) {
this.toastr.error(this.translate.instant('debeSeleccionarAlMenosUn1'));
this.toastr.error(this.translate.instant('youMustSelectAtLeastOne1'));
return;
}
if (selectedMonthNames.length === 0) {
this.toastr.error(this.translate.instant('debeSeleccionarAlMenosUn2'));
this.toastr.error(this.translate.instant('youMustSelectAtLeastOne2'));
return;
}
@ -189,12 +189,12 @@ export class CreateTaskScheduleComponent implements OnInit{
const endDate = formData.recurrenceDetails?.endDate;
if (!initDate || !endDate) {
this.toastr.error(this.translate.instant('debeEspecificarFechaDeInicio'));
this.toastr.error(this.translate.instant('youMustSpecifyStartDate'));
return;
}
if (new Date(endDate) <= new Date(initDate)) {
this.toastr.error(this.translate.instant('laFechaDeFinDebe'));
this.toastr.error(this.translate.instant('theEndDateMust'));
return;
}
}
@ -218,21 +218,21 @@ export class CreateTaskScheduleComponent implements OnInit{
const taskId = this.data.task.uuid;
this.http.patch<any>(`${this.baseUrl}${this.data.schedule['@id']}`, payload).subscribe({
next: () => {
this.toastr.success(this.translate.instant('programacionDeTareaActualizadaCon'));
this.toastr.success(this.translate.instant('updatedTaskScheduleWith'));
this.dialogRef.close(true);
},
error: () => {
this.toastr.error(this.translate.instant('errorAlActualizarLaTarea'));
this.toastr.error(this.translate.instant('errorUpdatingTask'));
}
});
} else {
this.http.post<any>(this.apiUrl, payload).subscribe({
next: () => {
this.toastr.success(this.translate.instant('programacionDeTareaCreadaCon'));
this.toastr.success(this.translate.instant('taskScheduleCreatedWith'));
this.dialogRef.close(true);
},
error: () => {
this.toastr.error(this.translate.instant('errorAlCrearLaTarea'));
this.toastr.error(this.translate.instant('errorCreatingTask'));
}
});
}

View File

@ -200,7 +200,7 @@ export class CreateTaskScriptComponent implements OnInit {
saveNewScript(): void {
if (!this.newScript.trim()) {
this.toastService.error(this.translate.instant('debeIngresarUnScriptAntes'));
this.toastService.error(this.translate.instant('youMustEnterAScriptBefore'));
return;
}
const dialogRef = this.dialog.open(SaveScriptComponent, {
@ -209,7 +209,7 @@ export class CreateTaskScriptComponent implements OnInit {
});
dialogRef.afterClosed().subscribe(result => {
if (result) {
this.toastService.success(this.translate.instant('scriptGuardadoCorrectamente'));
this.toastService.success(this.translate.instant('scriptSavedSuccessfully'));
}
});
}
@ -244,7 +244,7 @@ export class CreateTaskScriptComponent implements OnInit {
break;
default:
this.toastService.error(this.translate.instant('tipoDeAccionNoReconocido'));
this.toastService.error(this.translate.instant('unrecognizedActionType'));
return;
}
@ -269,12 +269,12 @@ export class CreateTaskScriptComponent implements OnInit {
private validateScript(): boolean {
if (this.commandType === 'new') {
if (!this.newScript.trim()) {
this.toastService.error(this.translate.instant('debeIngresarUnScript'));
this.toastService.error(this.translate.instant('youMustEnterAScript'));
return false;
}
} else if (this.commandType === 'existing') {
if (!this.selectedScript) {
this.toastService.error(this.translate.instant('debeSeleccionarUnScript'));
this.toastService.error(this.translate.instant('youMustSelectAScript'));
return false;
}
}

View File

@ -112,7 +112,7 @@ export class CreateTaskComponent implements OnInit {
resolve();
},
(error) => {
this.toastr.error(this.translate.instant('errorAlCargarLosDatos'));
this.toastr.error(this.translate.instant('errorLoadingData'));
reject(error);
}
);
@ -127,7 +127,7 @@ export class CreateTaskComponent implements OnInit {
resolve();
},
(error) => {
this.toastr.error(this.translate.instant('errorAlCargarLasTareas'));
this.toastr.error(this.translate.instant('errorLoadingTasks'));
reject(error);
}
);
@ -140,7 +140,7 @@ export class CreateTaskComponent implements OnInit {
this.selectedClients = [...this.data.selectedClients];
this.clients = [...this.data.selectedClients];
} else {
this.toastr.error(this.translate.instant('noHayClientesPreseleccionadosPara'));
this.toastr.error(this.translate.instant('thereAreNoPreselectedClientsFor'));
this.taskForm.get('scope')?.setValue('');
return;
}
@ -171,7 +171,7 @@ export class CreateTaskComponent implements OnInit {
this.availableOrganizationalUnits = filteredUnits;
resolve();
}, error => {
this.toastr.error(this.translate.instant('errorAlFiltrarLasUnidades'));
this.toastr.error(this.translate.instant('errorWhenFilteringUnits'));
reject(error);
});
})
@ -190,7 +190,7 @@ export class CreateTaskComponent implements OnInit {
resolve();
},
(error) => {
this.toastr.error(this.translate.instant('errorAlCargarLosGrupos'));
this.toastr.error(this.translate.instant('errorLoadingGroups'));
reject(error);
});
});
@ -204,7 +204,7 @@ export class CreateTaskComponent implements OnInit {
resolve();
},
(error) => {
this.toastr.error(this.translate.instant('errorAlCargarLosComandos'));
this.toastr.error(this.translate.instant('errorLoadingCommands'));
reject(error);
});
});
@ -219,7 +219,7 @@ export class CreateTaskComponent implements OnInit {
resolve();
},
(error) => {
this.toastr.error(this.translate.instant('errorAlCargarLasUnidades'));
this.toastr.error(this.translate.instant('errorLoadingUnits'));
reject(error);
}
);
@ -228,12 +228,12 @@ export class CreateTaskComponent implements OnInit {
addToExistingTask() {
if (!this.selectedExistingTask) {
this.toastr.error(this.translate.instant('debesSeleccionarUnaTareaExistente'));
this.toastr.error(this.translate.instant('youMustSelectAnExistingTask'));
return;
}
if (this.executionOrder == null || this.executionOrder < 1) {
this.toastr.error(this.translate.instant('debesIntroducirUnOrdenDe'));
this.toastr.error(this.translate.instant('youMustEnterAnOrderOf'));
return;
}
@ -242,14 +242,14 @@ export class CreateTaskComponent implements OnInit {
executionOrder: this.executionOrder
};
this.toastr.success(this.translate.instant('tareaActualizadaConExito'));
this.toastr.success(this.translate.instant('taskUpdatedSuccessfully'));
this.dialogRef.close(data);
}
saveTask(): void {
if (this.taskForm.invalid) {
this.toastr.error(this.translate.instant('porFavorRelleneTodosLos'));
this.toastr.error(this.translate.instant('pleaseFillOutAll'));
return;
}
@ -257,12 +257,12 @@ export class CreateTaskComponent implements OnInit {
const scope = formData.scope;
if (scope === 'clients' && this.selectedClients.length === 0) {
this.toastr.error(this.translate.instant('debeSeleccionarAlMenosUn'));
this.toastr.error(this.translate.instant('youMustSelectAtLeastOne'));
return;
}
if (scope !== 'clients' && !formData.organizationalUnit) {
this.toastr.error(this.translate.instant('debeSeleccionarUnaUnidadOrganizativa'));
this.toastr.error(this.translate.instant('youMustSelectAnOrganizationalUnit'));
return;
}
@ -283,17 +283,17 @@ export class CreateTaskComponent implements OnInit {
const taskId = this.data.task.uuid;
this.http.patch<any>(`${this.apiUrl}/${taskId}`, payload).subscribe({
next: () => {
this.toastr.success(this.translate.instant('tareaActualizadaConExito'));
this.toastr.success(this.translate.instant('taskUpdatedSuccessfully'));
this.dialogRef.close(true);
},
error: () => {
this.toastr.error(this.translate.instant('errorAlActualizarLaTarea'));
this.toastr.error(this.translate.instant('errorUpdatingTask'));
}
});
} else {
this.http.post<any>(this.apiUrl, payload).subscribe({
next: response => {
this.toastr.success(this.translate.instant('tareaCreadaConExito'));
this.toastr.success(this.translate.instant('taskCreatedSuccessfully'));
this.dialogRef.close(response);
if (this.data?.source === 'assistant') {
if (formData.scheduleAfterCreate) {
@ -304,7 +304,7 @@ export class CreateTaskComponent implements OnInit {
}
},
error: () => {
this.toastr.error(this.translate.instant('errorAlCrearLaTarea'));
this.toastr.error(this.translate.instant('errorCreatingTask'));
}
});
}
@ -316,7 +316,7 @@ export class CreateTaskComponent implements OnInit {
data: { task: task }
}).afterClosed().subscribe(result => {
if (result) {
this.toastr.success(this.translate.instant('tareaProgramadaCorrectamente'));
this.toastr.success(this.translate.instant('successfullyScheduledTask'));
}
});
}
@ -337,7 +337,7 @@ export class CreateTaskComponent implements OnInit {
data: { task: task }
}).afterClosed().subscribe(result => {
if (result) {
this.toastr.success(this.translate.instant('tareaProgramadaCorrectamente'));
this.toastr.success(this.translate.instant('successfullyScheduledTask'));
}
});
}

View File

@ -30,12 +30,12 @@ export class ShowTaskScheduleComponent implements OnInit{
columns = [
{ columnDef: 'id', header: 'id', cell: (schedule: any) => schedule.id },
{ columnDef: 'recurrenceType', header: 'tipoDeProgramacion', cell: (schedule: any) => this.getRecurrenceTypeDisplay(schedule) },
{ columnDef: 'executionTime', header: 'horaDeEjecucion', cell: (schedule: any) => this.formatExecutionTimeForDisplay(schedule.executionTime) },
{ columnDef: 'nextExecution', header: 'proximaEjecucion', cell: (schedule: any) => this.calculateNextExecution(schedule) },
{ columnDef: 'daysOfWeek', header: 'diasDeLaSemana', cell: (schedule: any) => this.formatDaysOfWeek(schedule.recurrenceDetails?.daysOfWeek) },
{ columnDef: 'months', header: 'meses', cell: (schedule: any) => this.formatMonths(schedule.recurrenceDetails?.months) },
{ columnDef: 'enabled', header: 'estado', cell: (schedule: any) => schedule.enabled }
{ columnDef: 'recurrenceType', header: 'typeOfProgramming', cell: (schedule: any) => this.getRecurrenceTypeDisplay(schedule) },
{ columnDef: 'executionTime', header: 'executionTime', cell: (schedule: any) => this.formatExecutionTimeForDisplay(schedule.executionTime) },
{ columnDef: 'nextExecution', header: 'nextExecution', cell: (schedule: any) => this.calculateNextExecution(schedule) },
{ columnDef: 'daysOfWeek', header: 'daysOfTheWeek', cell: (schedule: any) => this.formatDaysOfWeek(schedule.recurrenceDetails?.daysOfWeek) },
{ columnDef: 'months', header: 'months', cell: (schedule: any) => this.formatMonths(schedule.recurrenceDetails?.months) },
{ columnDef: 'enabled', header: 'state', cell: (schedule: any) => schedule.enabled }
];
displayedColumns: string[] = ['id', 'recurrenceType', 'executionTime', 'nextExecution', 'daysOfWeek', 'months', 'enabled', 'actions'];
@ -70,7 +70,7 @@ export class ShowTaskScheduleComponent implements OnInit{
},
(error) => {
this.loading = false;
this.toastService.error(this.translate.instant('errorAlCargarLasProgramaciones'));
this.toastService.error(this.translate.instant('errorLoadingProgramming'));
}
);
}
@ -82,7 +82,7 @@ export class ShowTaskScheduleComponent implements OnInit{
}).afterClosed().subscribe(result => {
if (result) {
this.loadData();
this.toastService.success(this.translate.instant('programacionCreadaCorrectamente'));
this.toastService.success(this.translate.instant('programmingCreatedCorrectly'));
}
});
}
@ -94,7 +94,7 @@ export class ShowTaskScheduleComponent implements OnInit{
}).afterClosed().subscribe(result => {
if (result) {
this.loadData();
this.toastService.success(this.translate.instant('programacionActualizadaCorrectamente'));
this.toastService.success(this.translate.instant('programmingUpdatedCorrectly'));
}
});
}
@ -109,7 +109,7 @@ export class ShowTaskScheduleComponent implements OnInit{
if (result) {
this.http.delete(`${this.baseUrl}${schedule['@id']}`).subscribe(
() => {
this.toastService.success(this.translate.instant('programacionEliminadaCorrectamente'));
this.toastService.success(this.translate.instant('programmingRemovedCorrectly'));
this.loadData();
},
(error) => {
@ -320,7 +320,7 @@ export class ShowTaskScheduleComponent implements OnInit{
if (schedule.recurrenceType === 'none') {
return {
type: 'none',
label : this.translate.instant('ejecucionUnica'),
label : this.translate.instant('uniqueExecution'),
icon: 'event',
color: 'primary',
details: schedule.executionDate ?

View File

@ -1,22 +1,22 @@
import { inject } from '@angular/core';
import { TranslateService } from '@ngx-translate/core';
import {Component, Inject, OnInit } from '@angular/core';
import {MatTableDataSource} from "@angular/material/table";
import {ToastrService} from "ngx-toastr";
import {HttpClient} from "@angular/common/http";
import {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from "@angular/material/dialog";
import {ConfigService} from "@services/config.service";
import {CreateTaskScheduleComponent} from "../create-task-schedule/create-task-schedule.component";
import {CreateTaskScriptComponent} from "../create-task-script/create-task-script.component";
import {DeleteModalComponent} from "../../../../shared/delete_modal/delete-modal/delete-modal.component";
import {ViewParametersModalComponent} from "./view-parameters-modal/view-parameters-modal.component";
import { Component, Inject, OnInit } from '@angular/core';
import { MatTableDataSource } from "@angular/material/table";
import { ToastrService } from "ngx-toastr";
import { HttpClient } from "@angular/common/http";
import { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from "@angular/material/dialog";
import { ConfigService } from "@services/config.service";
import { CreateTaskScheduleComponent } from "../create-task-schedule/create-task-schedule.component";
import { CreateTaskScriptComponent } from "../create-task-script/create-task-script.component";
import { DeleteModalComponent } from "../../../../shared/delete_modal/delete-modal/delete-modal.component";
import { ViewParametersModalComponent } from "./view-parameters-modal/view-parameters-modal.component";
@Component({
selector: 'app-show-task-script',
templateUrl: './show-task-script.component.html',
styleUrl: './show-task-script.component.css'
})
export class ShowTaskScriptComponent implements OnInit{
export class ShowTaskScriptComponent implements OnInit {
public translate = inject(TranslateService);
baseUrl: string;
dataSource = new MatTableDataSource<any>([]);
@ -29,25 +29,25 @@ export class ShowTaskScriptComponent implements OnInit{
columns = [
{ columnDef: 'id', header: 'id', cell: (item: any) => item.id },
{ columnDef: 'order', header: 'orden', cell: (item: any) => item.order },
{ columnDef: 'type', header: 'tipo', cell: (item: any) => item.type },
{ columnDef: 'parameters', header: 'parametros', cell: (item: any) => item.parameters },
{ columnDef: 'content', header: 'contenido', cell: (item: any) => item.content },
{ columnDef: 'order', header: 'order', cell: (item: any) => item.order },
{ columnDef: 'type', header: 'type', cell: (item: any) => item.type },
{ columnDef: 'parameters', header: 'parameters', cell: (item: any) => item.parameters },
{ columnDef: 'content', header: 'content', cell: (item: any) => item.content },
];
displayedColumns: string[] = ['order', 'type', 'content', 'parameters', 'actions'];
typeLabels: { [key: string]: { label: string, icon: string } } = {
'partition-and-format': { label : this.translate.instant('particionarYFormatear'), icon: 'storage' },
'partition-assistant': { label : this.translate.instant('asistenteDeParticionado'), icon: 'storage' },
'deploy-image': { label : this.translate.instant('desplegarImagen'), icon: 'cloud_download' },
'create-image': { label : this.translate.instant('crearImagen'), icon: 'cloud_upload' },
'run-script': { label : this.translate.instant('ejecutarScript'), icon: 'code' },
'partition-and-format': { label: this.translate.instant('partitionAndFormat'), icon: 'storage' },
'partition-assistant': { label: this.translate.instant('partitioningAssistant'), icon: 'storage' },
'deploy-image': { label: this.translate.instant('displayImage'), icon: 'cloud_download' },
'create-image': { label: this.translate.instant('createImage'), icon: 'cloud_upload' },
'run-script': { label: this.translate.instant('runScript'), icon: 'code' },
'reboot': { label: 'Reiniciar', icon: 'restart_alt' },
'shutdown': { label: 'Apagar', icon: 'power_off' },
'poweron': { label: 'Encender', icon: 'power' },
'power-on': { label: 'Encender', icon: 'power' },
'login': { label : this.translate.instant('iniciarSesion'), icon: 'login' },
'login': { label: this.translate.instant('login'), icon: 'login' },
};
getTypeDisplay(type: string): { label: string, icon: string } {
@ -97,7 +97,7 @@ export class ShowTaskScriptComponent implements OnInit{
if (result) {
this.http.delete(`${this.baseUrl}${schedule['@id']}`).subscribe(
() => {
this.toastService.success(this.translate.instant('eliminadoCorrectamente'));
this.toastService.success(this.translate.instant('removedSuccessfully'));
this.loadData();
},
(error) => {

View File

@ -37,17 +37,17 @@ export class CommandsComponent implements OnInit {
},
{
columnDef: 'name',
header: 'nombre',
header: 'name',
cell: (command: any) => `${command.name}`
},
{
columnDef: 'readOnly',
header: 'soloLectura',
header: 'readOnly',
cell: (command: any) => `${command.readOnly}`
},
{
columnDef: 'createdAt',
header: 'fechaDeCreacion',
header: 'creationDate',
cell: (command: any) => `${this.datePipe.transform(command.createdAt, 'dd/MM/yyyy hh:mm:ss')}`,
}
];
@ -72,7 +72,7 @@ export class CommandsComponent implements OnInit {
this.loading = false;
},
(error) => {
console.error(this.translate.instant('errorFetchingCommands'), error);
console.error(this.translate.instant('fetchingCommandsError'), error);
this.loading = false;
}
);
@ -109,11 +109,11 @@ export class CommandsComponent implements OnInit {
if (result) {
this.http.delete(`${this.apiUrl}/${command.uuid}`).subscribe({
next: () => {
this.toastService.success(this.translate.instant('comandoEliminadoConExito'));
this.toastService.success(this.translate.instant('commandRemovedSuccessfully'));
this.search();
},
error: (error) => {
console.error(this.translate.instant('errorAlEliminarElComando'), error);
console.error(this.translate.instant('errorDeletingCommand'), error);
}
});
}

View File

@ -84,7 +84,7 @@ export class CreateCommandComponent implements OnInit{
if (this.commandId) {
this.http.put(`${this.baseUrl}${this.commandId}`, payload).subscribe(
(response) => {
this.toastService.success(this.translate.instant('comandoEditadoCorrectamente'));
this.toastService.success(this.translate.instant('commandEditedSuccessfully'));
this.dialogRef.close();
},
(error) => {
@ -94,7 +94,7 @@ export class CreateCommandComponent implements OnInit{
} else {
this.http.post(`${this.baseUrl}/commands`, payload).subscribe(
(response) => {
this.toastService.success(this.translate.instant('comandoAnadidoCorrectamente'));
this.toastService.success(this.translate.instant('commandAddedSuccessfully'));
this.dialogRef.close();
},
(error) => {

View File

@ -37,7 +37,7 @@ export class DataService {
}
}),
catchError(error => {
console.error(this.translate.instant('errorFetchingCommands'), error);
console.error(this.translate.instant('fetchingCommandsError'), error);
return throwError(error);
})
);

View File

@ -59,7 +59,7 @@ export class CommandDetailComponent implements OnInit {
dialogRef.afterClosed().subscribe(result => {
if (result) {
this.toastService.success(this.translate.instant('comandoEditado'));
this.toastService.success(this.translate.instant('editedCommand'));
this.data.command = result;
}
});

View File

@ -27,32 +27,32 @@ export class BootSoPartitionComponent implements OnInit {
columns = [
{
columnDef: 'diskNumber',
header: 'disco',
header: 'disk',
cell: (partition: any) => partition.diskNumber
},
{
columnDef: 'partitionNumber',
header: 'particion',
header: 'partition',
cell: (partition: any) => partition.partitionNumber
},
{
columnDef: 'size',
header: 'tamano',
header: 'size',
cell: (partition: any) => `${partition.size} MB`
},
{
columnDef: 'partitionCode',
header: 'tipoDeParticion',
header: 'partitionType',
cell: (partition: any) => partition.partitionCode
},
{
columnDef: 'filesystem',
header: 'sistemaDeFicheros',
header: 'fileSystem',
cell: (partition: any) => partition.filesystem
},
{
columnDef: 'operativeSystem',
header: 'so',
header: 'sW',
cell: (partition: any) => partition.operativeSystem?.name
}
];
@ -95,7 +95,7 @@ export class BootSoPartitionComponent implements OnInit {
}
},
(error) => {
console.error(this.translate.instant('errorAlCargarLosDatos1'), error);
console.error(this.translate.instant('errorLoadingData1'), error);
}
);
}
@ -136,7 +136,7 @@ export class BootSoPartitionComponent implements OnInit {
partition: this.selectedPartition['@id']
}).subscribe(
response => {
this.toastService.success(this.translate.instant('clienteActualizadoCorrectamente'));
this.toastService.success(this.translate.instant('clientUpdatedSuccessfully'));
this.dialogRef.close();
this.loading = false;
},

View File

@ -200,7 +200,7 @@ export class ExecuteCommandComponent implements OnInit {
clients: this.clientData.map((client: any) => client['@id'])
}).subscribe(
response => {
this.toastService.success(this.translate.instant('clienteActualizadoCorrectamente'));
this.toastService.success(this.translate.instant('clientUpdatedSuccessfully'));
},
error => {
this.toastService.error(error.error['hydra:description'] || 'Error de conexión con el cliente');
@ -213,7 +213,7 @@ export class ExecuteCommandComponent implements OnInit {
clients: this.clientData.map((client: any) => client['@id'])
}).subscribe(
response => {
this.toastService.success(this.translate.instant('peticionDeRefrescoEnviadaCorrectamente'));
this.toastService.success(this.translate.instant('refreshmentRequestSentCorrectly'));
},
error => {
this.toastService.error(error.error['hydra:description'] || 'Error de conexión con el cliente');
@ -240,7 +240,7 @@ export class ExecuteCommandComponent implements OnInit {
dialogRef.afterClosed().subscribe(result => {
if (result) {
this.toastService.success(this.translate.instant('peticionDeArranqueDeSo'));
this.toastService.success(this.translate.instant('oSBootRequest'));
}
});
}
@ -264,14 +264,14 @@ export class ExecuteCommandComponent implements OnInit {
dialogRef.afterClosed().subscribe(result => {
if (result) {
this.toastService.success(this.translate.instant('peticionDeBorradoDeCache'));
this.toastService.success(this.translate.instant('cacheClearRequest'));
}
});
}
hardwareInventory(): void {
if (this.clientData.length === 0) {
this.toastService.error(this.translate.instant('noHayClientesSeleccionados'));
this.toastService.error(this.translate.instant('noClientsSelected'));
return;
}
@ -281,7 +281,7 @@ export class ExecuteCommandComponent implements OnInit {
clients: this.clientData.map((client: any) => client['@id'])
}).subscribe(
response => {
this.toastService.success(this.translate.instant('inventarioDeHardwareActualizadoCorrectamente'));
this.toastService.success(this.translate.instant('hardwareInventorySuccessfullyUpdated'));
},
error => {
this.toastService.error(error.error['hydra:description'] || 'Error de conexión con el cliente');
@ -291,7 +291,7 @@ export class ExecuteCommandComponent implements OnInit {
softwareInventory(): void {
if (this.clientData.length === 0) {
this.toastService.error(this.translate.instant('noHayClientesSeleccionados'));
this.toastService.error(this.translate.instant('noClientsSelected'));
return;
}
@ -323,7 +323,7 @@ export class ExecuteCommandComponent implements OnInit {
clients: this.clientData.map((client: any) => client['@id'])
}).subscribe(
response => {
this.toastService.success(this.translate.instant('peticionDeEncendidoEnviadaCorrectamente'));
this.toastService.success(this.translate.instant('ignitionRequestSentCorrectly'));
},
error => {
this.toastService.error(error.error['hydra:description'] || 'Error de conexión con el cliente');
@ -336,7 +336,7 @@ export class ExecuteCommandComponent implements OnInit {
clients: this.clientData.map((client: any) => client['@id'])
}).subscribe(
response => {
this.toastService.success(this.translate.instant('peticionDeApagadoEnviadaCorrectamente'));
this.toastService.success(this.translate.instant('shutdownRequestSentCorrectly'));
},
error => {
this.toastService.error(error.error['hydra:description'] || 'Error de conexión con el cliente');
@ -407,7 +407,7 @@ export class ExecuteCommandComponent implements OnInit {
deleteClientLease(): void {
if (this.clientData.length === 0) {
this.toastService.error(this.translate.instant('noHayClientesSeleccionados'));
this.toastService.error(this.translate.instant('noClientsSelected'));
return;
}
@ -418,11 +418,11 @@ export class ExecuteCommandComponent implements OnInit {
Promise.allSettled(requests).then(results => {
const errors = results.filter(r => r.status === 'rejected');
if (errors.length === 0) {
this.toastService.success(this.translate.instant('leasesDhcpEliminadasCorrectamente'));
this.toastService.success(this.translate.instant('dhcpLeasesRemovedSuccessfully'));
} else if (errors.length < results.length) {
this.toastService.warning(`${results.length - errors.length} lease(s) eliminada(s), ${errors.length} con error`);
} else {
this.toastService.error(this.translate.instant('errorAlEliminarLasLeases'));
this.toastService.error(this.translate.instant('errorWhenDeletingLeases'));
}
});
}

View File

@ -27,32 +27,32 @@ export class RemoveCacheImageComponent {
columns = [
{
columnDef: 'diskNumber',
header: 'disco',
header: 'disk',
cell: (partition: any) => partition.diskNumber
},
{
columnDef: 'partitionNumber',
header: 'particion',
header: 'partition',
cell: (partition: any) => partition.partitionNumber
},
{
columnDef: 'size',
header: 'tamano',
header: 'size',
cell: (partition: any) => `${partition.size} MB`
},
{
columnDef: 'partitionCode',
header: 'tipoDeParticion',
header: 'partitionType',
cell: (partition: any) => partition.partitionCode
},
{
columnDef: 'filesystem',
header: 'sistemaDeFicheros',
header: 'fileSystem',
cell: (partition: any) => partition.filesystem
},
{
columnDef: 'operativeSystem',
header: 'so',
header: 'sW',
cell: (partition: any) => partition.operativeSystem?.name
}
];
@ -103,7 +103,7 @@ export class RemoveCacheImageComponent {
}
},
(error) => {
console.error(this.translate.instant('errorAlCargarLosDatos1'), error);
console.error(this.translate.instant('errorLoadingData1'), error);
}
);
}
@ -144,7 +144,7 @@ export class RemoveCacheImageComponent {
partition: this.selectedPartition['@id']
}).subscribe(
response => {
this.toastService.success(this.translate.instant('clienteActualizadoCorrectamente'));
this.toastService.success(this.translate.instant('clientUpdatedSuccessfully'));
this.dialogRef.close();
this.loading = false;
},

View File

@ -27,32 +27,32 @@ export class SoftwareProfilePartitionComponent implements OnInit{
columns = [
{
columnDef: 'diskNumber',
header: 'disco',
header: 'disk',
cell: (partition: any) => partition.diskNumber
},
{
columnDef: 'partitionNumber',
header: 'particion',
header: 'partition',
cell: (partition: any) => partition.partitionNumber
},
{
columnDef: 'size',
header: 'tamano',
header: 'size',
cell: (partition: any) => `${partition.size} MB`
},
{
columnDef: 'partitionCode',
header: 'tipoDeParticion',
header: 'partitionType',
cell: (partition: any) => partition.partitionCode
},
{
columnDef: 'filesystem',
header: 'sistemaDeFicheros',
header: 'fileSystem',
cell: (partition: any) => partition.filesystem
},
{
columnDef: 'operativeSystem',
header: 'so',
header: 'sW',
cell: (partition: any) => partition.operativeSystem?.name
}
];
@ -83,7 +83,7 @@ export class SoftwareProfilePartitionComponent implements OnInit{
}
},
(error) => {
console.error(this.translate.instant('errorAlCargarLosDatos1'), error);
console.error(this.translate.instant('errorLoadingData1'), error);
}
);
}
@ -99,7 +99,7 @@ export class SoftwareProfilePartitionComponent implements OnInit{
partition: this.selectedPartition['@id'],
}).subscribe(
response => {
this.toastService.success(this.translate.instant('inventarioDeSoftwareActualizadoCorrectamente'));
this.toastService.success(this.translate.instant('successfullyUpdatedSoftwareInventory'));
this.dialogRef.close(response);
},
error => {

View File

@ -84,7 +84,7 @@ export class GlobalStatusComponent implements OnInit {
const timeoutId = setTimeout(() => {
if (!hasError) {
this.toastService.error(this.translate.instant('errorAlSincronizarLasSubredes'));
this.toastService.error(this.translate.instant('errorSyncingSubnets'));
hasError = true;
}
}, 5000);
@ -95,7 +95,7 @@ export class GlobalStatusComponent implements OnInit {
pending--;
if (pending === 0 && !hasError) {
clearTimeout(timeoutId);
this.toastService.success(this.translate.instant('sincronizacionDeSubredesDeServidores'));
this.toastService.success(this.translate.instant('serverSubnetSynchronization'));
}
},
error: (error) => {
@ -121,7 +121,7 @@ export class GlobalStatusComponent implements OnInit {
const timeoutId = setTimeout(() => {
if (!hasError) {
this.toastService.error(this.translate.instant('errorAlSincronizarLasPlantillas'));
this.toastService.error(this.translate.instant('errorSyncingTemplates'));
hasError = true;
}
}, 5000);
@ -132,7 +132,7 @@ export class GlobalStatusComponent implements OnInit {
pending--;
if (pending === 0 && !hasError) {
clearTimeout(timeoutId);
this.toastService.success(this.translate.instant('sincronizacionDePlantillasPxeExitosa'));
this.toastService.success(this.translate.instant('successfulPxeTemplateSynchronization'));
}
},
error: (error) => {
@ -155,7 +155,7 @@ export class GlobalStatusComponent implements OnInit {
const timeoutId = setTimeout(() => {
if (!hasError) {
this.toastService.error(this.translate.instant('errorAlSincronizarImagenesOglive'));
this.toastService.error(this.translate.instant('errorWhenSynchronizingOgliveImages'));
hasError = true;
}
}, 5000);
@ -166,7 +166,7 @@ export class GlobalStatusComponent implements OnInit {
pending--;
if (pending === 0 && !hasError) {
clearTimeout(timeoutId);
this.toastService.success(this.translate.instant('sincronizacionConOglivesCompletada'));
this.toastService.success(this.translate.instant('synchronizationWithOglivesCompleted'));
}
},
error: (error) => {
@ -193,7 +193,7 @@ export class GlobalStatusComponent implements OnInit {
this.repositories = [];
if (showLoading) this.loadingRepositories = false;
this.checkOverallLoading();
this.toastService.error(this.translate.instant('errorAlCargarLaLista2'));
this.toastService.error(this.translate.instant('errorLoadingList2'));
}
});
}
@ -216,7 +216,7 @@ export class GlobalStatusComponent implements OnInit {
this.bootServers = [];
if (showLoading) this.loadingBootServers = false;
this.checkOverallLoading();
this.toastService.error(this.translate.instant('errorAlCargarLaLista1'));
this.toastService.error(this.translate.instant('errorLoadingList1'));
}
});
}
@ -233,7 +233,7 @@ export class GlobalStatusComponent implements OnInit {
this.dhcps = [];
if (showLoading) this.loadingDhcps = false;
this.checkOverallLoading();
this.toastService.error(this.translate.instant('errorAlCargarLaLista'));
this.toastService.error(this.translate.instant('errorLoadingList'));
}
});
}
@ -253,7 +253,7 @@ export class GlobalStatusComponent implements OnInit {
this.loadDhcps(true);
this.loadRepositories(true);
this.syncSubnets();
this.toastService.success(this.translate.instant('datosActualizadosCorrectamente'));
this.toastService.success(this.translate.instant('dataUpdatedCorrectly'));
}
updateLastUpdateTime(): void {

View File

@ -120,9 +120,9 @@ export class GlobalOgbootStatusComponent implements OnInit {
this.loadBootServerStatus(bootServerUuid, (errorOccurred: boolean) => {
this.errorBootServers[bootServerUuid] = errorOccurred;
if (!errorOccurred) {
this.toastService.success(this.translate.instant('estadoDelServidorDeBoot'));
this.toastService.success(this.translate.instant('bootServerStatus'));
} else {
this.toastService.error(this.translate.instant('errorAlCargarElEstado2'));
this.toastService.error(this.translate.instant('errorLoadingState2'));
}
});
}

View File

@ -123,9 +123,9 @@ export class OgdhcpStatusComponent implements OnInit {
this.loadDhcpStatus(dhcpUuid, (errorOccurred: boolean) => {
this.errorDhcps[dhcpUuid] = errorOccurred;
if (!errorOccurred) {
this.toastService.success(this.translate.instant('estadoDelDhcpActualizadoCorrectamente'));
this.toastService.success(this.translate.instant('dhcpStatusUpdatedSuccessfully'));
} else {
this.toastService.error(this.translate.instant('errorAlCargarElEstado'));
this.toastService.error(this.translate.instant('errorLoadingState'));
}
});
}

View File

@ -122,9 +122,9 @@ export class OgrepositoryStatusComponent implements OnInit {
this.loadRepositoryStatus(repositoryUuid, (errorOccurred: boolean) => {
this.errorRepositories[repositoryUuid] = errorOccurred;
if (!errorOccurred) {
this.toastService.success(this.translate.instant('estadoDelRepositorioActualizadoCorrectamente'));
this.toastService.success(this.translate.instant('successfullyUpdatedRepositoryStatus'));
} else {
this.toastService.error(this.translate.instant('errorAlCargarElEstado1'));
this.toastService.error(this.translate.instant('errorLoadingState1'));
}
});
}

View File

@ -72,27 +72,27 @@ export class CreateClientImageComponent implements OnInit{
columns = [
{
columnDef: 'partitionNumber',
header: 'particion',
header: 'partition',
cell: (partition: any) => partition.partitionNumber
},
{
columnDef: 'size',
header: 'tamano',
header: 'size',
cell: (partition: any) => `${partition.size} MB`
},
{
columnDef: 'partitionCode',
header: 'tipoDeParticion',
header: 'partitionType',
cell: (partition: any) => partition.partitionCode
},
{
columnDef: 'filesystem',
header: 'sistemaDeFicheros',
header: 'fileSystem',
cell: (partition: any) => partition.filesystem
},
{
columnDef: 'operativeSystem',
header: 'so',
header: 'sW',
cell: (partition: any) => partition.operativeSystem?.name
}
];
@ -142,7 +142,7 @@ export class CreateClientImageComponent implements OnInit{
}
},
(error) => {
console.error(this.translate.instant('errorAlCargarLosDatos1'), error);
console.error(this.translate.instant('errorLoadingData1'), error);
}
);
}
@ -158,7 +158,7 @@ export class CreateClientImageComponent implements OnInit{
this.images = response['hydra:member'];
},
(error) => {
console.error(this.translate.instant('errorAlCargarLasImagenes3'), error);
console.error(this.translate.instant('errorLoadingImages3'), error);
}
);
}
@ -189,7 +189,7 @@ export class CreateClientImageComponent implements OnInit{
this.checkRepositoryExists();
},
(error) => {
console.error(this.translate.instant('errorAlCargarLosRepositorios2'), error);
console.error(this.translate.instant('errorLoadingRepositories2'), error);
this.loadingGitRepositories = false;
}
);
@ -204,7 +204,7 @@ export class CreateClientImageComponent implements OnInit{
this.loadingGitImageRepositories = false;
},
(error) => {
console.error(this.translate.instant('errorAlCargarLasImagenes'), error);
console.error(this.translate.instant('errorLoadingImages'), error);
this.loadingGitImageRepositories = false;
}
);
@ -240,8 +240,8 @@ export class CreateClientImageComponent implements OnInit{
}
},
error => {
console.error(this.translate.instant('errorFetchingBranches'), error);
this.toastService.error(this.translate.instant('errorAlCargarLasRamas1'));
console.error(this.translate.instant('fetchingBranchesError'), error);
this.toastService.error(this.translate.instant('errorLoadingBranches1'));
this.loadingBranches = false;
}
);
@ -264,7 +264,7 @@ export class CreateClientImageComponent implements OnInit{
dialogRef.afterClosed().subscribe(result => {
if (result) {
this.toastService.success(this.translate.instant('ramaCreadaCorrectamente'));
this.toastService.success(this.translate.instant('branchCreatedSuccessfully'));
this.destinationBranch = result.branchName || result;
this.loadBranches();
}
@ -273,7 +273,7 @@ export class CreateClientImageComponent implements OnInit{
}
if (!this.selectedGitRepository) {
this.toastService.error(this.translate.instant('debeSeleccionarUnRepositorioPrimero'));
this.toastService.error(this.translate.instant('youMustSelectARepositoryFirst'));
return;
}
@ -288,7 +288,7 @@ export class CreateClientImageComponent implements OnInit{
dialogRef.afterClosed().subscribe(result => {
if (result) {
this.toastService.success(this.translate.instant('ramaCreadaCorrectamente'));
this.toastService.success(this.translate.instant('branchCreatedSuccessfully'));
this.destinationBranch = result.branchName || result;
this.loadBranches();
}
@ -322,9 +322,9 @@ export class CreateClientImageComponent implements OnInit{
this.loadingExistingImages = false;
},
(error) => {
console.error(this.translate.instant('errorAlCargarLasImagenes2'), error);
console.error(this.translate.instant('errorLoadingImages2'), error);
this.loadingExistingImages = false;
this.toastService.error(this.translate.instant('errorAlCargarLasImagenes1'));
this.toastService.error(this.translate.instant('errorLoadingImages1'));
}
);
}
@ -350,18 +350,18 @@ export class CreateClientImageComponent implements OnInit{
save(): void {
if (!this.selectedPartition) {
this.toastService.error(this.translate.instant('debesSeleccionarUnaParticion'));
this.toastService.error(this.translate.instant('youMustSelectAPartition'));
return;
}
if (this.imageType === 'monolithic') {
if (this.monolithicAction === 'create' && !this.name) {
this.toastService.error(this.translate.instant('debesIntroducirUnNombreCanonico'));
this.toastService.error(this.translate.instant('youMustEnterACanonicalName'));
return;
}
if (this.monolithicAction === 'update' && !this.selectedImage) {
this.toastService.error(this.translate.instant('debesSeleccionarUnaImagenPara'));
this.toastService.error(this.translate.instant('youMustSelectAnImageTo'));
return;
}
}
@ -575,8 +575,8 @@ export class CreateClientImageComponent implements OnInit{
}
},
error: (error) => {
console.error(this.translate.instant('errorAlCargarDatosDe'), error);
this.toastService.error(this.translate.instant('errorAlCargarInformacionDe'));
console.error(this.translate.instant('errorLoadingData'), error);
this.toastService.error(this.translate.instant('errorLoadingInformation'));
this.loadingGitData = false;
}
});
@ -646,7 +646,7 @@ export class CreateClientImageComponent implements OnInit{
let scope = 'clients';
if (!this.client) {
this.toastService.error(this.translate.instant('noSeHaCargadoLa'));
this.toastService.error(this.translate.instant('hasNotBeenLoaded'));
return;
}
@ -666,7 +666,7 @@ export class CreateClientImageComponent implements OnInit{
dialogRef.afterClosed().subscribe((result: any) => {
if (result) {
if (!this.selectedPartition) {
this.toastService.error(this.translate.instant('debeSeleccionarUnaParticion'));
this.toastService.error(this.translate.instant('youMustSelectAPartition'));
return;
}
@ -702,7 +702,7 @@ export class CreateClientImageComponent implements OnInit{
type: 'create-image',
}).subscribe({
next: () => {
this.toastService.success(this.translate.instant('tareaDeCreacionDeImagen'));
this.toastService.success(this.translate.instant('imageCreationTask'));
},
error: (error) => {
this.toastService.error(error.error['hydra:description'] || 'Error al programar la tarea');

View File

@ -48,7 +48,7 @@ export class CreateRepositoryModalComponent implements OnInit {
this.http.post(`${this.baseUrl}/git-repositories`, payload).subscribe({
next: (response) => {
this.toastService.success(this.translate.instant('repositorioCreadoCorrectamente'));
this.toastService.success(this.translate.instant('successfullyCreatedRepository'));
this.dialogRef.close(response);
},
error: (error) => {
@ -57,7 +57,7 @@ export class CreateRepositoryModalComponent implements OnInit {
}
});
} else {
this.toastService.error(this.translate.instant('porFavorCompleteTodosLos'));
this.toastService.error(this.translate.instant('pleaseCompleteAll'));
}
}

View File

@ -78,22 +78,22 @@ export class DeployImageComponent implements OnInit {
columns = [
{
columnDef: 'partitionNumber',
header: 'particion1',
header: 'partition1',
cell: (partition: any) => `${partition.partitionNumber}`
},
{
columnDef: 'size',
header: 'tamano',
header: 'size',
cell: (partition: any) => `${partition.size} MB`
},
{
columnDef: 'filesystem',
header: 'sistemaDeFicheros',
header: 'fileSystem',
cell: (partition: any) => `${partition.filesystem}`
},
{
columnDef: 'operativeSystem',
header: 'so',
header: 'sW',
cell: (partition: any) => `${partition.operativeSystem?.name}`
}
];
@ -232,7 +232,7 @@ export class DeployImageComponent implements OnInit {
this.loadImages();
},
(error) => {
console.error(this.translate.instant('errorAlCargarLasParticiones'), error);
console.error(this.translate.instant('errorLoadingPartitions'), error);
}
);
}
@ -264,7 +264,7 @@ export class DeployImageComponent implements OnInit {
this.images = response?.['hydra:member'] || [];
},
(error) => {
console.error(this.translate.instant('errorAlCargarLasImagenes3'), error);
console.error(this.translate.instant('errorLoadingImages3'), error);
}
);
}
@ -353,27 +353,27 @@ export class DeployImageComponent implements OnInit {
const needsPartition = this.deployMode !== 'update-cache';
if (!this.selectedClients.length) {
this.toastService.error(this.translate.instant('debeSeleccionarAlMenosUn'));
this.toastService.error(this.translate.instant('youMustSelectAtLeastOne'));
return;
}
if (!this.selectedImage && this.imageType !== 'git') {
this.toastService.error(this.translate.instant('debeSeleccionarUnaImagen'));
this.toastService.error(this.translate.instant('youMustSelectAnImage'));
return;
}
if (!this.selectedMethod && this.imageType !== 'git') {
this.toastService.error(this.translate.instant('debeSeleccionarUnMetodo'));
this.toastService.error(this.translate.instant('youMustSelectAMethod'));
return;
}
if (needsPartition && !this.selectedPartition) {
this.toastService.error(this.translate.instant('debeSeleccionarUnaParticion'));
this.toastService.error(this.translate.instant('youMustSelectAPartition'));
return;
}
if (this.imageType === 'git' && !this.selectedCommit) {
this.toastService.error(this.translate.instant('debeSeleccionarUnCommit'));
this.toastService.error(this.translate.instant('youMustSelectACommit'));
return;
}
@ -384,7 +384,7 @@ export class DeployImageComponent implements OnInit {
backdropClass: 'non-clickable-backdrop'
});
this.toastService.info(this.translate.instant('preparandoPeticionDeDespliegue'));
this.toastService.info(this.translate.instant('preparingDeploymentRequest'));
dialogRef.afterClosed().subscribe(result => {
if (result !== undefined) {
@ -431,7 +431,7 @@ export class DeployImageComponent implements OnInit {
this.http.post(url, payload)
.subscribe({
next: (response) => {
this.toastService.success(this.translate.instant('peticionDeDespliegueEnviadaCorrectamente'));
this.toastService.success(this.translate.instant('deployRequestSentCorrectly'));
this.loading = false;
this.router.navigate(['/commands-logs']);
},
@ -576,7 +576,7 @@ export class DeployImageComponent implements OnInit {
type: 'deploy-image',
}).subscribe({
next: () => {
this.toastService.success(this.translate.instant('scriptAnadidoConExitoA'));
this.toastService.success(this.translate.instant('scriptSuccessfullyAddedTo'));
},
error: (error) => {
this.toastService.error(error.error['hydra:description']);
@ -635,7 +635,7 @@ export class DeployImageComponent implements OnInit {
}
},
error => {
this.toastService.error(this.translate.instant('errorAlCargarLosRepositorios1'));
this.toastService.error(this.translate.instant('errorLoadingRepositories1'));
this.loadingRepositories = false;
}
);
@ -665,7 +665,7 @@ export class DeployImageComponent implements OnInit {
}
},
error => {
this.toastService.error(this.translate.instant('errorAlCargarLasRamas'));
this.toastService.error(this.translate.instant('errorLoadingBranches'));
this.loadingBranches = false;
}
);
@ -697,7 +697,7 @@ export class DeployImageComponent implements OnInit {
}
},
error => {
this.toastService.error(this.translate.instant('errorAlCargarLosCommits'));
this.toastService.error(this.translate.instant('errorLoadingCommits'));
this.loadingCommits = false;
}
);

View File

@ -193,7 +193,7 @@ export class PartitionAssistantComponent implements OnInit, AfterViewInit, OnDes
this.initializeDisks();
},
(error) => {
console.error(this.translate.instant('errorAlCargarLosDatos1'), error);
console.error(this.translate.instant('errorLoadingData1'), error);
}
);
}
@ -415,7 +415,7 @@ export class PartitionAssistantComponent implements OnInit, AfterViewInit, OnDes
this.resizeChart();
}, 100);
} else {
this.toastService.error(this.translate.instant('noHaySuficienteEspacioLibre'));
this.toastService.error(this.translate.instant('notEnoughFreeSpace'));
}
}
}
@ -460,7 +460,7 @@ export class PartitionAssistantComponent implements OnInit, AfterViewInit, OnDes
}
if (!this.selectedDisk) {
this.toastService.error(this.translate.instant('noSeHaSeleccionadoUn'));
this.toastService.error(this.translate.instant('noOneHasBeenSelected'));
return;
}
@ -469,14 +469,14 @@ export class PartitionAssistantComponent implements OnInit, AfterViewInit, OnDes
.reduce((sum: any, partition: any) => sum + partition.size, 0);
if (totalPartitionSize > this.selectedDisk.totalDiskSize) {
this.toastService.error(this.translate.instant('elTamanoTotalDeLas'));
this.toastService.error(this.translate.instant('theTotalSizeOfThe'));
return;
}
const modifiedPartitions = this.selectedDisk.partitions.filter((partition: { removed: any; format: any; }) => !partition.removed || partition.format);
if (modifiedPartitions.length === 0) {
this.toastService.info(this.translate.instant('noHayCambiosParaGuardar'));
this.toastService.info(this.translate.instant('noChangesToSave'));
return;
}
@ -510,13 +510,13 @@ export class PartitionAssistantComponent implements OnInit, AfterViewInit, OnDes
this.http.post(this.apiUrl, bulkPayload).subscribe(
(response) => {
this.toastService.success(this.translate.instant('particionesCreadasExitosamenteParaEl'));
this.toastService.success(this.translate.instant('partitionsSuccessfullyCreatedForThe'));
this.loading = false;
this.router.navigate(['/commands-logs']);
},
(error) => {
this.loading = false;
this.toastService.error(this.translate.instant('errorAlCrearLasParticiones'));
this.toastService.error(this.translate.instant('errorCreatingPartitions'));
}
);
}
@ -683,7 +683,7 @@ export class PartitionAssistantComponent implements OnInit, AfterViewInit, OnDes
if (modifiedPartitions.length === 0) {
this.loading = false;
this.toastService.info(this.translate.instant('noHayCambiosParaGuardar'));
this.toastService.info(this.translate.instant('noChangesToSave'));
return;
}
@ -714,7 +714,7 @@ export class PartitionAssistantComponent implements OnInit, AfterViewInit, OnDes
type: 'partition-assistant',
}).subscribe({
next: () => {
this.toastService.success(this.translate.instant('scriptAnadidoConExitoA'));
this.toastService.success(this.translate.instant('scriptSuccessfullyAddedTo'));
},
error: (error) => {
this.toastService.error(error.error['hydra:description']);
@ -726,7 +726,7 @@ export class PartitionAssistantComponent implements OnInit, AfterViewInit, OnDes
generateInstructions(): void {
if (!this.selectedModelClient || !this.selectedDisk) {
this.toastService.error(this.translate.instant('seleccionaUnClienteModeloY'));
this.toastService.error(this.translate.instant('selectAModelClientAnd'));
return;
}
@ -780,8 +780,8 @@ export class PartitionAssistantComponent implements OnInit, AfterViewInit, OnDes
copyInstructions(): void {
if (!this.generatedInstructions) { return; }
navigator.clipboard?.writeText(this.generatedInstructions)
.then(() => this.toastService.success(this.translate.instant('scriptCopiadoAlPortapapeles')))
.catch(() => this.toastService.error(this.translate.instant('noSePudoCopiarEl')));
.then(() => this.toastService.success(this.translate.instant('scriptCopiedToClipboard')))
.catch(() => this.toastService.error(this.translate.instant('couldNotCopy')));
}
@ -840,7 +840,7 @@ export class PartitionAssistantComponent implements OnInit, AfterViewInit, OnDes
});
console.log('Scroll hacia botón ejecutar completado');
} else {
console.error(this.translate.instant('noSeEncontroElBoton'));
console.error(this.translate.instant('theButtonWasNotFound'));
}
}

View File

@ -99,7 +99,7 @@ export class RunScriptAssistantComponent implements OnInit{
saveNewScript() {
if (!this.newScript.trim()) {
this.toastService.error(this.translate.instant('debeIngresarUnScriptAntes'));
this.toastService.error(this.translate.instant('youMustEnterAScriptBefore'));
return;
}
const dialogRef = this.dialog.open(SaveScriptComponent, {
@ -109,7 +109,7 @@ export class RunScriptAssistantComponent implements OnInit{
dialogRef.afterClosed().subscribe(result => {
if (result) {
this.toastService.success(this.translate.instant('scriptGuardadoCorrectamente'));
this.toastService.success(this.translate.instant('scriptSavedSuccessfully'));
}
});
}
@ -208,13 +208,13 @@ export class RunScriptAssistantComponent implements OnInit{
runAsAdmin: this.runAsAdmin
}).subscribe(
response => {
this.toastService.success(this.translate.instant('scriptEjecutadoCorrectamente'));
this.toastService.success(this.translate.instant('scriptExecutedSuccessfully'));
this.dataChange.emit();
this.router.navigate(['/commands-logs']);
this.loading = false;
},
error => {
this.toastService.error(this.translate.instant('errorAlEjecutarElScript'));
this.toastService.error(this.translate.instant('errorWhenRunningScript'));
this.loading = false;
}
);
@ -261,7 +261,7 @@ export class RunScriptAssistantComponent implements OnInit{
type: 'run-script',
}).subscribe({
next: () => {
this.toastService.success(this.translate.instant('scriptAnadidoConExitoA'));
this.toastService.success(this.translate.instant('scriptSuccessfullyAddedTo'));
},
error: (error) => {
this.toastService.error(error.error['hydra:description']);

View File

@ -39,7 +39,7 @@ export class SaveScriptComponent {
this.http.post(`${this.baseUrl}/commands`, payload).subscribe(
(response) => {
this.toastService.success(this.translate.instant('comandoAnadidoCorrectamente'));
this.toastService.success(this.translate.instant('commandAddedSuccessfully'));
this.dialogRef.close();
},
(error) => {

View File

@ -354,7 +354,7 @@ export class GroupsComponent implements OnInit, OnDestroy {
},
error: (error) => {
console.error(this.translate.instant('errorFetchingOrganizationalUnits'), error);
this.toastr.error(this.translate.instant('ocurrioUnErrorAlCargar'));
this.toastr.error(this.translate.instant('anErrorOccurredWhileLoading'));
},
});
}
@ -564,7 +564,7 @@ export class GroupsComponent implements OnInit, OnDestroy {
console.log('Nodo padre encontrado para actualización:', parentNode);
this.refreshData(parentNode.uuid);
} else {
console.error(this.translate.instant('noSeEncontroElNodo'));
console.error(this.translate.instant('nodeNotFound'));
}
}
this.loading = false;
@ -688,7 +688,7 @@ export class GroupsComponent implements OnInit, OnDestroy {
executeCommand(command: Command, selectedNode: TreeNode | null): void {
this.loading = true;
if (!selectedNode) {
this.toastr.error(this.translate.instant('noHayUnNodoSeleccionado'));
this.toastr.error(this.translate.instant('thereIsNoNodeSelected'));
return;
} else {
this.toastr.success(`Ejecutando comando: ${command.name} en ${selectedNode.name}`);
@ -837,7 +837,7 @@ export class GroupsComponent implements OnInit, OnDestroy {
this.subscriptions.add(
this.http.post(`${this.baseUrl}${client['@id']}/agent/status`, {}).subscribe(
() => {
this.toastr.success(this.translate.instant('clienteActualizadoCorrectamente'));
this.toastr.success(this.translate.instant('clientUpdatedSuccessfully'));
this.syncingClientIds.delete(client.uuid);
this.refreshData(parentNodeId)
},
@ -872,12 +872,12 @@ export class GroupsComponent implements OnInit, OnDestroy {
});
this.arrayClients = this.selectedClients.data;
this.calculateLocalStats();
this.toastr.success(this.translate.instant('estadoDelAulaActualizado'));
this.toastr.success(this.translate.instant('classroomStatusUpdated'));
},
error: () => {
this.isCheckingNodeStatus = false;
this.selectedClients.data.forEach(c => c.uuid && this.syncingClientIds.delete(c.uuid));
this.toastr.error(this.translate.instant('errorAlComprobarElEstado'));
this.toastr.error(this.translate.instant('errorCheckingStatus'));
},
})
);
@ -1057,14 +1057,14 @@ export class GroupsComponent implements OnInit, OnDestroy {
`);
}
} else {
this.toastr.error(this.translate.instant('noSePuedeAccederA'), 'Error');
this.toastr.error(this.translate.instant('cannotAccess'), 'Error');
}
}
openClientLogsModal(event: MouseEvent, client: Client): void {
event.stopPropagation();
if (!client.mac) {
this.toastr.error(this.translate.instant('noSePuedeAccederA1'), 'Error');
this.toastr.error(this.translate.instant('cantAccess1'), 'Error');
return;
}
@ -1091,7 +1091,7 @@ export class GroupsComponent implements OnInit, OnDestroy {
const allClients = response['hydra:member'] || [];
if (allClients.length === 0) {
this.toastr.warning(this.translate.instant('estaUnidadOrganizativaNoTiene'));
this.toastr.warning(this.translate.instant('thisOrganizationalUnitDoesNotHave'));
return;
}
@ -1116,8 +1116,8 @@ export class GroupsComponent implements OnInit, OnDestroy {
});
},
error: (error) => {
console.error(this.translate.instant('errorAlObtenerLosClientes1'), error);
this.toastr.error(this.translate.instant('errorAlCargarLosClientes'));
console.error(this.translate.instant('errorGettingClients1'), error);
this.toastr.error(this.translate.instant('errorLoadingClients'));
this.loading = false;
}
});
@ -1138,7 +1138,7 @@ export class GroupsComponent implements OnInit, OnDestroy {
refreshClientData(): void {
this.fetchClientsForNode(this.selectedNode);
this.toastr.success(this.translate.instant('datosActualizados'), 'Éxito');
this.toastr.success(this.translate.instant('updatedData'), 'Éxito');
}
exportToCSV(): void {
@ -1167,7 +1167,7 @@ export class GroupsComponent implements OnInit, OnDestroy {
link.click();
document.body.removeChild(link);
this.toastr.success(this.translate.instant('archivoCsvExportadoCorrectamente'), 'Éxito');
this.toastr.success(this.translate.instant('csvFileExportedSuccessfully'), 'Éxito');
}
private calculateLocalStats(): void {
@ -1321,7 +1321,7 @@ export class GroupsComponent implements OnInit, OnDestroy {
event.stopPropagation();
if (this.selection.selected.length === 0) {
this.toastr.warning(this.translate.instant('noHayClientesSeleccionadosPara'));
this.toastr.warning(this.translate.instant('thereAreNoClientsSelectedFor'));
return;
}
@ -1359,7 +1359,7 @@ export class GroupsComponent implements OnInit, OnDestroy {
error: (error) => {
this.loading = false;
console.error(this.translate.instant('errorDeletingMultipleClients1'), error);
this.toastr.error(this.translate.instant('errorAlEliminarLosClientes'));
this.toastr.error(this.translate.instant('errorDeletingClients'));
}
});
}

View File

@ -38,7 +38,7 @@ export class DataService {
}
}),
catchError(error => {
console.error(this.translate.instant('errorFetchingUnidadesOrganizativas'), error);
console.error(this.translate.instant('errorFetchingOrganizationalUnits'), error);
return throwError(error);
})
);
@ -188,7 +188,7 @@ export class DataService {
}
}),
catchError(error => {
console.error(this.translate.instant('errorFetchingData'), error);
console.error(this.translate.instant('fetchingDataError'), error);
return throwError(error);
})
);

View File

@ -96,7 +96,7 @@ export class ClassroomViewComponent implements OnInit, OnChanges {
this.http.patch(url, payload).subscribe(response => {
this.openSnackBar(false, 'Plano actualizado!');
}, error => {
console.error(this.translate.instant('errorAlActualizarCliente1'), error);
console.error(this.translate.instant('errorUpdatingClient1'), error);
this.openSnackBar(true, error);
});
});
@ -106,8 +106,8 @@ export class ClassroomViewComponent implements OnInit, OnChanges {
openSnackBar(isError: boolean, message: string) {
if (isError) {
this.toastService.error(this.translate.instant('errorAlActualizarCliente') + message, 'Error');
this.toastService.error(this.translate.instant('errorUpdatingClient') + message, 'Error');
} else
this.toastService.success(this.translate.instant('clienteActualizado'), 'Éxito');
this.toastService.success(this.translate.instant('updatedClient'), 'Éxito');
}
}

View File

@ -46,32 +46,32 @@ export class ClientDetailsComponent {
columns = [
{
columnDef: 'partition',
header: 'particion1',
header: 'partition1',
cell: (partition: any) => `${partition.partitionNumber}`
},
{
columnDef: 'partitionCode',
header: 'tipoDeParticion',
header: 'partitionType',
cell: (partition: any) => partition.partitionCode
},
{
columnDef: 'description',
header: 'sistemaDeFicheros',
header: 'fileSystem',
cell: (partition: any) => partition.filesystem
},
{
columnDef: 'size',
header: 'tamano',
header: 'size',
cell: (partition: any) => `${(partition.size / 1024).toFixed(2)} GB`
},
{
columnDef: 'memoryUsage',
header: 'uso',
header: 'use',
cell: (partition: any) => `${partition.memoryUsage}%`
},
{
columnDef: 'operativeSystem',
header: 'soimagen',
header: 'soimage',
cell: (partition: any) => partition.operativeSystem?.name
}
];
@ -102,7 +102,7 @@ export class ClientDetailsComponent {
this.loadPartitions();
this.loading = false;
} else {
console.error(this.translate.instant('noSeRecibieronDatosDel'));
console.error(this.translate.instant('noDataWasReceivedFrom'));
}
}
@ -193,7 +193,7 @@ export class ClientDetailsComponent {
this.calculateDiskUsage();
},
error: error => {
console.error(this.translate.instant('errorAlObtenerLasParticiones'), error);
console.error(this.translate.instant('errorGettingPartitions'), error);
}
});
}

View File

@ -94,10 +94,10 @@ export class CreateMultipleClientComponent implements OnInit {
if (clients.length > 0) {
this.uploadedClients = clients;
this.toastService.success(this.translate.instant('archivoCargadoCorrectamenteLosDatos'), 'Éxito');
this.toastService.success(this.translate.instant('fileSuccessfullyUploadedData'), 'Éxito');
this.showTextarea = false;
} else {
this.toastService.error(this.translate.instant('noSeEncontraronDatosValidos'), 'Error');
this.toastService.error(this.translate.instant('notValidDataFound'), 'Error');
this.showTextarea = true;
}
};
@ -120,10 +120,10 @@ export class CreateMultipleClientComponent implements OnInit {
if (clients.length > 0) {
this.uploadedClients = clients;
this.toastService.success(this.translate.instant('datosCargadosCorrectamenteLosDatos'), 'Éxito');
this.toastService.success(this.translate.instant('dataSuccessfullyLoadedData'), 'Éxito');
this.showTextarea = false;
} else {
this.toastService.error(this.translate.instant('noSeEncontraronDatosValidos'), 'Error');
this.toastService.error(this.translate.instant('notValidDataFound'), 'Error');
this.showTextarea = true;
}
}
@ -157,7 +157,7 @@ export class CreateMultipleClientComponent implements OnInit {
);
});
} else {
this.toastService.error(this.translate.instant('noHayClientesCargadosPara'), 'Error');
this.toastService.error(this.translate.instant('noClientsLoadedFor'), 'Error');
}
}

View File

@ -184,7 +184,7 @@ export class ManageClientComponent implements OnInit {
resolve();
},
error => {
console.error(this.translate.instant('errorFetchingBootservers'), error);
console.error(this.translate.instant('fetchingBootserversError'), error);
reject(error);
}
);
@ -232,7 +232,7 @@ export class ManageClientComponent implements OnInit {
resolve();
},
error => {
console.error(this.translate.instant('errorFetchingRepositories1'), error);
console.error(this.translate.instant('fetchingRepositories1Error'), error);
reject(error);
}
);
@ -316,7 +316,7 @@ export class ManageClientComponent implements OnInit {
}
},
error => {
console.error(this.translate.instant('errorAlCargarDatosDel'), error);
console.error(this.translate.instant('errorLoadingData'), error);
reject(error);
}
);
@ -334,17 +334,17 @@ export class ManageClientComponent implements OnInit {
this.http.patch<any>(putUrl, formData, { headers }).subscribe(
response => {
this.dialogRef.close({ success: true });
this.toastService.success(this.translate.instant('clienteActualizadoExitosamente'), 'Éxito');
this.toastService.success(this.translate.instant('clientSuccessfullyUpdated'), 'Éxito');
},
error => {
console.error(this.translate.instant('errorAlRealizarPut'), error);
this.toastService.error(this.translate.instant('errorAlActualizarElCliente') + error.error['hydra:description'], 'Error');
console.error(this.translate.instant('errorWhenMakingPut'), error);
this.toastService.error(this.translate.instant('errorUpdatingClient') + error.error['hydra:description'], 'Error');
}
);
} else {
this.http.post(`${this.baseUrl}/clients`, formData).subscribe(
(response) => {
this.toastService.success(this.translate.instant('clienteCreadoExitosamente'), 'Éxito');
this.toastService.success(this.translate.instant('clientCreatedSuccessfully'), 'Éxito');
this.dialogRef.close({
success: true,
client: response,
@ -357,7 +357,7 @@ export class ManageClientComponent implements OnInit {
);
}
} else {
this.toastService.error(this.translate.instant('formularioInvalidoPorFavorRevise'), 'Error');
this.toastService.error(this.translate.instant('invalidFormPleaseReview'), 'Error');
}
}

View File

@ -49,7 +49,7 @@ export class ExecuteCommandOuComponent implements OnInit {
const clientIds = this.clients.map(client => client.uuid);
this.form.get('clientSelection')?.setValue(clientIds);
},
error => console.error(this.translate.instant('errorAlCargarLosClientes1'), error)
error => console.error(this.translate.instant('errorLoadingClients1'), error)
);
}
@ -68,7 +68,7 @@ export class ExecuteCommandOuComponent implements OnInit {
response => {
this.commands = response['hydra:member'] || [];
},
error => this.toastService.error(this.translate.instant('errorAlCargarComandos'), error)
error => this.toastService.error(this.translate.instant('errorLoadingCommands'), error)
);
}
@ -77,7 +77,7 @@ export class ExecuteCommandOuComponent implements OnInit {
response => {
this.commandGroups = response['hydra:member'] || [];
},
error => this.toastService.error(this.translate.instant('errorAlCargarGruposDe'), error)
error => this.toastService.error(this.translate.instant('errorLoadingGroups'), error)
);
}
@ -110,11 +110,11 @@ export class ExecuteCommandOuComponent implements OnInit {
this.http.post(url, payload)
.subscribe({
next: () => {
this.toastService.success(this.translate.instant('comandoEjecutadoConExito'));
this.toastService.success(this.translate.instant('commandExecutedSuccessfully'));
this.dialogRef.close(true);
},
error: (error) => {
this.toastService.error(this.translate.instant('errorAlEjecutarElComando'), error);
this.toastService.error(this.translate.instant('errorWhenExecutingCommand'), error);
this.dialogRef.close(false);
}
});

View File

@ -290,7 +290,7 @@ export class ManageOrganizationalUnitComponent implements OnInit {
error => {
console.error(this.translate.instant('errorFetchingDataForEdit'), error);
this.toastService.error(this.translate.instant('errorFetchingData'));
this.toastService.error(this.translate.instant('fetchingDataError'));
reject(error);
this.onNoClick();
}
@ -304,8 +304,8 @@ export class ManageOrganizationalUnitComponent implements OnInit {
const confirmRef = this.dialog.open(DeleteModalComponent, {
width: '400px',
data: {
title : this.translate.instant('propagarParametros'),
message : this.translate.instant('deseaPropagarLosParametrosDe'),
title : this.translate.instant('propagateParameters'),
message : this.translate.instant('youWantToPropagateTheParametersOf'),
confirmText: 'Sí, propagar',
cancelText: 'No, solo guardar',
}
@ -354,11 +354,11 @@ export class ManageOrganizationalUnitComponent implements OnInit {
} else {
this.unitAdded.emit();
this.dialogRef.close({ success: true });
this.toastService.success(this.translate.instant('editadoExitosamente'), 'Éxito');
this.toastService.success(this.translate.instant('successfullyEdited'), 'Éxito');
}
},
error => {
console.error(this.translate.instant('errorAlRealizarPut'), error);
console.error(this.translate.instant('errorWhenMakingPut'), error);
const errorMessages = error.error['hydra:description'].split('\n');
errorMessages.forEach((message: string) => {
const cleanedMessage = message.replace(/networkSettings\.(\w+):/, 'Error $1:');
@ -374,10 +374,10 @@ export class ManageOrganizationalUnitComponent implements OnInit {
response => {
this.unitAdded.emit(response);
this.dialogRef.close({ success: true });
this.toastService.success(this.translate.instant('creadoExitosamente'), 'Éxito');
this.toastService.success(this.translate.instant('successfullyCreated'), 'Éxito');
},
error => {
console.error(this.translate.instant('errorAlRealizarPost'), error);
console.error(this.translate.instant('errorWhenMakingPost'), error);
const errorMessages = error.error['hydra:description'].split('\n');
errorMessages.forEach((message: string) => {
const cleanedMessage = message.replace(/networkSettings\.(\w+):/, 'Error $1:');
@ -396,13 +396,13 @@ export class ManageOrganizationalUnitComponent implements OnInit {
() => {
this.unitAdded.emit();
this.dialogRef.close({ success: true });
this.toastService.success(this.translate.instant('editadoYParametrosPropagadosExitosamente'), 'Éxito');
this.toastService.success(this.translate.instant('editedAndParametersPropagatedSuccessfully'), 'Éxito');
},
error => {
console.error(this.translate.instant('errorAlPropagarParametros'), error);
console.error(this.translate.instant('errorWhenPropagatingParameters'), error);
this.unitAdded.emit();
this.dialogRef.close({ success: true });
this.toastService.warning(this.translate.instant('guardadoPeroHuboUnError'), 'Aviso');
this.toastService.warning(this.translate.instant('savedButThereWasAnError'), 'Aviso');
}
);
}
@ -422,7 +422,7 @@ export class ManageOrganizationalUnitComponent implements OnInit {
resolve();
},
error => {
console.error(this.translate.instant('errorFetchingBootservers'), error);
console.error(this.translate.instant('fetchingBootserversError'), error);
reject(error);
}
);
@ -520,7 +520,7 @@ export class ManageOrganizationalUnitComponent implements OnInit {
resolve();
},
error => {
console.error(this.translate.instant('errorFetchingOglives'), error);
console.error(this.translate.instant('fetchingOglivesError'), error);
reject(error);
}
);

View File

@ -10,7 +10,7 @@ import { MatTableDataSource } from '@angular/material/table';
export class HardwareCollectionModalComponent {
dataSource = new MatTableDataSource<any>();
profileName: string = '';
columns = [
{
columnDef: 'id',
@ -19,21 +19,21 @@ export class HardwareCollectionModalComponent {
},
{
columnDef: 'name',
header: 'nombre',
header: 'name',
cell: (hardware: any) => hardware.name || 'N/A'
},
{
columnDef: 'type',
header: 'tipo',
header: 'type',
cell: (hardware: any) => hardware.type || 'N/A'
},
{
columnDef: 'description',
header: 'descripcion',
header: 'description',
cell: (hardware: any) => hardware.description || 'N/A'
}
];
displayedColumns = this.columns.map(column => column.columnDef);
constructor(
@ -42,11 +42,11 @@ export class HardwareCollectionModalComponent {
) {
if (data) {
this.profileName = data.profileName || 'Perfil de Hardware';
// Si se pasa directamente la colección de hardware
if (data.hardwareCollection && Array.isArray(data.hardwareCollection)) {
this.dataSource.data = data.hardwareCollection;
}
}
// Si se pasa el perfil completo
else if (data.profile && data.profile.hardwareCollection) {
this.dataSource.data = data.profile.hardwareCollection;

View File

@ -45,12 +45,12 @@ export class HardwareProfileComponent {
},
{
columnDef: 'description',
header: 'descripcion',
header: 'description',
cell: (hardware: any) => hardware.description
},
{
columnDef: 'client',
header: 'cliente',
header: 'customer',
cell: (hardware: any) => hardware.client ? {
name: hardware.client.name || 'N/A',
ip: hardware.client.ip || 'N/A',
@ -59,7 +59,7 @@ export class HardwareProfileComponent {
},
{
columnDef: 'createdAt',
header: 'fechaDeCreacion',
header: 'creationDate',
cell: (hardware: any) => `${this.datePipe.transform(hardware.createdAt, 'dd/MM/yyyy hh:mm:ss')}`,
}
];
@ -94,7 +94,7 @@ export class HardwareProfileComponent {
this.length = data['hydra:totalItems'];
},
(error) => {
console.error(this.translate.instant('errorFetchingCommands'), error);
console.error(this.translate.instant('fetchingCommandsError'), error);
}
);
}
@ -148,7 +148,7 @@ export class HardwareProfileComponent {
this.toastService.success(this.translate.instant('hardwareDeletedSuccessfully'));
},
error: (error) => {
this.toastService.error(this.translate.instant('errorDeletingHardware'));
this.toastService.error(this.translate.instant('hardwareDeletingError'));
}
});
} else {
@ -189,7 +189,7 @@ export class HardwareProfileComponent {
},
error: (error) => {
console.error(this.translate.instant('errorFetchingHardwareProfileDetails'), error);
this.toastService.error(this.translate.instant('errorAlObtenerLosDetalles'));
this.toastService.error(this.translate.instant('errorGettingDetails'));
}
});
}

View File

@ -38,22 +38,22 @@ export class HardwareTypeComponent {
},
{
columnDef: 'name',
header: 'nombre',
header: 'name',
cell: (hardware: any) => hardware.name
},
{
columnDef: 'code',
header: 'codigo',
header: 'code',
cell: (hardware: any) => hardware.code
},
{
columnDef: 'description',
header: 'descripcion',
header: 'description',
cell: (hardware: any) => hardware.description
},
{
columnDef: 'createdAt',
header: 'fechaDeCreacion',
header: 'creationDate',
cell: (hardware: any) => `${this.datePipe.transform(hardware.createdAt, 'dd/MM/yyyy hh:mm:ss')}`,
}
];
@ -81,7 +81,7 @@ export class HardwareTypeComponent {
this.length = data['hydra:totalItems'];
},
(error) => {
console.error(this.translate.instant('errorFetchingCommands'), error);
console.error(this.translate.instant('fetchingCommandsError'), error);
}
);
}
@ -102,7 +102,7 @@ export class HardwareTypeComponent {
this.toastService.success(this.translate.instant('hardwareDeletedSuccessfully'));
},
error: (error) => {
this.toastService.error(this.translate.instant('errorDeletingHardware'));
this.toastService.error(this.translate.instant('hardwareDeletingError'));
}
});
} else {

View File

@ -39,17 +39,17 @@ export class HardwareComponent {
},
{
columnDef: 'name',
header: 'nombre',
header: 'name',
cell: (hardware: any) => hardware.name
},
{
columnDef: 'type',
header: 'tipo',
header: 'type',
cell: (hardware: any) => hardware.type?.name || 'N/A'
},
{
columnDef: 'createdAt',
header: 'fechaDeCreacion',
header: 'creationDate',
cell: (hardware: any) => `${this.datePipe.transform(hardware.createdAt, 'dd/MM/yyyy hh:mm:ss')}`,
}
];
@ -77,7 +77,7 @@ export class HardwareComponent {
this.length = data['hydra:totalItems'];
},
(error) => {
console.error(this.translate.instant('errorFetchingCommands'), error);
console.error(this.translate.instant('fetchingCommandsError'), error);
}
);
}
@ -98,7 +98,7 @@ export class HardwareComponent {
this.toastService.success(this.translate.instant('hardwareDeletedSuccessfully'));
},
error: (error) => {
this.toastService.error(this.translate.instant('errorDeletingHardware'));
this.toastService.error(this.translate.instant('hardwareDeletingError'));
}
});
} else {

View File

@ -92,7 +92,7 @@ export class CreateImageComponent implements OnInit {
this.softwareProfiles = response['hydra:member'];
},
error: (error) => {
this.toastService.error(this.translate.instant('errorAlObtenerLosPerfiles'));
this.toastService.error(this.translate.instant('errorGettingProfiles'));
}
});
}
@ -104,7 +104,7 @@ export class CreateImageComponent implements OnInit {
this.repositories = response['hydra:member'];
},
error: (error) => {
this.toastService.error(this.translate.instant('errorAlObtenerLosRepositorios'));
this.toastService.error(this.translate.instant('errorGettingRepositories'));
}
});
}
@ -123,7 +123,7 @@ export class CreateImageComponent implements OnInit {
if (this.imageId) {
this.http.put(`${this.baseUrl}${this.imageId}`, payload).subscribe(
(response) => {
this.toastService.success(this.translate.instant('imagenEditadaCorrectamente'));
this.toastService.success(this.translate.instant('successfullyEditedImage'));
this.dialogRef.close();
},
(error) => {
@ -133,7 +133,7 @@ export class CreateImageComponent implements OnInit {
} else {
this.http.post(`${this.baseUrl}/images`, payload).subscribe(
(response) => {
this.toastService.success(this.translate.instant('imagenAnadidaCorrectamente'));
this.toastService.success(this.translate.instant('imageAddedSuccessfully'));
this.dialogRef.close();
},
(error) => {

View File

@ -34,7 +34,7 @@ export class DataService {
}
}),
catchError(error => {
console.error(this.translate.instant('errorFetchingCommands'), error);
console.error(this.translate.instant('fetchingCommandsError'), error);
return throwError(error);
})
);

View File

@ -51,7 +51,7 @@ export class ExportImageComponent implements OnInit {
this.loading = false;
},
error => {
console.error(this.translate.instant('errorFetchingRepositories1'), error);
console.error(this.translate.instant('fetchingRepositories1Error'), error);
this.loading = false;
}
);
@ -63,14 +63,14 @@ export class ExportImageComponent implements OnInit {
repositories: this.selectedRepositories
}).subscribe({
next: (response) => {
this.toastService.success(this.translate.instant('peticionDeExportacionDeImagen'));
this.toastService.success(this.translate.instant('imageExportRequest'));
this.dialogRef.close();
this.loading = false;
this.router.navigate(['/commands-logs']);
},
error: error => {
this.loading = false;
this.toastService.error(this.translate.instant('errorEnLaPeticionDe'));
this.toastService.error(this.translate.instant('errorInTheRequest'));
}
});
}

View File

@ -34,12 +34,12 @@ export class ImagesComponent implements OnInit {
},
{
columnDef: 'name',
header: 'nombreDeImagen',
header: 'imageName',
cell: (image: any) => `${image.name}`
},
{
columnDef: 'imageRepositories',
header: 'repositorios',
header: 'repositories',
cell: (image: any) => `${image.imageRepositories}`
},
{
@ -49,12 +49,12 @@ export class ImagesComponent implements OnInit {
},
{
columnDef: 'isGlobal',
header: 'imagenGlobal',
header: 'globalImage',
cell: (image: any) => `${image.isGlobal}`
},
{
columnDef: 'createdAt',
header: 'fechaDeCreacion',
header: 'creationDate',
cell: (image: any) => `${this.datePipe.transform(image.createdAt, 'dd/MM/yyyy hh:mm:ss')}`
}
];

View File

@ -46,7 +46,7 @@ export class AssetManagerModalComponent implements OnInit {
},
error: (err) => {
this.isLoading = false;
this.toastService.error(this.translate.instant('errorAlCargarLaRuta'));
this.toastService.error(this.translate.instant('errorLoadingRoute'));
console.error(err);
// If we failed traversing down, fallback to root
@ -109,7 +109,7 @@ export class AssetManagerModalComponent implements OnInit {
this.isLoading = true;
this.dataService.deleteAsset(path).subscribe({
next: (res) => {
this.toastService.success(this.translate.instant('elementoEliminadoCorrectamente'));
this.toastService.success(this.translate.instant('itemRemovedSuccessfully'));
this.loadAssets();
},
error: (err) => {
@ -127,7 +127,7 @@ export class AssetManagerModalComponent implements OnInit {
navigator.clipboard.writeText(fullUrl).then(() => {
this.toastService.info(`Enlace copiado: ${fullUrl}`);
}).catch(err => {
console.error(this.translate.instant('errorAlCopiarAlPortapapeles'), err);
console.error(this.translate.instant('errorWhenCopyingToClipboard'), err);
});
}

View File

@ -99,7 +99,7 @@ export class CreateMenuComponent implements OnInit {
this.isEditingHtml = true;
},
error: (err) => {
this.toastService.error(this.translate.instant('noSePudoDescargarEl'));
this.toastService.error(this.translate.instant('couldNotDownload'));
console.error(err);
}
});
@ -128,7 +128,7 @@ export class CreateMenuComponent implements OnInit {
this.isEditingHtml = false;
const dataUrl = `data:text/html;base64,${renderedBase64}`;
this.safeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(dataUrl);
this.toastService.success(this.translate.instant('vistaPreviaGeneradaPulsaGuardar'));
this.toastService.success(this.translate.instant('generatedPreviewPressSave'));
},
error: (err) => {
console.error(this.translate.instant('failedToPreviewGeneratedHtml'), err);
@ -139,7 +139,7 @@ export class CreateMenuComponent implements OnInit {
} catch (e) {
console.error(this.translate.instant('failedToEncodeUpdatedHtml'), e);
this.toastService.error(this.translate.instant('huboUnProblemaProcesandoLos'));
this.toastService.error(this.translate.instant('thereWasAProblemProcessingThe'));
}
}
}
@ -190,23 +190,23 @@ export class CreateMenuComponent implements OnInit {
if (this.menuId) {
this.http.put(`${this.baseUrl}${this.menuId}`, payload).subscribe(
(response) => {
this.toastService.success(this.translate.instant('menuEditadoCorrectamente'));
this.toastService.success(this.translate.instant('menuEditedCorrectly'));
this.dialogRef.close();
},
(error) => {
this.toastService.error(error['error']['hydra:description']);
console.error(this.translate.instant('errorAlEditarLaImagen'), error);
console.error(this.translate.instant('errorWhenEditingImage'), error);
}
);
} else {
this.http.post(`${this.baseUrl}/menus`, payload).subscribe(
(response) => {
this.toastService.success(this.translate.instant('menuAnadidoCorrectamente'));
this.toastService.success(this.translate.instant('menuAddedSuccessfully'));
this.dialogRef.close();
},
(error) => {
this.toastService.error(error['error']['hydra:description']);
console.error(this.translate.instant('errorAlAnadirElMenu'), error);
console.error(this.translate.instant('errorAddingMenu'), error);
}
);
}

View File

@ -54,7 +54,7 @@ export class DataService {
}
}),
catchError(error => {
console.error(this.translate.instant('errorFetchingCommands'), error);
console.error(this.translate.instant('fetchingCommandsError'), error);
return throwError(() => error);
})
);
@ -80,7 +80,7 @@ export class DataService {
const params = new HttpParams().set('path', path);
return this.http.get<any[]>(`${this.baseUrl}/ogassets/list`, { params }).pipe(
catchError(error => {
console.error(this.translate.instant('errorFetchingAssets'), error);
console.error(this.translate.instant('fetchingAssetsError'), error);
return throwError(() => error);
})
);

View File

@ -37,27 +37,27 @@ export class MenusComponent implements OnInit {
},
{
columnDef: 'name',
header: 'nombreDeMenu',
header: 'menuName',
cell: (menu: any) => `${menu.name}`
},
{
columnDef: 'publicUrl',
header: 'urlPublica',
header: 'publicUrl',
cell: (menu: any) => `${this.baseUrl}/menu/${menu.publicUrl}`
},
{
columnDef: 'isDefault',
header: 'porDefecto',
header: 'default',
cell: (menu: any) => `${menu.isDefault}`
},
{
columnDef: 'resolution',
header: 'resolucion',
header: 'resolution',
cell: (menu: any) => `${menu.resolution}`
},
{
columnDef: 'createdAt',
header: 'fechaDeCreacion',
header: 'creationDate',
cell: (menu: any) => `${this.datePipe.transform(menu.createdAt, 'dd/MM/yyyy hh:mm:ss')}`
}
];
@ -132,11 +132,11 @@ export class MenusComponent implements OnInit {
if (result) {
this.http.delete(`${this.apiUrl}/${menu.uuid}`).subscribe({
next: () => {
this.toastService.success(this.translate.instant('menuEliminadoConExito'));
this.toastService.success(this.translate.instant('menuSuccessfullyRemoved'));
this.search();
},
error: (error) => {
console.error(this.translate.instant('errorAlEliminarElMenu'), error);
console.error(this.translate.instant('errorWhenDeletingMenu'), error);
}
});
}

View File

@ -37,7 +37,7 @@ export class BootServersComponent implements OnInit {
},
{
columnDef: 'name',
header: 'nombre',
header: 'name',
cell: (server: any) => server.name
},
{
@ -47,17 +47,17 @@ export class BootServersComponent implements OnInit {
},
{
columnDef: 'apiPort',
header: 'puertoApi',
header: 'apiPort',
cell: (server: any) => server.apiPort
},
{
columnDef: 'pxePort',
header: 'puertoPxe',
header: 'pxePort',
cell: (server: any) => server.pxePort
},
{
columnDef: 'createdAt',
header: 'fechaDeCreacion',
header: 'creationDate',
cell: (server: any) => `${this.datePipe.transform(server.createdAt, 'dd/MM/yyyy hh:mm:ss')}`
}
];
@ -126,12 +126,12 @@ export class BootServersComponent implements OnInit {
if (result) {
this.http.delete(`${this.apiUrl}/${server.uuid}`).subscribe({
next: () => {
this.toastService.success(this.translate.instant('servidorEliminadoConExito'));
this.toastService.success(this.translate.instant('serverSuccessfullyDeleted'));
this.search();
},
error: (error) => {
console.error(this.translate.instant('errorAlEliminarServidor'), error);
this.toastService.error(this.translate.instant('errorAlEliminarElServidor'));
console.error(this.translate.instant('errorDeletingServer'), error);
this.toastService.error(this.translate.instant('errorDeletingServer'));
}
});
}
@ -162,13 +162,13 @@ export class BootServersComponent implements OnInit {
forkJoin(syncRequests).subscribe({
next: () => {
this.toastService.success(this.translate.instant('sincronizacionCompletadaConExito'));
this.toastService.success(this.translate.instant('synchronizationCompletedSuccessfully'));
this.loading = false;
this.search();
},
error: (error: any) => {
console.error(this.translate.instant('errorDuranteLaSincronizacion1'), error);
this.toastService.error(this.translate.instant('errorDuranteLaSincronizacion'));
console.error(this.translate.instant('errorDuringSynchronization1'), error);
this.toastService.error(this.translate.instant('errorDuringSynchronization'));
this.loading = false;
}
});

View File

@ -55,8 +55,8 @@ export class ManageBootServerComponent implements OnInit {
this.serverId = response['@id'];
},
error: (err) => {
console.error(this.translate.instant('errorFetchingBootServer'), err);
this.toastService.error(this.translate.instant('errorCargandoLosDatosDel'));
console.error(this.translate.instant('fetchingBootServerError'), err);
this.toastService.error(this.translate.instant('errorLoadingData'));
}
});
}
@ -73,7 +73,7 @@ export class ManageBootServerComponent implements OnInit {
if (this.serverId) {
this.http.put(`${this.baseUrl}${this.serverId}`, payload).subscribe({
next: () => {
this.toastService.success(this.translate.instant('servidorBootActualizadoCorrectamente'));
this.toastService.success(this.translate.instant('bootServerSuccessfullyUpdated'));
this.dialogRef.close(true);
},
error: (error) => {
@ -83,7 +83,7 @@ export class ManageBootServerComponent implements OnInit {
} else {
this.http.post(`${this.baseUrl}/boot-servers`, payload).subscribe({
next: () => {
this.toastService.success(this.translate.instant('servidorBootAnadidoCorrectamente'));
this.toastService.success(this.translate.instant('bootServerAddedSuccessfully'));
this.dialogRef.close(true);
},
error: (error) => {

View File

@ -83,7 +83,7 @@ export class PxeBootFilesComponent implements OnInit {
}
},
error => {
console.error(this.translate.instant('errorFetchingBootservers'), error);
console.error(this.translate.instant('fetchingBootserversError'), error);
}
);
}
@ -111,7 +111,7 @@ export class PxeBootFilesComponent implements OnInit {
this.length = response['hydra:totalItems'];
},
error => {
this.toastService.error(this.translate.instant('errorAlCargarLasPlantillas'));
this.toastService.error(this.translate.instant('errorLoadingTemplates'));
}
);
}
@ -152,8 +152,8 @@ export class PxeBootFilesComponent implements OnInit {
const dialogRef = this.dialog.open(DeleteModalComponent, {
width: '500px',
data: {
title : this.translate.instant('confirmarMigracionDeServidores'),
message : this.translate.instant('seHanDetectadoOrdenadoresAsociados'),
title : this.translate.instant('confirmServerMigration'),
message : this.translate.instant('associatedComputersHaveBeenDetected'),
confirmText: 'Mover y Guardar',
cancelText: 'Solo de este servidor'
}
@ -189,7 +189,7 @@ export class PxeBootFilesComponent implements OnInit {
const templateIds = Object.keys(groupedByTemplate);
if (templateIds.length === 0) {
this.toastService.info(this.translate.instant('noHayCambiosPendientesDe'));
this.toastService.info(this.translate.instant('noChangesPending'));
return;
}

View File

@ -54,17 +54,17 @@ export class PXEimagesComponent implements OnInit {
},
{
columnDef: 'isDefault',
header: 'imagenPorDefecto',
header: 'defaultImage',
cell: (user: any) => `${user.isDefault}`
},
{
columnDef: 'status',
header: 'estado',
header: 'state',
cell: (image: any) => `${image.status}`
},
{
columnDef: 'createdAt',
header: 'fechaDeCreacion',
header: 'creationDate',
cell: (user: any) => `${this.datePipe.transform(user.createdAt, 'dd/MM/yyyy hh:mm:ss')}`
}
];
@ -109,7 +109,7 @@ export class PXEimagesComponent implements OnInit {
}
},
error => {
console.error(this.translate.instant('errorFetchingBootservers'), error);
console.error(this.translate.instant('fetchingBootserversError'), error);
}
);
}
@ -148,7 +148,7 @@ export class PXEimagesComponent implements OnInit {
getStatusLabel(status: string): { label: string; class: string } {
const statusMap: { [key: string]: { label: string; class: string } } = {
active: { label: 'Instalada', class: 'status-active' },
inactive: { label : this.translate.instant('sinInstalar'), class: 'status-inactive' },
inactive: { label : this.translate.instant('withoutInstalling'), class: 'status-inactive' },
pending: { label: 'Instalando...', class: 'status-installing' },
failed: { label: 'Fallido', class: 'status-failed' }
};
@ -162,7 +162,7 @@ export class PXEimagesComponent implements OnInit {
case 'set-default':
this.http.post(`${this.apiUrl}/server/${image.uuid}/set-default`, {}).subscribe({
next: () => {
this.toastService.success(this.translate.instant('peticionDeCambioDeImagen'));
this.toastService.success(this.translate.instant('imageChangeRequest'));
this.search();
},
error: (error) => {
@ -174,7 +174,7 @@ export class PXEimagesComponent implements OnInit {
case 'install':
this.http.post(`${this.apiUrl}/server/${image.uuid}/install`, {}).subscribe({
next: () => {
this.toastService.success(this.translate.instant('peticionDeInstalacionEnviada'));
this.toastService.success(this.translate.instant('installationRequestSent'));
this.search();
},
error: (error) => {
@ -186,7 +186,7 @@ export class PXEimagesComponent implements OnInit {
case 'uninstall':
this.http.post(`${this.apiUrl}/server/${image.uuid}/uninstall`, {}).subscribe({
next: () => {
this.toastService.success(this.translate.instant('peticionDeDesinstalacionEnviada'));
this.toastService.success(this.translate.instant('uninstallRequestSent'));
this.search();
},
error: (error) => {
@ -196,7 +196,7 @@ export class PXEimagesComponent implements OnInit {
});
break;
default:
console.error(this.translate.instant('accionNoSoportada'), action);
console.error(this.translate.instant('unsupportedAction'), action);
break;
}
}
@ -261,7 +261,7 @@ export class PXEimagesComponent implements OnInit {
},
error => {
this.toastService.error(error.error['hydra:description']);
console.error(this.translate.instant('errorAlCargarLaInformacion'), error);
console.error(this.translate.instant('errorLoadingInformation'), error);
this.loading = false;
}
);

View File

@ -94,7 +94,7 @@ export class CreatePxeTemplateComponent implements OnInit {
this.clients = data['hydra:member'];
},
error: error => {
console.error(this.translate.instant('errorAlObtenerLosClientes'), error);
console.error(this.translate.instant('errorGettingClients'), error);
}
});
}
@ -113,7 +113,7 @@ export class CreatePxeTemplateComponent implements OnInit {
this.http.post<any>(`${this.baseUrl}/pxe-templates`, payload).subscribe({
next: data => {
this.toastService.success(this.translate.instant('plantillaPxeCreadaExitosamente'));
this.toastService.success(this.translate.instant('pxeTemplateCreatedSuccessfully'));
this.dialogRef.close(true);
},
error: error => {
@ -132,7 +132,7 @@ export class CreatePxeTemplateComponent implements OnInit {
this.http.patch<any>(`${this.baseUrl}/pxe-templates/${this.data.uuid}`, payload).subscribe({
next: data => {
this.toastService.success(this.translate.instant('plantillaPxeActualizadaExitosamente'));
this.toastService.success(this.translate.instant('pxeTemplateUpdatedSuccessfully'));
this.dialogRef.close(true);
},
error: error => {

View File

@ -50,22 +50,22 @@ export class PxeComponent implements OnInit{
},
{
columnDef: 'name',
header: 'nombreDeLaPlantilla',
header: 'templateName',
cell: (user: any) => user.name
},
{
columnDef: 'synchronized',
header: 'sincronizado',
header: 'synchronized',
cell: (user: any) => user.synchronized
},
{
columnDef: 'isDefault',
header: 'plantillaPorDefecto',
header: 'defaultTemplate',
cell: (user: any) => user.isDefault
},
{
columnDef: 'createdAt',
header: 'fechaDeCreacion',
header: 'creationDate',
cell: (user: any) => this.datePipe.transform(user.createdAt, 'dd/MM/yyyy hh:mm:ss')
}
];
@ -110,7 +110,7 @@ export class PxeComponent implements OnInit{
}
},
error => {
console.error(this.translate.instant('errorFetchingBootservers'), error);
console.error(this.translate.instant('fetchingBootserversError'), error);
}
);
}
@ -169,7 +169,7 @@ export class PxeComponent implements OnInit{
if (result) {
this.http.post<any>(`${this.apiUrl}/server/${image.uuid}/delete`, {}).subscribe({
next: (response) => {
this.toastService.success(this.translate.instant('plantillaEliminadaExitosamente'));
this.toastService.success(this.translate.instant('templateSuccessfullyDeleted'));
if (response && response.warning) {
this.toastService.info(response.warning, 'Información', { timeOut: 8000 });
}
@ -183,7 +183,7 @@ export class PxeComponent implements OnInit{
})
break;
default:
console.error(this.translate.instant('accionNoSoportada'), action);
console.error(this.translate.instant('unsupportedAction'), action);
break;
}
}
@ -214,7 +214,7 @@ export class PxeComponent implements OnInit{
},
error => {
this.toastService.error(error.error['hydra:description']);
console.error(this.translate.instant('errorAlCargarLaInformacion'), error);
console.error(this.translate.instant('errorLoadingInformation'), error);
}
);
}

View File

@ -66,7 +66,7 @@ export class CreateSubnetComponent implements OnInit {
save(): void {
if (this.subnetForm.invalid) {
this.toastService.error(this.translate.instant('porFavorRevisaLosCampos'));
this.toastService.error(this.translate.instant('pleaseCheckTheFields'));
return;
}
@ -79,7 +79,7 @@ export class CreateSubnetComponent implements OnInit {
if (!this.isEditMode) {
this.http.post(`${this.baseUrl}/subnets`, payload).subscribe({
next: () => {
this.toastService.success(this.translate.instant('configuracionDeRedAnadidaExitosamente'));
this.toastService.success(this.translate.instant('networkConfigurationAddedSuccessfully'));
this.dialogRef.close();
},
error: (error) => {
@ -89,7 +89,7 @@ export class CreateSubnetComponent implements OnInit {
} else {
this.http.patch(`${this.baseUrl}/subnets/${this.subnetId}`, payload).subscribe({
next: () => {
this.toastService.success(this.translate.instant('configuracionDeRedActualizadaExitosamente'));
this.toastService.success(this.translate.instant('networkConfigurationUpdatedSuccessfully'));
this.dialogRef.close();
},
error: (error) => {

View File

@ -36,7 +36,7 @@ export class DhcpServersComponent implements OnInit {
},
{
columnDef: 'name',
header: 'nombre',
header: 'name',
cell: (server: any) => server.name
},
{
@ -46,17 +46,17 @@ export class DhcpServersComponent implements OnInit {
},
{
columnDef: 'apiPort',
header: 'puertoApi',
header: 'apiPort',
cell: (server: any) => server.apiPort
},
{
columnDef: 'subnets',
header: 'subredes',
header: 'subnets',
cell: (server: any) => server.subnets
},
{
columnDef: 'createdAt',
header: 'fechaDeCreacion',
header: 'creationDate',
cell: (server: any) => `${this.datePipe.transform(server.createdAt, 'dd/MM/yyyy hh:mm:ss')}`
}
];
@ -125,12 +125,12 @@ export class DhcpServersComponent implements OnInit {
if (result) {
this.http.delete(`${this.apiUrl}/${server.uuid}`).subscribe({
next: () => {
this.toastService.success(this.translate.instant('servidorEliminadoConExito'));
this.toastService.success(this.translate.instant('serverSuccessfullyDeleted'));
this.search();
},
error: (error) => {
console.error(this.translate.instant('errorAlEliminarServidor'), error);
this.toastService.error(this.translate.instant('errorAlEliminarElServidor'));
console.error(this.translate.instant('errorDeletingServer'), error);
this.toastService.error(this.translate.instant('errorDeletingServer'));
}
});
}

View File

@ -54,8 +54,8 @@ export class ManageDhcpServerComponent implements OnInit {
this.serverId = response['@id'];
},
error: (err) => {
console.error(this.translate.instant('errorFetchingDhcpServer'), err);
this.toastService.error(this.translate.instant('errorCargandoLosDatos'));
console.error(this.translate.instant('dhcpServerFetchingError'), err);
this.toastService.error(this.translate.instant('errorLoadingData'));
}
});
}
@ -71,7 +71,7 @@ export class ManageDhcpServerComponent implements OnInit {
if (this.serverId) {
this.http.put(`${this.baseUrl}${this.serverId}`, payload).subscribe({
next: () => {
this.toastService.success(this.translate.instant('servidorDhcpActualizadoCorrectamente'));
this.toastService.success(this.translate.instant('dhcpServerUpdatedSuccessfully'));
this.dialogRef.close(true);
},
error: (error) => {
@ -81,7 +81,7 @@ export class ManageDhcpServerComponent implements OnInit {
} else {
this.http.post(`${this.baseUrl}/dhcp-servers`, payload).subscribe({
next: () => {
this.toastService.success(this.translate.instant('servidorDhcpAnadidoCorrectamente'));
this.toastService.success(this.translate.instant('dhcpServerAddedSuccessfully'));
this.dialogRef.close(true);
},
error: (error) => {

View File

@ -60,12 +60,12 @@ export class OgDhcpSubnetsComponent implements OnInit {
columns = [
{ columnDef: 'id', header: 'id', cell: (subnet: Subnet) => subnet.id },
{ columnDef: 'name', header: 'name', cell: (subnet: Subnet) => subnet.name },
{ columnDef: 'name', header: 'yam', cell: (subnet: Subnet) => subnet.name },
{ columnDef: 'netmask', header: 'netmask', cell: (subnet: Subnet) => subnet.netmask },
{ columnDef: 'ipAddress', header: 'ipAddress', cell: (subnet: Subnet) => subnet.ipAddress },
{ columnDef: 'synchronized', header: 'sincronizado', cell: (subnet: Subnet) => `${subnet.synchronized}` },
{ columnDef: 'serverId', header: 'idServidorDhcp', cell: (subnet: Subnet) => subnet.serverId },
{ columnDef: 'clients', header: 'listaDeClientes', cell: (subnet: Subnet) => `${subnet.clients}` },
{ columnDef: 'synchronized', header: 'synchronized', cell: (subnet: Subnet) => `${subnet.synchronized}` },
{ columnDef: 'serverId', header: 'dhcpServerId', cell: (subnet: Subnet) => subnet.serverId },
{ columnDef: 'clients', header: 'clientList', cell: (subnet: Subnet) => `${subnet.clients}` },
];
private apiUrl: string;
@ -94,7 +94,7 @@ export class OgDhcpSubnetsComponent implements OnInit {
this.serverName = response.name;
},
error: () => {
console.error(this.translate.instant('noSePudoResolverEl'));
console.error(this.translate.instant('couldNotResolve'));
}
});
}
@ -138,11 +138,11 @@ export class OgDhcpSubnetsComponent implements OnInit {
case 'get':
this.http.post(`${this.baseUrl}/og-dhcp/server/${subnet.uuid}/get`, {}).subscribe({
next: () => {
this.toastService.success(this.translate.instant('subredSincronizadaConServidor'));
this.toastService.success(this.translate.instant('subnetSynchronizedWithServer'));
this.loadSubnets()
},
error: (error) => {
console.error(this.translate.instant('errorAlCrearSubredEn'), error);
console.error(this.translate.instant('errorCreatingSubnetOn'), error);
this.toastService.error(error.error['hydra:description']);
}
});
@ -150,11 +150,11 @@ export class OgDhcpSubnetsComponent implements OnInit {
case 'post':
this.http.post(`${this.baseUrl}/og-dhcp/server/${subnet.uuid}/post`, {}).subscribe({
next: () => {
this.toastService.success(this.translate.instant('peticionDeInstalacionEnviada'));
this.toastService.success(this.translate.instant('installationRequestSent'));
this.loadSubnets()
},
error: (error) => {
console.error(this.translate.instant('errorAlCrearSubredEn'), error);
console.error(this.translate.instant('errorCreatingSubnetOn'), error);
this.toastService.error(error.error['hydra:description']);
}
});
@ -162,11 +162,11 @@ export class OgDhcpSubnetsComponent implements OnInit {
case 'put':
this.http.put(`${this.baseUrl}/og-dhcp/server/${subnet.uuid}/put`, {}).subscribe({
next: () => {
this.toastService.success(this.translate.instant('peticionDeActualizacionEnviada'));
this.toastService.success(this.translate.instant('updateRequestSent'));
this.loadSubnets();
},
error: (error) => {
console.error(this.translate.instant('errorAlActualizarLaSubred'), error);
console.error(this.translate.instant('errorUpdatingSubnet'), error);
this.toastService.error(error.error['hydra:description']);
}
});
@ -181,11 +181,11 @@ export class OgDhcpSubnetsComponent implements OnInit {
if (result) {
this.http.delete(`${this.baseUrl}/og-dhcp/server/${subnet.uuid}/delete`, {}).subscribe({
next: () => {
this.toastService.success(this.translate.instant('subredEliminadaExitosamente'));
this.toastService.success(this.translate.instant('subnetSuccessfullyDeleted'));
this.loadSubnets();
},
error: (error) => {
console.error(this.translate.instant('errorAlEliminarLaSubred'), error);
console.error(this.translate.instant('errorDeletingSubnet'), error);
this.toastService.error(error.error['hydra:description']);
}
});
@ -193,7 +193,7 @@ export class OgDhcpSubnetsComponent implements OnInit {
})
break;
default:
console.error(this.translate.instant('accionNoSoportada'), action);
console.error(this.translate.instant('unsupportedAction'), action);
break;
}
}
@ -224,12 +224,12 @@ export class OgDhcpSubnetsComponent implements OnInit {
if (this.serverId) {
return this.http.post<any>(`${this.baseUrl}/dhcp-servers/${this.serverId}/get-collection`, {});
}
return of({message : this.translate.instant('seleccioneUnServidorDhcpPara')});
return of({message : this.translate.instant('selectADhcpServerFor')});
}
syncSubnets(): void {
if (!this.serverId) {
this.toastService.error(this.translate.instant('debeSeleccionarUnServidorDhcp'));
this.toastService.error(this.translate.instant('youMustSelectADhcpServer'));
return;
}
@ -255,7 +255,7 @@ export class OgDhcpSubnetsComponent implements OnInit {
this.loadSubnets();
},
error: (error) => {
console.error(this.translate.instant('errorAlSincronizarSubredes'), error);
console.error(this.translate.instant('errorSyncingSubnets'), error);
this.toastService.error(error.error?.['hydra:description'] || 'Error al sincronizar subredes');
this.loading = false;
}
@ -279,7 +279,7 @@ export class OgDhcpSubnetsComponent implements OnInit {
},
error => {
this.toastService.error(error.error['hydra:description']);
console.error(this.translate.instant('errorAlCargarLaInformacion'), error);
console.error(this.translate.instant('errorLoadingInformation'), error);
this.loading = false;
}
);
@ -309,7 +309,7 @@ export class OgDhcpSubnetsComponent implements OnInit {
if (result) {
this.http.delete(`${this.baseUrl}/og-dhcp/server/${subnet.uuid}/delete-leases`, {}).subscribe({
next: () => {
this.toastService.success(this.translate.instant('leasesDeLaSubredEliminadas'));
this.toastService.success(this.translate.instant('subnetLeasesRemoved'));
},
error: (error) => {
this.toastService.error(error.error?.['hydra:description'] || 'Error al eliminar leases de la subred');

View File

@ -37,11 +37,11 @@ export class ShowClientsComponent implements OnInit {
columns = [
{ columnDef: 'id', header: 'id', cell: (client: Client) => client.id },
{ columnDef: 'status', header: 'estado', cell: (client: Client) => client.status },
{ columnDef: 'name', header: 'name', cell: (client: Client) => client.name },
{ columnDef: 'status', header: 'state', cell: (client: Client) => client.status },
{ columnDef: 'name', header: 'yam', cell: (client: Client) => client.name },
{ columnDef: 'ip', header: 'ip', cell: (client: Client) => client.ip },
{ columnDef: 'mac', header: 'mac', cell: (client: Client) => client.mac },
{ columnDef: 'organizationalUnit', header: 'ruta', cell: (client: Client) => client.organizationalUnit },
{ columnDef: 'organizationalUnit', header: 'route', cell: (client: Client) => client.organizationalUnit },
{ columnDef: 'ogLive', header: 'oglive', cell: (client: Client) => client.ogLive?.date },
];
@ -88,7 +88,7 @@ export class ShowClientsComponent implements OnInit {
if (result) {
this.http.delete(`${this.baseUrl}/og-dhcp/server/${this.data.subnetUuid}/delete-lease/${client.uuid}`, {}).subscribe({
next: () => {
this.toastService.success(this.translate.instant('leaseDelClienteEliminadaCorrectamente'));
this.toastService.success(this.translate.instant('clientLeaseRemovedSuccessfully'));
},
error: (error) => {
this.toastService.error(error.error?.['hydra:description'] || 'Error al eliminar lease del cliente');
@ -108,7 +108,7 @@ export class ShowClientsComponent implements OnInit {
if (result) {
this.http.delete(`${this.baseUrl}/og-dhcp/server/${this.data.subnetUuid}/delete-host/${client.uuid}`, {}).subscribe({
next: () => {
this.toastService.success(this.translate.instant('clienteEliminadoExitosamenteDeLa'));
this.toastService.success(this.translate.instant('clientSuccessfullyRemovedFromThe'));
this.loadData()
},
error: (error) => {

View File

@ -41,7 +41,7 @@ export class SyncSubnetDialogComponent implements OnInit {
this.loading = false;
},
error: (error) => {
this.toastService.error(this.translate.instant('errorCargandoLasUnidadesOrganizativas'));
this.toastService.error(this.translate.instant('errorLoadingOrganizationalUnits'));
this.loading = false;
}
});

View File

@ -50,7 +50,7 @@ export class CreateOperativeSystemComponent {
this.operativeSystemId = response['@id'];
},
error: (err) => {
console.error(this.translate.instant('errorFetchingSoftware'), err);
console.error(this.translate.instant('softwareFetchingError'), err);
}
});
}
@ -70,23 +70,23 @@ export class CreateOperativeSystemComponent {
if (this.operativeSystemId) {
this.http.put(`${this.baseUrl}${this.operativeSystemId}`, payload).subscribe(
(response) => {
this.toastService.success(this.translate.instant('sistemaOperativoEditadoCorrectamente'));
this.toastService.success(this.translate.instant('operatingSystemEditedSuccessfully'));
this.dialogRef.close();
},
(error) => {
this.toastService.error(error['error']['hydra:description']);
console.error(this.translate.instant('errorAlEditarElSistema'), error);
console.error(this.translate.instant('errorEditingSystem'), error);
}
);
} else {
this.http.post(`${this.baseUrl}/operative-systems`, payload).subscribe(
(response) => {
this.toastService.success(this.translate.instant('sistemaOperativoAnadidoCorrectamente'));
this.toastService.success(this.translate.instant('orSAddedSuccessfully'));
this.dialogRef.close();
},
(error) => {
this.toastService.error(error['error']['hydra:description']);
console.error(this.translate.instant('errorAlAnadirSistemaOperativo'), error);
console.error(this.translate.instant('errorAddingOperatingSystem'), error);
}
);
}

View File

@ -41,12 +41,12 @@ export class OperativeSystemComponent {
},
{
columnDef: 'name',
header: 'nombre',
header: 'name',
cell: (operativeSystem: any) => `${operativeSystem.name}`
},
{
columnDef: 'createdAt',
header: 'fechaDeCreacion',
header: 'creationDate',
cell: (operativeSystem: any) => `${this.datePipe.transform(operativeSystem.createdAt, 'dd/MM/yyyy hh:mm:ss')}`,
}
];
@ -84,7 +84,7 @@ export class OperativeSystemComponent {
this.length = data['hydra:totalItems'];
},
(error) => {
console.error(this.translate.instant('errorFetchingCommands'), error);
console.error(this.translate.instant('fetchingCommandsError'), error);
}
);
}
@ -113,10 +113,10 @@ export class OperativeSystemComponent {
this.http.delete(apiUrl).subscribe({
next: () => {
this.search();
this.toastService.success(this.translate.instant('operativeSystemDeleted'));
this.toastService.success(this.translate.instant('operatingSystemDeleted'));
},
error: (error) => {
this.toastService.error(this.translate.instant('errorDeletingOperativeSystem'));
this.toastService.error(this.translate.instant('errorDeletingOperatingSystem'));
}
});
} else {

View File

@ -45,14 +45,14 @@ export class BackupImageComponent implements OnInit {
repoIp: this.form.value.repoIp
}).subscribe({
next: (response) => {
this.toastService.success(this.translate.instant('peticionDeBackupDeImagen'));
this.toastService.success(this.translate.instant('imageBackupRequest'));
this.dialogRef.close();
this.loading = false;
this.router.navigate(['/commands-logs']);
},
error: error => {
this.loading = false;
this.toastService.error(this.translate.instant('errorAlRealizarLaPeticion'));
this.toastService.error(this.translate.instant('errorWhenMakingTheRequest'));
}
});
}

View File

@ -38,7 +38,7 @@ export class ConvertImageToVirtualComponent implements OnInit {
extension: this.extension
}).subscribe({
next: (response) => {
this.toastService.success(this.translate.instant('peticionDeConversionDeImagen'));
this.toastService.success(this.translate.instant('imageConversionRequest'));
this.dialogRef.close(true);
this.loading = false;
this.router.navigate(['/commands-logs']);

View File

@ -40,7 +40,7 @@ export class ConvertImageComponent implements OnInit{
filesystem: this.filesystem
}).subscribe({
next: (response) => {
this.toastService.success(this.translate.instant('peticionDeConversionDeImagen'));
this.toastService.success(this.translate.instant('imageConversionRequest'));
this.dialogRef.close(true);
this.loading = false;
this.router.navigate(['/commands-logs']);

View File

@ -39,7 +39,7 @@ export class ImportImageComponent implements OnInit {
name: this.imageName
}).subscribe({
next: (response) => {
this.toastService.success(this.translate.instant('peticionDeImportacionDeImagen'));
this.toastService.success(this.translate.instant('imageImportRequest'));
this.dialogRef.close(true);
this.loading = false;
this.router.navigate(['/commands-logs']);

View File

@ -56,12 +56,12 @@ export class MainRepositoryViewComponent implements OnInit {
},
{
columnDef: 'name',
header: 'nombreDeImagen',
header: 'imageName',
cell: (image: any) => `${image.name}`
},
{
columnDef: 'imageRepository',
header: 'repositorio',
header: 'repository',
cell: (image: any) => `${image.imageRepository?.name}`
},
{
@ -71,7 +71,7 @@ export class MainRepositoryViewComponent implements OnInit {
},
{
columnDef: 'created',
header: 'creadoEnRepositorio',
header: 'createdInRepository',
cell: (image: any) => `${image.created}`
},
{
@ -81,7 +81,7 @@ export class MainRepositoryViewComponent implements OnInit {
},
{
columnDef: 'createdAt',
header: 'fechaDeCreacion',
header: 'creationDate',
cell: (image: any) => `${this.datePipe.transform(image.createdAt, 'dd/MM/yyyy hh:mm:ss')}`
}
];
@ -123,7 +123,7 @@ export class MainRepositoryViewComponent implements OnInit {
});
},
(error) => {
console.error(this.translate.instant('errorAlCargarLosDatos1'), error);
console.error(this.translate.instant('errorLoadingData1'), error);
}
);
}
@ -138,21 +138,21 @@ export class MainRepositoryViewComponent implements OnInit {
if (this.repositoryId) {
this.http.put(`${this.baseUrl}/image-repositories/${this.repositoryId}`, payload).subscribe(
(response) => {
this.toastService.success(this.translate.instant('imagenEditadaCorrectamente'));
this.toastService.success(this.translate.instant('successfullyEditedImage'));
},
(error) => {
this.toastService.error(error['error']['hydra:description']);
console.error(this.translate.instant('errorAlEditarLaImagen'), error);
console.error(this.translate.instant('errorWhenEditingImage'), error);
}
);
} else {
this.http.post(`${this.baseUrl}/image-repositories`, payload).subscribe(
(response) => {
this.toastService.success(this.translate.instant('imagenAnadidaCorrectamente'));
this.toastService.success(this.translate.instant('imageAddedSuccessfully'));
},
(error) => {
this.toastService.error(error['error']['hydra:description']);
console.error(this.translate.instant('errorAlAnadirLaImagen'), error);
console.error(this.translate.instant('errorAddingImage'), error);
}
);
}
@ -162,7 +162,7 @@ export class MainRepositoryViewComponent implements OnInit {
this.loading = true;
this.http.get<any>(`${this.baseUrl}/image-repositories/server/${this.repositoryId}/status`).subscribe(data => {
if (!data.success) {
this.toastService.error(this.translate.instant('errorAlObtenerElEstado'));
this.toastService.error(this.translate.instant('errorGettingStatus'));
this.loading = false;
this.status = false;
return;
@ -214,11 +214,11 @@ export class MainRepositoryViewComponent implements OnInit {
syncRepository() {
this.http.post(`${this.baseUrl}/image-repositories/server/${this.repositoryId}/sync`, {})
.subscribe(response => {
this.toastService.success(this.translate.instant('sincronizacionCompletada'));
this.toastService.success(this.translate.instant('synchronizationCompleted'));
this.load()
}, error => {
console.error(this.translate.instant('errorAlSincronizar'), error);
this.toastService.error(this.translate.instant('errorAlSincronizar'));
console.error(this.translate.instant('synchronizationError'), error);
this.toastService.error(this.translate.instant('synchronizationError'));
});
}
@ -235,7 +235,7 @@ export class MainRepositoryViewComponent implements OnInit {
});
},
error => {
console.error(this.translate.instant('errorAlCargarLaInformacion'), error);
console.error(this.translate.instant('errorLoadingInformation'), error);
}
);
}

View File

@ -75,7 +75,7 @@ export class ManageRepositoryComponent implements OnInit {
if (this.repositoryId) {
this.http.put(`${this.baseUrl}${this.repositoryId}`, payload).subscribe(
(response) => {
this.toastService.success(this.translate.instant('repositorioEditadaCorrectamente'));
this.toastService.success(this.translate.instant('successfullyEditedRepository'));
this.dialogRef.close(true);
},
(error) => {
@ -85,7 +85,7 @@ export class ManageRepositoryComponent implements OnInit {
} else {
this.http.post(`${this.baseUrl}/image-repositories`, payload).subscribe(
(response) => {
this.toastService.success(this.translate.instant('repositorioAnadidoCorrectamente'));
this.toastService.success(this.translate.instant('repositoryAddedSuccessfully'));
this.dialogRef.close(true);
},
(error) => {

View File

@ -39,7 +39,7 @@ export class RenameImageComponent implements OnInit{
newName: this.name
}).subscribe({
next: (response) => {
this.toastService.success(this.translate.instant('imagenRenombradaCorrectamente'));
this.toastService.success(this.translate.instant('imageRenamedCorrectly'));
this.dialogRef.close(true);
},
error: error => {

View File

@ -39,12 +39,12 @@ export class RepositoriesComponent implements OnInit {
},
{
columnDef: 'name',
header: 'nombreDeRepositorio',
header: 'repositoryName',
cell: (repository: any) => repository.name
},
{
columnDef: 'user',
header: 'usuario',
header: 'user',
cell: (repository: any) => `${repository.user?? 'opengnsys'}`
},
{
@ -54,12 +54,12 @@ export class RepositoriesComponent implements OnInit {
},
{
columnDef: 'images',
header: 'gestionarImagenes',
header: 'manageImages',
cell: (repository: any) => repository.images
},
{
columnDef: 'createdAt',
header: 'fechaDeCreacion',
header: 'creationDate',
cell: (repository: any) => `${this.datePipe.transform(repository.createdAt, 'dd/MM/yyyy hh:mm:ss')}`
}
];
@ -129,11 +129,11 @@ export class RepositoriesComponent implements OnInit {
if (result) {
this.http.delete(`${this.apiUrl}/${command.uuid}`).subscribe({
next: () => {
this.toastService.success(this.translate.instant('imagenEliminadaConExito'));
this.toastService.success(this.translate.instant('imageSuccessfullyDeleted'));
this.search();
},
error: (error) => {
console.error(this.translate.instant('errorAlEliminarLaImagen'), error);
console.error(this.translate.instant('errorDeletingImage'), error);
}
});
}

View File

@ -50,7 +50,7 @@ export class BackupRepositoryModalComponent {
this.http.post(url, payload).subscribe({
next: (response) => {
this.toastService.success(this.translate.instant('backupIniciadoCorrectamente'));
this.toastService.success(this.translate.instant('backupStartedSuccessfully'));
this.dialogRef.close(response);
},
error: (error) => {
@ -59,7 +59,7 @@ export class BackupRepositoryModalComponent {
}
});
} else {
this.toastService.error(this.translate.instant('porFavorCompleteTodosLos1'));
this.toastService.error(this.translate.instant('pleaseCompleteAll1'));
}
}

View File

@ -45,7 +45,7 @@ export class CreateBranchModalComponent {
this.http.post(url, payload).subscribe({
next: (response) => {
this.toastService.success(this.translate.instant('ramaCreadaCorrectamente'));
this.toastService.success(this.translate.instant('branchCreatedSuccessfully'));
this.dialogRef.close(response);
},
error: (error) => {
@ -54,7 +54,7 @@ export class CreateBranchModalComponent {
}
});
} else {
this.toastService.error(this.translate.instant('porFavorCompleteTodosLos'));
this.toastService.error(this.translate.instant('pleaseCompleteAll'));
}
}

View File

@ -47,7 +47,7 @@ export class CreateTagModalComponent {
this.http.post(url, payload).subscribe({
next: (response) => {
this.toastService.success(this.translate.instant('tagCreadoCorrectamente'));
this.toastService.success(this.translate.instant('tagCreatedSuccessfully'));
this.dialogRef.close(response);
},
error: (error) => {
@ -56,7 +56,7 @@ export class CreateTagModalComponent {
}
});
} else {
this.toastService.error(this.translate.instant('porFavorCompleteTodosLos'));
this.toastService.error(this.translate.instant('pleaseCompleteAll'));
}
}

View File

@ -50,22 +50,22 @@ export class ShowGitCommitsComponent implements OnInit{
},
{
columnDef: 'message',
header: 'mensajeDelCommit',
header: 'commitMessage',
cell: (commit: any) => commit.message
},
{
columnDef: 'committed_date',
header: 'fechaDelCommit',
header: 'commitDate',
cell: (commit: any) => `${this.datePipe.transform(commit.committed_date * 1000, 'dd/MM/yyyy hh:mm:ss')}`
},
{
columnDef: 'size',
header: 'tamano',
header: 'size',
cell: (commit: any) => `${commit.size} bytes`
},
{
columnDef: 'stats_total',
header: 'estadisticas',
header: 'statistics',
cell: (commit: any) => {
if (commit.stats_total) {
return `+${commit.stats_total.insertions} -${commit.stats_total.deletions} (${commit.stats_total.files} archivos)`;
@ -113,8 +113,8 @@ export class ShowGitCommitsComponent implements OnInit{
}
},
error => {
console.error(this.translate.instant('errorFetchingRepositories'), error);
this.toastService.error(this.translate.instant('errorAlCargarLosRepositorios'));
console.error(this.translate.instant('fetchingRepositoriesError'), error);
this.toastService.error(this.translate.instant('errorLoadingRepositories'));
this.loadingRepositories = false;
}
);
@ -145,8 +145,8 @@ export class ShowGitCommitsComponent implements OnInit{
}
},
error => {
console.error(this.translate.instant('errorFetchingBranches'), error);
this.toastService.error(this.translate.instant('errorAlCargarLasRamas1'));
console.error(this.translate.instant('fetchingBranchesError'), error);
this.toastService.error(this.translate.instant('errorLoadingBranches1'));
this.loadingBranches = false;
}
);
@ -176,7 +176,7 @@ export class ShowGitCommitsComponent implements OnInit{
},
error => {
console.error(this.translate.instant('errorFetchingCommits'), error);
this.toastService.error(this.translate.instant('errorAlCargarLosCommits'));
this.toastService.error(this.translate.instant('errorLoadingCommits'));
this.loading = false;
}
);
@ -194,7 +194,7 @@ export class ShowGitCommitsComponent implements OnInit{
this.dialog.open(ServerInfoDialogComponent, {
width: '800px',
data: {
title : this.translate.instant('detallesDelCommit'),
title : this.translate.instant('commitDetails'),
content: {
'Commit ID': commit.hexsha,
'Mensaje': commit.message,
@ -210,7 +210,7 @@ export class ShowGitCommitsComponent implements OnInit{
break;
case 'copy-commit-id':
navigator.clipboard.writeText(commit.hexsha).then(() => {
this.toastService.success(this.translate.instant('commitIdCopiadoAlPortapapeles'));
this.toastService.success(this.translate.instant('commitIdCopiedToClipboard'));
});
break;
case 'create-tag':
@ -220,7 +220,7 @@ export class ShowGitCommitsComponent implements OnInit{
this.openCreateBranchDialog(commit);
break;
default:
console.error(this.translate.instant('accionNoSoportada'), action);
console.error(this.translate.instant('unsupportedAction'), action);
break;
}
}
@ -247,7 +247,7 @@ export class ShowGitCommitsComponent implements OnInit{
this.dialog.open(ServerInfoDialogComponent, {
width: '800px',
data: {
title : this.translate.instant('informacionDelRepositorio'),
title : this.translate.instant('repositoryInformation'),
content: {
'Nombre del repositorio': this.selectedRepository || 'No seleccionado',
'UUID del repositorio': this.data.repositoryUuid,
@ -280,7 +280,7 @@ export class ShowGitCommitsComponent implements OnInit{
openBackupDialog() {
if (!this.selectedRepository) {
this.toastService.warning(this.translate.instant('porFavorSeleccionaUnRepositorio'));
this.toastService.warning(this.translate.instant('pleaseSelectARepository'));
return;
}
@ -294,7 +294,7 @@ export class ShowGitCommitsComponent implements OnInit{
dialogRef.afterClosed().subscribe(result => {
if (result) {
this.toastService.success(this.translate.instant('backupIniciadoCorrectamente'));
this.toastService.success(this.translate.instant('backupStartedSuccessfully'));
}
});
}
@ -323,7 +323,7 @@ export class ShowGitCommitsComponent implements OnInit{
deleteRepository(): void {
if (!this.selectedRepository) {
this.toastService.warning(this.translate.instant('porFavorSeleccionaUnRepositorio'));
this.toastService.warning(this.translate.instant('pleaseSelectARepository'));
return;
}
@ -331,8 +331,8 @@ export class ShowGitCommitsComponent implements OnInit{
width: '400px',
data: {
name: this.selectedRepository,
title : this.translate.instant('eliminarRepositorio'),
message : this.translate.instant('estasSeguroQueDeseasEliminar'),
title : this.translate.instant('deleteRepository'),
message : this.translate.instant('areYouSureYouWantToDelete'),
confirmText: 'Eliminar',
cancelText: 'Cancelar'
}
@ -343,12 +343,12 @@ export class ShowGitCommitsComponent implements OnInit{
const payload = { repositoryName: this.selectedRepository };
this.http.post(`${this.baseUrl}/image-repositories/server/git/${this.data.repositoryUuid}/delete`, payload).subscribe({
next: () => {
this.toastService.success(this.translate.instant('repositorioEliminadoConExito'));
this.toastService.success(this.translate.instant('repositoryDeletedSuccessfully'));
this.dialogRef.close(true);
},
error: (error) => {
console.error(this.translate.instant('errorAlEliminarElRepositorio1'), error);
this.toastService.error(this.translate.instant('errorAlEliminarElRepositorio'));
console.error(this.translate.instant('errorDeletingRepository1'), error);
this.toastService.error(this.translate.instant('errorDeletingRepository'));
}
});
}

View File

@ -46,7 +46,7 @@ export class ShowMonoliticImagesComponent implements OnInit {
},
{
columnDef: 'name',
header: 'nombreDeImagen',
header: 'imageName',
cell: (image: any) => image.name
},
{
@ -56,27 +56,27 @@ export class ShowMonoliticImagesComponent implements OnInit {
},
{
columnDef: 'isGlobal',
header: 'imagenGlobal1',
header: 'globalImage1',
cell: (image: any) => image.image?.isGlobal
},
{
columnDef: 'status',
header: 'estado',
header: 'state',
cell: (image: any) => image.status
},
{
columnDef: 'datasize',
header: 'tamano',
header: 'size',
cell: (image: any) => this.formatSize(image.datasize)
},
{
columnDef: 'description',
header: 'descripcion',
header: 'description',
cell: (image: any) => image.description
},
{
columnDef: 'createdAt',
header: 'fechaDeCreacion',
header: 'creationDate',
cell: (image: any) => `${this.datePipe.transform(image.createdAt, 'dd/MM/yyyy hh:mm:ss')}`
}
];
@ -206,7 +206,7 @@ export class ShowMonoliticImagesComponent implements OnInit {
case 'get-aux':
this.http.post(`${this.baseUrl}/image-image-repositories/server/${image.uuid}/create-aux-files`, {}).subscribe({
next: (message) => {
this.toastService.success(this.translate.instant('peticionDeCreacionDeArchivos'));
this.toastService.success(this.translate.instant('fileCreationRequest'));
this.loadData()
},
error: (error) => {
@ -237,7 +237,7 @@ export class ShowMonoliticImagesComponent implements OnInit {
{ repository: `/image-repositories/${this.data.repositoryUuid}` })
.subscribe({
next: () => {
this.toastService.success(this.translate.instant('peticionDeEliminacionDeLa'));
this.toastService.success(this.translate.instant('requestForRemovalOf'));
this.loadData()
},
error: (error) => {
@ -255,7 +255,7 @@ export class ShowMonoliticImagesComponent implements OnInit {
if (result) {
this.http.post(`${this.baseUrl}/image-image-repositories/server/${image.uuid}/delete-permanent`, {}).subscribe({
next: () => {
this.toastService.success(this.translate.instant('peticionDeEliminacionDeLa'));
this.toastService.success(this.translate.instant('requestForRemovalOf'));
this.loadData()
},
error: (error) => {
@ -280,7 +280,7 @@ export class ShowMonoliticImagesComponent implements OnInit {
case 'recover':
this.http.post(`${this.baseUrl}/image-image-repositories/server/${image.uuid}/recover`, {}).subscribe({
next: () => {
this.toastService.success(this.translate.instant('peticionDeRecuperacionDeLa'));
this.toastService.success(this.translate.instant('requestForRecoveryOf'));
this.loadData()
},
error: (error) => {
@ -319,13 +319,13 @@ export class ShowMonoliticImagesComponent implements OnInit {
this.http.post<any>(`${this.baseUrl}/image-image-repositories/server/${image.uuid}/transfer-global`, {
}).subscribe({
next: (response) => {
this.toastService.success(this.translate.instant('peticionDeExportacionDeImagen'));
this.toastService.success(this.translate.instant('imageExportRequest'));
this.loading = false;
this.router.navigate(['/commands-logs']);
},
error: error => {
this.loading = false;
this.toastService.error(this.translate.instant('errorEnLaPeticionDe'));
this.toastService.error(this.translate.instant('errorInTheRequest'));
}
});
break;
@ -376,7 +376,7 @@ export class ShowMonoliticImagesComponent implements OnInit {
});
break;
default:
console.error(this.translate.instant('accionNoSoportada'), action);
console.error(this.translate.instant('unsupportedAction'), action);
break;
}
}
@ -405,11 +405,11 @@ export class ShowMonoliticImagesComponent implements OnInit {
syncRepository() {
this.http.post(`${this.baseUrl}/image-repositories/server/${this.data.repositoryUuid}/sync`, {})
.subscribe(response => {
this.toastService.success(this.translate.instant('sincronizacionCompletada'));
this.toastService.success(this.translate.instant('synchronizationCompleted'));
this.loadData()
}, error => {
console.error(this.translate.instant('errorAlSincronizar'), error);
this.toastService.error(this.translate.instant('errorAlSincronizar'));
console.error(this.translate.instant('synchronizationError'), error);
this.toastService.error(this.translate.instant('synchronizationError'));
});
}
@ -426,7 +426,7 @@ export class ShowMonoliticImagesComponent implements OnInit {
this.loading = false;
},
error => {
console.error(this.translate.instant('errorAlCargarLaInformacion'), error);
console.error(this.translate.instant('errorLoadingInformation'), error);
this.toastService.error(error.error['hydra:description']);
this.loading = false;
}

View File

@ -82,7 +82,7 @@ export class CreateSoftwareProfileComponent implements OnInit {
this.softwareCollection = response['hydra:member'];
},
error => {
console.error(this.translate.instant('errorFetchingSoftware'), error);
console.error(this.translate.instant('softwareFetchingError'), error);
}
);
}
@ -104,7 +104,7 @@ export class CreateSoftwareProfileComponent implements OnInit {
this.operativeSystems = response['hydra:member'];
},
error => {
console.error(this.translate.instant('errorFetchingOperativeSystems'), error);
console.error(this.translate.instant('errorFetchingOperatingSystems'), error);
}
);
}
@ -155,23 +155,23 @@ export class CreateSoftwareProfileComponent implements OnInit {
if (this.softwareProfileId) {
this.http.put(`${this.baseUrl}${this.softwareProfileId}`, payload).subscribe(
() => {
this.toastService.success(this.translate.instant('softwareEditadoCorrectamente'));
this.toastService.success(this.translate.instant('successfullyEditedSoftware'));
this.dialogRef.close();
},
(error) => {
this.toastService.error(error.error['hydra:description']);
console.error(this.translate.instant('errorAlEditarElSoftware'), error);
console.error(this.translate.instant('errorWhenEditingTheSoftware'), error);
}
);
} else {
this.http.post(`${this.apiUrl}`, payload).subscribe(
() => {
this.toastService.success(this.translate.instant('softwareAnadidoCorrectamente'));
this.toastService.success(this.translate.instant('softwareAddedSuccessfully'));
this.dialogRef.close();
},
(error) => {
this.toastService.error(error.error['hydra:description']);
console.error(this.translate.instant('errorAlAnadirSoftware'), error);
console.error(this.translate.instant('errorAddingSoftware'), error);
}
);
}

View File

@ -48,7 +48,7 @@ export class DataService {
}
}),
catchError(error => {
console.error(this.translate.instant('errorFetchingCalendar'), error);
console.error(this.translate.instant('fetchingCalendarError'), error);
return throwError(error);
})
);

View File

@ -41,17 +41,17 @@ export class SoftwareProfileComponent {
},
{
columnDef: 'description',
header: 'descripcion',
header: 'description',
cell: (software: any) => software.description
},
{
columnDef: 'operativeSystem',
header: 'sistemaOperativo',
header: 'operatingSystem',
cell: (software: any) => software.operativeSystem?.name
},
{
columnDef: 'createdAt',
header: 'fechaDeCreacion',
header: 'creationDate',
cell: (software: any) => `${this.datePipe.transform(software.createdAt, 'dd/MM/yyyy hh:mm:ss')}`,
}
];
@ -90,7 +90,7 @@ export class SoftwareProfileComponent {
this.length = data['hydra:totalItems'];
},
(error) => {
console.error(this.translate.instant('errorFetchingCommands'), error);
console.error(this.translate.instant('fetchingCommandsError'), error);
}
);
}

View File

@ -56,7 +56,7 @@ export class CreateSoftwareComponent {
this.softwareId = response['@id'];
},
error: (err) => {
console.error(this.translate.instant('errorFetchingSoftware'), err);
console.error(this.translate.instant('softwareFetchingError'), err);
}
});
}
@ -78,23 +78,23 @@ export class CreateSoftwareComponent {
if (this.softwareId) {
this.http.put(`${this.baseUrl}${this.softwareId}`, payload).subscribe(
(response) => {
this.toastService.success(this.translate.instant('softwareEditadoCorrectamente'));
this.toastService.success(this.translate.instant('successfullyEditedSoftware'));
this.dialogRef.close();
},
(error) => {
this.toastService.error(error['error']['hydra:description']);
console.error(this.translate.instant('errorAlEditarElComando'), error);
console.error(this.translate.instant('errorEditingCommand'), error);
}
);
} else {
this.http.post(`${this.baseUrl}/software`, payload).subscribe(
(response) => {
this.toastService.success(this.translate.instant('softwareAnadidoCorrectamente'));
this.toastService.success(this.translate.instant('softwareAddedSuccessfully'));
this.dialogRef.close();
},
(error) => {
this.toastService.error(error['error']['hydra:description']);
console.error(this.translate.instant('errorAlAnadirComando'), error);
console.error(this.translate.instant('errorWhenAddingCommand'), error);
}
);
}

View File

@ -47,7 +47,7 @@ export class DataService {
}
}),
catchError(error => {
console.error(this.translate.instant('errorFetchingCalendar'), error);
console.error(this.translate.instant('fetchingCalendarError'), error);
return throwError(error);
})
);

View File

@ -41,17 +41,17 @@ export class SoftwareComponent {
},
{
columnDef: 'name',
header: 'nombre',
header: 'name',
cell: (software: any) => software.name
},
{
columnDef: 'type',
header: 'tipo',
header: 'type',
cell: (software: any) => software.type
},
{
columnDef: 'createdAt',
header: 'fechaDeCreacion',
header: 'creationDate',
cell: (software: any) => `${this.datePipe.transform(software.createdAt, 'dd/MM/yyyy hh:mm:ss')}`,
}
];
@ -90,7 +90,7 @@ export class SoftwareComponent {
this.length = data['hydra:totalItems'];
},
(error) => {
console.error(this.translate.instant('errorFetchingCommands'), error);
console.error(this.translate.instant('fetchingCommandsError'), error);
}
);
}

View File

@ -42,22 +42,22 @@ export class ClientPendingTasksComponent implements OnInit {
},
{
columnDef: 'command',
header: 'comando',
header: 'command',
cell: (trace: any) => trace.command
},
{
columnDef: 'status',
header: 'estado',
header: 'state',
cell: (trace: any) => trace.status
},
{
columnDef: 'executedAt',
header: 'ejecucion',
header: 'execution',
cell: (trace: any) => this.datePipe.transform(trace.executedAt, 'dd/MM/yyyy hh:mm:ss'),
},
{
columnDef: 'finishedAt',
header: 'finalizacion',
header: 'ending',
cell: (trace: any) => this.datePipe.transform(trace.finishedAt, 'dd/MM/yyyy hh:mm:ss'),
},
];
@ -91,7 +91,7 @@ export class ClientPendingTasksComponent implements OnInit {
if (this.data.isOrganizationalUnit) {
this.columns.splice(2, 0, {
columnDef: 'client',
header: 'cliente',
header: 'customer',
cell: (trace: any) => trace.client?.name || 'N/A'
});
this.displayedColumns = [...this.columns.map(column => column.columnDef), 'information'];
@ -194,7 +194,7 @@ export class ClientPendingTasksComponent implements OnInit {
cancelTrace(trace: any): void {
if (trace.status !== 'pending' && trace.status !== 'in-progress') {
this.toastService.warning(this.translate.instant('soloSePuedenCancelarTrazas'), 'Advertencia');
this.toastService.warning(this.translate.instant('onlyTracesCanBeCanceled'), 'Advertencia');
return;
}
@ -208,23 +208,23 @@ export class ClientPendingTasksComponent implements OnInit {
jobId: trace.jobId
}).subscribe({
next: () => {
this.toastService.success(this.translate.instant('tareaCanceladaCorrectamente'));
this.toastService.success(this.translate.instant('taskCanceledSuccessfully'));
this.loadTraces();
},
error: (error) => {
this.toastService.error(error.error['hydra:description'] || 'Error al cancelar la tarea');
console.error(this.translate.instant('errorCancellingInprogressTrace'), error);
console.error(this.translate.instant('errorCancelingInprogressTrace'), error);
}
});
} else {
this.http.post(`${this.baseUrl}/traces/server/${trace.uuid}/cancel`, {}).subscribe({
next: () => {
this.toastService.success(this.translate.instant('tareaCanceladaCorrectamente'));
this.toastService.success(this.translate.instant('taskCanceledSuccessfully'));
this.loadTraces();
},
error: (error) => {
this.toastService.error(error.error['hydra:description'] || 'Error al cancelar la tarea');
console.error(this.translate.instant('errorCancellingPendingTrace'), error);
console.error(this.translate.instant('errorCancelingPendingTrace'), error);
}
});
}
@ -291,7 +291,7 @@ export class ClientPendingTasksComponent implements OnInit {
clearAllActions(): void {
if (this.traces.length === 0) {
this.toastService.warning(this.translate.instant('noHayAccionesParaLimpiar'));
this.toastService.warning(this.translate.instant('noActionsToClean'));
return;
}
@ -300,7 +300,7 @@ export class ClientPendingTasksComponent implements OnInit {
width: '400px',
data: {
name: `Todas las acciones mostradas (${this.traces.length} acciones)`,
message : this.translate.instant('estasSeguroDeQueQuieres')
message : this.translate.instant('areYouSureYouWant')
},
}).afterClosed().subscribe((result) => {
if (result) {
@ -317,8 +317,8 @@ export class ClientPendingTasksComponent implements OnInit {
this.loadTraces(); // Recargar las trazas
},
error: (error) => {
console.error(this.translate.instant('errorAlCancelarLasAcciones1'), error);
this.toastService.error(this.translate.instant('errorAlCancelarLasAcciones'));
console.error(this.translate.instant('errorCancelingActions1'), error);
this.toastService.error(this.translate.instant('errorCancelingActions'));
this.loadTraces(); // Recargar las trazas para mostrar el estado actual
},
complete: () => {

View File

@ -54,22 +54,22 @@ export class ClientTaskLogsComponent implements OnInit {
},
{
columnDef: 'command',
header: 'comando',
header: 'command',
cell: (trace: any) => trace.command
},
{
columnDef: 'status',
header: 'estado',
header: 'state',
cell: (trace: any) => trace.status
},
{
columnDef: 'executedAt',
header: 'ejecucion',
header: 'execution',
cell: (trace: any) => this.datePipe.transform(trace.executedAt, 'dd/MM/yyyy hh:mm:ss'),
},
{
columnDef: 'finishedAt',
header: 'finalizacion',
header: 'ending',
cell: (trace: any) => this.datePipe.transform(trace.finishedAt, 'dd/MM/yyyy hh:mm:ss'),
},
];
@ -156,7 +156,7 @@ export class ClientTaskLogsComponent implements OnInit {
}
if (start && end && start > end) {
this.toastService.warning(this.translate.instant('laFechaDeInicioNo'));
this.toastService.warning(this.translate.instant('theStartDateIsNot'));
return;
}
this.loadTraces();
@ -179,7 +179,7 @@ export class ClientTaskLogsComponent implements OnInit {
cancelTrace(trace: any): void {
if (trace.status !== 'pending' && trace.status !== 'in-progress') {
this.toastService.warning(this.translate.instant('soloSePuedenCancelarTrazas'), 'Advertencia');
this.toastService.warning(this.translate.instant('onlyTracesCanBeCanceled'), 'Advertencia');
return;
}
@ -193,23 +193,23 @@ export class ClientTaskLogsComponent implements OnInit {
job_id: trace.jobId
}).subscribe({
next: () => {
this.toastService.success(this.translate.instant('tareaCanceladaCorrectamente'));
this.toastService.success(this.translate.instant('taskCanceledSuccessfully'));
this.loadTraces();
},
error: (error) => {
this.toastService.error(error.error['hydra:description'] || 'Error al cancelar la tarea');
console.error(this.translate.instant('errorCancellingInprogressTrace'), error);
console.error(this.translate.instant('errorCancelingInprogressTrace'), error);
}
});
} else {
this.http.post(`${this.baseUrl}/traces/server/${trace.uuid}/cancel`, {}).subscribe({
next: () => {
this.toastService.success(this.translate.instant('tareaCanceladaCorrectamente'));
this.toastService.success(this.translate.instant('taskCanceledSuccessfully'));
this.loadTraces();
},
error: (error) => {
this.toastService.error(error.error['hydra:description'] || 'Error al cancelar la tarea');
console.error(this.translate.instant('errorCancellingPendingTrace'), error);
console.error(this.translate.instant('errorCancelingPendingTrace'), error);
}
});
}
@ -262,7 +262,7 @@ export class ClientTaskLogsComponent implements OnInit {
this.loading = false;
},
error => {
console.error(this.translate.instant('errorFetchingCommands1'), error);
console.error(this.translate.instant('fetchingCommands1Error'), error);
this.loading = false;
}
);

View File

@ -82,31 +82,31 @@ export class TaskLogsComponent implements OnInit, OnDestroy {
},
{
columnDef: 'command',
header: 'comando',
header: 'command',
cell: (trace: any) => trace.command,
sortable: true
},
{
columnDef: 'client',
header: 'cliente',
header: 'customer',
cell: (trace: any) => trace.client?.name,
sortable: true
},
{
columnDef: 'status',
header: 'estado',
header: 'state',
cell: (trace: any) => trace.status,
sortable: true
},
{
columnDef: 'executedAt',
header: 'ejecucion',
header: 'execution',
cell: (trace: any) => this.datePipe.transform(trace.executedAt, 'dd/MM/yyyy hh:mm:ss'),
sortable: true
},
{
columnDef: 'finishedAt',
header: 'finalizacion',
header: 'ending',
cell: (trace: any) => this.datePipe.transform(trace.finishedAt, 'dd/MM/yyyy hh:mm:ss'),
sortable: true
},
@ -172,7 +172,7 @@ export class TaskLogsComponent implements OnInit, OnDestroy {
refreshData(): void {
this.loadTraces();
this.toastService.success(this.translate.instant('datosActualizados'), 'Éxito');
this.toastService.success(this.translate.instant('updatedData'), 'Éxito');
}
selectTrace(trace: any): void {
@ -277,19 +277,19 @@ export class TaskLogsComponent implements OnInit, OnDestroy {
link.click();
document.body.removeChild(link);
this.toastService.success(this.translate.instant('archivoCsvExportadoCorrectamente'), 'Éxito');
this.toastService.success(this.translate.instant('csvFileExportedSuccessfully'), 'Éxito');
}
cancelTrace(trace: any): void {
if (trace.status !== 'pending' && trace.status !== 'in-progress') {
this.toastService.warning(this.translate.instant('soloSePuedenCancelarTrazas'), 'Advertencia');
this.toastService.warning(this.translate.instant('onlyTracesCanBeCanceled'), 'Advertencia');
return;
}
const dialogRef = this.dialog.open(DeleteModalComponent, {
width: '400px',
data: {
title : this.translate.instant('cancelarTraza'),
title : this.translate.instant('cancelTrace'),
message: `¿Estás seguro de que quieres cancelar la traza #${trace.id}?`,
confirmText: 'Cancelar',
cancelText: 'No cancelar'
@ -303,24 +303,24 @@ export class TaskLogsComponent implements OnInit, OnDestroy {
jobId: trace.jobId
}).subscribe(
() => {
this.toastService.success(this.translate.instant('trazaCanceladaCorrectamente'), 'Éxito');
this.toastService.success(this.translate.instant('traceCanceledSuccessfully'), 'Éxito');
this.loadTraces();
this.loadTotalStats();
},
(error) => {
this.toastService.error(this.translate.instant('errorAlCancelarLaTraza'), 'Error');
this.toastService.error(this.translate.instant('errorCancelingTrace'), 'Error');
}
);
} else {
this.http.post(`${this.baseUrl}/traces/cancel-multiple`, {traces: [trace['@id']]}).subscribe(
() => {
this.toastService.success(this.translate.instant('trazaCanceladaCorrectamente'), 'Éxito');
this.toastService.success(this.translate.instant('traceCanceledSuccessfully'), 'Éxito');
this.loadTraces();
this.loadTotalStats();
},
(error) => {
console.error(this.translate.instant('errorCancellingPendingTrace'), error);
this.toastService.error(this.translate.instant('errorAlCancelarLaTraza'), 'Error');
console.error(this.translate.instant('errorCancelingPendingTrace'), error);
this.toastService.error(this.translate.instant('errorCancelingTrace'), 'Error');
}
);
}
@ -330,14 +330,14 @@ export class TaskLogsComponent implements OnInit, OnDestroy {
markTraceAsSuccess(trace: any): void {
if (trace.status !== 'in-progress') {
this.toastService.warning(this.translate.instant('soloSePuedenMarcarComo'), 'Advertencia');
this.toastService.warning(this.translate.instant('canOnlyBeMarkedAs'), 'Advertencia');
return;
}
const dialogRef = this.dialog.open(DeleteModalComponent, {
width: '400px',
data: {
title : this.translate.instant('marcarTrazaComoExitosa'),
title : this.translate.instant('markTraceAsSuccessful'),
message: `¿Estás seguro de que quieres marcar la traza #${trace.id} como exitosa?`,
confirmText: 'Marcar como Exitosa',
cancelText: 'Cancelar'
@ -349,13 +349,13 @@ export class TaskLogsComponent implements OnInit, OnDestroy {
this.loading = true;
this.http.post(`${this.baseUrl}${trace['@id']}/mark-as-success`, {}).subscribe(
() => {
this.toastService.success(this.translate.instant('trazaMarcadaComoExitosaCorrectamente'), 'Éxito');
this.toastService.success(this.translate.instant('traceMarkedAsSuccessfulCorrectly'), 'Éxito');
this.loadTraces();
this.loadTotalStats();
},
(error) => {
console.error(this.translate.instant('errorMarkingTraceAsSuccess'), error);
this.toastService.error(this.translate.instant('errorAlMarcarLaTraza'), 'Error');
this.toastService.error(this.translate.instant('errorWhenMarkingTheTrace'), 'Error');
this.loading = false;
}
);
@ -440,7 +440,7 @@ export class TaskLogsComponent implements OnInit, OnDestroy {
`);
}
} else {
this.toastService.error(this.translate.instant('noSePuedeAccederA'), 'Error');
this.toastService.error(this.translate.instant('cannotAccess'), 'Error');
}
}
@ -491,7 +491,7 @@ export class TaskLogsComponent implements OnInit, OnDestroy {
this.loading = false;
},
error => {
console.error(this.translate.instant('errorFetchingCommands1'), error);
console.error(this.translate.instant('fetchingCommands1Error'), error);
this.loading = false;
}
);
@ -505,7 +505,7 @@ export class TaskLogsComponent implements OnInit, OnDestroy {
this.loading = false;
},
error => {
console.error(this.translate.instant('errorFetchingClients1'), error);
console.error(this.translate.instant('fetchingClients1Error'), error);
this.loading = false;
}
);
@ -598,7 +598,7 @@ export class TaskLogsComponent implements OnInit, OnDestroy {
}
if (start && end && start > end) {
this.toastService.warning(this.translate.instant('laFechaDeInicioNo'));
this.toastService.warning(this.translate.instant('theStartDateIsNot'));
return;
}
this.loadTraces();

View File

@ -36,7 +36,7 @@ export class AuthService {
try {
this.tokenPayload = jwtDecode<JwtPayload>(token);
} catch (e) {
console.error(this.translate.instant('errorDecodingJwt'), e);
console.error(this.translate.instant('jwtDecodingError'), e);
this.tokenPayload = null;
}
}

View File

@ -45,7 +45,7 @@
"labelRoleName": "Name",
"sectionTitlePermissions": "Permissions:",
"checkboxSuperAdmin": "Super Admin",
"parameters": "Parameters",
"parameters": "Parámetros",
"runScripts": "Run scripts",
"checkboxOrgAdmin": "Organizational Unit Admin",
"checkboxOrgOperator": "Organizational Unit Operator",
@ -83,9 +83,9 @@
"viewCommands": "View commands",
"paginationStepText": "Navigate through pages using the paginator.",
"commandGroupDetailsTitle": "Command Group Details",
"createdBy": "Created by",
"createdBy": "Created por",
"groupId": "Group ID",
"creationDate": "Creation Date",
"creationDate": "Date de creación",
"includedCommands": "Included Commands",
"nameColumn": "Name",
"selectClients": "Select clients:",
@ -447,7 +447,7 @@
"rebootDevice": "Reboot",
"loginSession": "Login",
"executionOrder": "Execution order",
"runScript": "Run Script",
"runScript": "Ejecutar script",
"runCustomScript": "Run a custom script or create a new one",
"newScript": "New Script",
"savedScript": "Saved Script",
@ -464,13 +464,13 @@
"taskSchedule": "Task Schedule",
"repetition": "Repetition",
"executionDate": "Execution date",
"executionTime": "Execution time",
"executionTime": "Time de ejecución",
"timeFormatHint": "Time in 24h format (e.g. 14:30)",
"weekDaysLabel": "Days of the week",
"monthsLabel": "Months",
"enableSchedule": "Enable schedule",
"scheduleSummaryTitle": "Schedule Summary",
"nextExecution": "Next execution",
"nextExecution": "Próxima ejecución",
"willExecuteTimes": "Will execute {{count}} times",
"notCalculated": "Not calculated",
"notDefined": "Not defined",
@ -549,7 +549,7 @@
"clients": "Clients",
"sync": "Sync",
"viewDetails": "View details",
"name": "Name",
"yam": "Name",
"maintenance": "Maintenance",
"subnet": "Subnet",
"parent": "Parent",
@ -564,7 +564,7 @@
"CpuUsage": "CPU Usage",
"processes": "Processes",
"usedPercentageLabel": "Used",
"errorLoadingData": "Error loading data:",
"errorLoadingData": "Error cargando the data del server",
"repository": "Repository",
"addRepository": "Add repository",
"addRepositoryStepText": "Click to add a new repository.",
@ -640,7 +640,7 @@
"viewInput": "View input",
"viewOutput": "View output",
"deleteTrace": "Delete trace",
"cancelTrace": "Cancel trace",
"cancelTrace": "Cancelling Trace",
"enterClientName": "Please enter the client name",
"organizationalUnits": "Organizational Units",
"totalEquipments": "Total Equipment",
@ -670,7 +670,7 @@
"TOOLTIP_HARDWARE_TYPES": "Manage hardware types",
"manageHardwareProfiles": "Manage hardware profiles",
"manageHardwareTypes": "Manage hardware types",
"resolution": "Resolution",
"resolution": "Resolución",
"resolutionError": "Resolution is required",
"resolutionLabel": "Select resolution",
"catImageOps": "Image operations",
@ -681,8 +681,8 @@
"catSystemControlDesc": "Power on, shut down, reboot or log in",
"catCustomScript": "Custom script",
"catCustomScriptDesc": "Run a new or saved script",
"createImage": "Create image",
"partitionAndFormat": "Partition and format",
"createImage": "Creating image",
"partitionAndFormat": "Particionar y formatear",
"backToCategories": "Back to categories",
"systemActionHint": "This action will be executed directly on the devices assigned to the task. No additional configuration is needed.",
"assistantRequiredTitle": "Use the assistant from the device view",
@ -775,7 +775,7 @@
"clearTreeSearch": "Clear tree search",
"labelClient": "Client:",
"labelClients": "Clients",
"clientsPerPage": "Clients per page",
"clientsPerPage": "Clientes por página",
"commandComments": "Command comments",
"commitId": "Commit ID",
"commitIdLabel": "Commit ID:",
@ -1033,7 +1033,7 @@
"markClientModelInstruction": "You can check or uncheck a client by clicking on the computer area. Also, select the 'Model' equipment.",
"markClientModelInstruction2": "You can check or uncheck a client by clicking on the computer area. Also, select the 'Model' equipment.",
"labelPort": "Port",
"apiPort": "API Port",
"apiPort": "Puerto API",
"pxePortTftp": "PXE Port (TFTP)",
"sshPort": "SSH Port",
"sshServerPortHint": "SSH server port (default: 22)",
@ -1112,7 +1112,7 @@
"syncDatabase": "Synchronize database",
"syncServer": "Synchronize server",
"syncAll": "Synchronize all",
"fileSystem": "File system",
"fileSystem": "System de ficheros",
"fileSystemAlt": "File system",
"operativeSystem": "Operative system",
"onlySubnets": "Only Subnets",
@ -1131,7 +1131,7 @@
"maxWaitTime": "Max. wait time",
"labelType": "Type",
"imageType": "Image type",
"partitionType": "Partition type",
"partitionType": "Type de partición",
"labelTotal": "Total",
"labelTotalColon": "Total:",
"transferImage": "Transfer image",
@ -1139,7 +1139,7 @@
"statusTransferring": "Transferring",
"labelUuid": "UUID",
"organizationalUnitOptional": "Organizational Unit (Optional)",
"publicUrl": "Public Url",
"publicUrl": "Url pública",
"labelUsed": "Used",
"currentUsage": "Current usage",
"cpuUsage": "CPU Usage",
@ -1191,220 +1191,199 @@
"saveFiltersDialogWorks": "save-filters-dialog works!",
"showDetailsWorks": "show-details works!",
"queueActionsForFailedPcs": "Do you want to queue actions for PCs that cannot execute?",
"errorAlActualizarCliente": "Error al updating client:",
"accionNoSoportada": "Acción not soportada:",
"archivoCsvExportadoCorrectamente": "File CSV exportado successfully",
"archivoCargadoCorrectamenteLosDatos": "File cargado , the data están listos para enviarse. successfully",
"asistenteDeParticionado": "Asistente de particionado",
"backupIniciadoCorrectamente": "Backup started successfully",
"errorUpdatingClient": "Error al updating the client:",
"unsupportedAction": "Acción not soportada:",
"csvFileExportedSuccessfully": "File CSV exportado successfully",
"fileSuccessfullyUploadedData": "File cargado , the data están listos para enviarse. successfully",
"partitioningAssistant": "Asistente de particionado",
"backupStartedSuccessfully": "Backup started successfully",
"calendarCreatedSuccessfully": "Calendar created successfully",
"calendarDeletedSuccessfully": "Calendar deleted successfully",
"calendarRuleCreatedSuccessfully": "Calendar rule created successfully",
"calendarRuleUpdatedSuccessfully": "Calendar rule updated successfully",
"calendarUpdatedSuccessfully": "Calendar updated successfully",
"calendariosSincronizadosCorrectamente": "Calendarios sincronizados successfully",
"cancelarTraza": "Cancelling Trace",
"cliente": "Client",
"clienteActualizadoCorrectamente": "Client updated successfully",
"clienteActualizadoExitosamente": "Client updated successfully",
"clienteActualizado": "Client updated!",
"clienteCreadoExitosamente": "Client created successfully",
"clienteEliminadoExitosamenteDeLa": "Client deleted de the network successfully",
"clientesPorPagina": "Clientes por página",
"comando": "Command",
"comandoAnadidoCorrectamente": "Command añadido successfully",
"comandoEditado": "Command edited",
"comandoEditadoCorrectamente": "Command edited successfully",
"comandoEjecutadoConExito": "Command executed con éxito",
"comandoEliminadoConExito": "Command deleted con éxito",
"commitIdCopiadoAlPortapapeles": "Commit ID copiado al portapapeles",
"configuracionDeRedActualizadaExitosamente": "Configuración de network actualizada successfully",
"configuracionDeRedAnadidaExitosamente": "Configuración de network añadida successfully",
"confirmarMigracionDeServidores": "Confirmar migración de servidores",
"contenido": "Contenido",
"contrasenaCambiadaConExito": "Contraseña cambiada con éxito",
"creadoEnRepositorio": "Created en repository",
"creadoExitosamente": "Created successfully",
"creadoPor": "Created por",
"crearImagen": "Creating image",
"codigo": "Código",
"datosActualizados": "Data actualizados",
"datosActualizadosCorrectamente": "Data actualizados successfully",
"datosCargadosCorrectamenteLosDatos": "Data cargados , the data están listos para enviarse. successfully",
"debeEspecificarFechaDeInicio": "Must especificar date de inicio y date de fin",
"debeIngresarUnScript": "Must ingresar a script",
"debeIngresarUnScriptAntes": "Must ingresar a script antes de saving.",
"debeSeleccionarAlMenosUn": "Must select al menos a client",
"debeSeleccionarAlMenosUn1": "Must select al menos a día de the semana",
"debeSeleccionarAlMenosUn2": "Must select al menos a mes",
"debeSeleccionarUnCommit": "Must select a commit",
"debeSeleccionarUnMetodo": "Must select a método",
"debeSeleccionarUnRepositorioPrimero": "Must select a repository primero",
"debeSeleccionarUnScript": "Must select a script",
"debeSeleccionarUnServidorDhcp": "Must select a server DHCP para sincronizar",
"debeSeleccionarUnaImagen": "Must select a image",
"debeSeleccionarUnaParticion": "Must select a partición",
"debeSeleccionarUnaUnidadOrganizativa": "Must select a unidad organizativa",
"debesIntroducirUnNombreCanonico": "Debes introducir a name canónico para the image",
"debesIntroducirUnOrdenDe": "Debes introducir a orden de ejecución válido (mayor que 0).",
"debesSeleccionarUnaImagenPara": "Debes select a image para updating",
"debesSeleccionarUnaParticion": "Debes select a partición",
"debesSeleccionarUnaTareaExistente": "Debes select a task existente.",
"descripcion": "Descripción",
"desplegarImagen": "Desplegar image",
"detallesDelCommit": "Details del Commit",
"disco": "Disco",
"diasDeLaSemana": "Días de the semana",
"editadoExitosamente": "Edited successfully",
"editadoYParametrosPropagadosExitosamente": "Edited y parámetros propagados successfully",
"ejecucion": "Ejecución",
"ejecucionUnica": "Ejecución única",
"ejecutarScript": "Ejecutar script",
"elTamanoTotalDeLas": "The tamaño total de the partitions en the disco seleccionado excede the tamaño total del disco.",
"elementoEliminadoCorrectamente": "Elemento deleted . successfully",
"eliminadoCorrectamente": "Deleted successfully",
"eliminarRepositorio": "Deleting Repository",
"calendarsSynchronizedCorrectly": "Calendarios sincronizados successfully",
"customer": "Client",
"clientUpdatedSuccessfully": "Client updated successfully",
"clientSuccessfullyUpdated": "Client updated successfully",
"updatedClient": "Client updated!",
"clientCreatedSuccessfully": "Client created successfully",
"clientSuccessfullyRemovedFromThe": "Client deleted de the network successfully",
"commandAddedSuccessfully": "Command añadido successfully",
"editedCommand": "Command edited",
"commandEditedSuccessfully": "Command edited successfully",
"commandExecutedSuccessfully": "Command executed con éxito",
"commandRemovedSuccessfully": "Command deleted con éxito",
"commitIdCopiedToClipboard": "Commit ID copiado al portapapeles",
"networkConfigurationUpdatedSuccessfully": "Configuración de network actualizada successfully",
"networkConfigurationAddedSuccessfully": "Configuración de network añadida successfully",
"confirmServerMigration": "Confirmar migración de servidores",
"content": "Contenido",
"passwordChangedSuccessfully": "Contraseña cambiada con éxito",
"createdInRepository": "Created en repository",
"successfullyCreated": "Created successfully",
"code": "Código",
"updatedData": "Data actualizados",
"dataUpdatedCorrectly": "Data actualizados successfully",
"dataSuccessfullyLoadedData": "Data cargados , the data están listos para enviarse. successfully",
"youMustSpecifyStartDate": "Must especificar date de inicio y date de fin",
"youMustEnterAScript": "Must ingresar a script",
"youMustEnterAScriptBefore": "Must ingresar a script antes de saving.",
"youMustSelectAtLeastOne": "Must select al menos a client",
"youMustSelectAtLeastOne1": "Must select al menos a día de the semana",
"youMustSelectAtLeastOne2": "Must select al menos a mes",
"youMustSelectACommit": "Must select a commit",
"youMustSelectAMethod": "Must select a método",
"youMustSelectARepositoryFirst": "Must select a repository primero",
"youMustSelectAScript": "Must select a script",
"youMustSelectADhcpServer": "Must select a server DHCP para sincronizar",
"youMustSelectAnImage": "Must select a image",
"youMustSelectAPartition": "Debes select a partición",
"youMustSelectAnOrganizationalUnit": "Must select a unidad organizativa",
"youMustEnterACanonicalName": "Debes introducir a name canónico para the image",
"youMustEnterAnOrderOf": "Debes introducir a orden de ejecución válido (mayor que 0).",
"youMustSelectAnImageTo": "Debes select a image para updating",
"youMustSelectAnExistingTask": "Debes select a task existente.",
"description": "Descripción",
"displayImage": "Desplegar image",
"commitDetails": "Details del Commit",
"disk": "Disco",
"daysOfTheWeek": "Días de the semana",
"successfullyEdited": "Edited successfully",
"editedAndParametersPropagatedSuccessfully": "Edited y parámetros propagados successfully",
"execution": "Ejecución",
"uniqueExecution": "Ejecución única",
"theTotalSizeOfThe": "The tamaño total de the partitions en the disco seleccionado excede the tamaño total del disco.",
"itemRemovedSuccessfully": "Elemento deleted . successfully",
"removedSuccessfully": "Deleted successfully",
"deleteRepository": "Deleting Repository",
"error401RedirectToLogin": "Error 401, redirect to login page",
"errorActualizandoElGrupoDe": "Error actualizando the group de comandos",
"errorAlActualizarCliente1": "Error al updating client:",
"errorAlActualizarElCliente": "Error al updating the client:",
"errorAlActualizarElGrupo": "Error al updating the group de comandos",
"errorAlActualizarLaSubred": "Error al updating the subnet en the server",
"errorAlActualizarLaTarea": "Error al updating the task",
"errorAlAnadirComando": "Error al añadir command",
"errorAlAnadirElMenu": "Error al añadir the menu",
"errorAlAnadirLaImagen": "Error al añadir the image",
"errorAlAnadirRol": "Error al añadir role",
"errorAlAnadirRol1": "Error al añadir role:",
"errorAlAnadirSistemaOperativo": "Error al añadir system operative",
"errorAlAnadirSoftware": "Error al añadir software",
"errorAlCancelarLaTraza": "Error al cancelling the trace",
"errorAlCancelarLasAcciones": "Error al cancelling the acciones",
"errorAlCancelarLasAcciones1": "Error al cancelling the acciones:",
"errorAlCargarComandos": "Error al loading comandos:",
"errorAlCargarDatosDe": "Error al loading data de Git:",
"errorAlCargarDatosDel": "Error al loading data del client:",
"errorAlCargarElEstado": "Error al loading the status del dhcp",
"errorAlCargarElEstado1": "Error al loading the status del repository",
"errorAlCargarElEstado2": "Error al loading the status del server de boot",
"errorAlCargarGruposDe": "Error al loading groups de comandos:",
"errorAlCargarInformacionDe": "Error al loading información de Git",
"errorAlCargarLaInformacion": "Error al loading the información del alert",
"errorAlCargarLaLista": "Error al loading the lista de Dhcps",
"errorAlCargarLaLista1": "Error al loading the lista de Servidores de Boot",
"errorAlCargarLaLista2": "Error al loading the lista de repositories",
"errorAlCargarLaRuta": "Error al loading the ruta actual.",
"errorAlCargarLasImagenes": "Error al loading the imágenes de repository git:",
"errorAlCargarLasImagenes1": "Error al loading the imágenes existentes",
"errorAlCargarLasImagenes2": "Error al loading the imágenes existentes:",
"errorAlCargarLasImagenes3": "Error al loading the imágenes:",
"errorAlCargarLasParticiones": "Error al loading the partitions:",
"errorAlCargarLasPlantillas": "Error al loading the templates",
"errorAlCargarLasProgramaciones": "Error al loading the programaciones",
"errorAlCargarLasRamas": "Error al loading the ramas",
"errorAlCargarLasRamas1": "Error al loading the ramas del repository",
"errorAlCargarLasTareas": "Error al loading the tareas existentes",
"errorAlCargarLasUnidades": "Error al loading the units organizacionales",
"errorAlCargarLosClientes": "Error al loading the clientes de the unidad organizativa",
"errorAlCargarLosClientes1": "Error al loading the clientes:",
"errorAlCargarLosComandos": "Error al loading the comandos individuales",
"errorAlCargarLosCommits": "Error al loading the commits",
"errorAlCargarLosDatos": "Error al loading the data de the task",
"errorAlCargarLosDatos1": "Error al loading the data del client:",
"errorAlCargarLosGrupos": "Error al loading the groups de comandos",
"errorAlCargarLosRepositorios": "Error al loading the repositories",
"errorAlCargarLosRepositorios1": "Error al loading the repositories git",
"errorAlCargarLosRepositorios2": "Error al loading the repositories git:",
"errorAlComprobarElEstado": "Error al comprobar the status del classroom",
"errorAlCopiarAlPortapapeles": "Error al copiar al portapapeles",
"errorAlCrearElGrupo": "Error al creating the group de comandos",
"errorAlCrearLaTarea": "Error al creating the task",
"errorAlCrearLasParticiones": "Error al creating the partitions.",
"errorAlCrearSubredEn": "Error al creating subnet en server",
"errorAlEditarElComando": "Error al editing the command",
"errorAlEditarElRol": "Error al editing the role",
"errorAlEditarElRol1": "Error al editing the role:",
"errorAlEditarElSistema": "Error al editing the system operative",
"errorAlEditarElSoftware": "Error al editing the software",
"errorAlEditarLaImagen": "Error al editing the image",
"errorAlEjecutarElComando": "Error al ejecutar the command:",
"errorAlEjecutarElScript": "Error al ejecutar the script",
"errorAlEliminarElComando": "Error al deleting the command:",
"errorAlEliminarElGrupo": "Error al deleting the group de comandos:",
"errorAlEliminarElMenu": "Error al deleting the menú:",
"errorAlEliminarElRepositorio": "Error al deleting the repository",
"errorAlEliminarElRepositorio1": "Error al deleting the repository:",
"errorAlEliminarElServidor": "Error al deleting the server",
"errorAlEliminarLaImagen": "Error al deleting the image:",
"errorAlEliminarLaSubred": "Error al deleting the subnet",
"errorAlEliminarLaTarea": "Error al deleting the task:",
"errorAlEliminarLasLeases": "Error al deleting the leases DHCP",
"errorAlEliminarLosClientes": "Error al deleting the clientes seleccionados",
"errorAlEliminarServidor": "Error al deleting server:",
"errorAlFiltrarLasUnidades": "Error al filtrar the units organizacionales",
"errorAlGuardarLasVariables": "Error al saving the variables de entorno:",
"errorAlMarcarLaTraza": "Error al marcar the trace as successful",
"errorAlObtenerElEstado": "Error al fetching the status del server",
"errorAlObtenerLasParticiones": "Error al fetching the partitions:",
"errorAlObtenerLosClientes": "Error al fetching the clientes PXE:",
"errorAlObtenerLosClientes1": "Error al fetching the clientes de the unidad organizativa:",
"errorAlObtenerLosDetalles": "Error al fetching the details del profile de hardware",
"errorAlObtenerLosPerfiles": "Error al fetching the perfiles de software",
"errorAlObtenerLosRepositorios": "Error al fetching the repositories de imágenes",
"errorAlPropagarParametros": "Error al propagar parámetros:",
"errorAlRealizarPost": "Error al performing POST:",
"errorAlRealizarPut": "Error al performing PUT:",
"errorAlRealizarLaPeticion": "Error al performing the petición de backup de image",
"errorAlSincronizar": "Error al sincronizar",
"errorAlSincronizarImagenesOglive": "Error al sincronizar imagenes ogLive: tiempo de espera agotado",
"errorAlSincronizarLasPlantillas": "Error al sincronizar the templates Pxe: tiempo de espera agotado",
"errorAlSincronizarLasSubredes": "Error al sincronizar the subnets: tiempo de espera agotado",
"errorAlSincronizarSubredes": "Error al sincronizar subnets",
"errorCancellingInprogressTrace": "Error cancelling in-progress trace:",
"errorCancellingPendingTrace": "Error cancelling pending trace:",
"errorCargandoLasUnidadesOrganizativas": "Error cargando the Units Organizational",
"errorCargandoLosDatos": "Error cargando the data",
"errorCargandoLosDatosDel": "Error cargando the data del server",
"errorUpdatingGroup": "Error al updating the group de comandos",
"errorUpdatingClient1": "Error al updating client:",
"errorUpdatingSubnet": "Error al updating the subnet en the server",
"errorUpdatingTask": "Error al updating the task",
"errorWhenAddingCommand": "Error al añadir command",
"errorAddingMenu": "Error al añadir the menu",
"errorAddingImage": "Error al añadir the image",
"errorAddingRole": "Error al añadir role",
"errorAddingRole1": "Error al añadir role:",
"errorAddingOperatingSystem": "Error al añadir system operative",
"errorAddingSoftware": "Error al añadir software",
"errorCancelingTrace": "Error al cancelling the trace",
"errorCancelingActions": "Error al cancelling the acciones",
"errorCancelingActions1": "Error al cancelling the acciones:",
"errorLoadingCommands": "Error al loading the comandos individuales",
"errorLoadingState": "Error al loading the status del dhcp",
"errorLoadingState1": "Error al loading the status del repository",
"errorLoadingState2": "Error al loading the status del server de boot",
"errorLoadingGroups": "Error al loading the groups de comandos",
"errorLoadingInformation": "Error al loading the información del alert",
"errorLoadingList": "Error al loading the lista de Dhcps",
"errorLoadingList1": "Error al loading the lista de Servidores de Boot",
"errorLoadingList2": "Error al loading the lista de repositories",
"errorLoadingRoute": "Error al loading the ruta actual.",
"errorLoadingImages": "Error al loading the imágenes de repository git:",
"errorLoadingImages1": "Error al loading the imágenes existentes",
"errorLoadingImages2": "Error al loading the imágenes existentes:",
"errorLoadingImages3": "Error al loading the imágenes:",
"errorLoadingPartitions": "Error al loading the partitions:",
"errorLoadingTemplates": "Error al loading the templates",
"errorLoadingProgramming": "Error al loading the programaciones",
"errorLoadingBranches": "Error al loading the ramas",
"errorLoadingBranches1": "Error al loading the ramas del repository",
"errorLoadingTasks": "Error al loading the tareas existentes",
"errorLoadingUnits": "Error al loading the units organizacionales",
"errorLoadingClients": "Error al loading the clientes de the unidad organizativa",
"errorLoadingClients1": "Error al loading the clientes:",
"errorLoadingCommits": "Error al loading the commits",
"errorLoadingData1": "Error al loading the data del client:",
"errorLoadingRepositories": "Error al loading the repositories",
"errorLoadingRepositories1": "Error al loading the repositories git",
"errorLoadingRepositories2": "Error al loading the repositories git:",
"errorCheckingStatus": "Error al comprobar the status del classroom",
"errorWhenCopyingToClipboard": "Error al copiar al portapapeles",
"errorCreatingGroup": "Error creando the group de comandos",
"errorCreatingTask": "Error al creating the task",
"errorCreatingPartitions": "Error al creating the partitions.",
"errorCreatingSubnetOn": "Error al creating subnet en server",
"errorEditingCommand": "Error al editing the command",
"errorEditingRole": "Error al editing the role",
"errorEditingRole1": "Error al editing the role:",
"errorEditingSystem": "Error al editing the system operative",
"errorWhenEditingTheSoftware": "Error al editing the software",
"errorWhenEditingImage": "Error al editing the image",
"errorWhenExecutingCommand": "Error al ejecutar the command:",
"errorWhenRunningScript": "Error al ejecutar the script",
"errorDeletingCommand": "Error al deleting the command:",
"errorDeletingGroup": "Error al deleting the group de comandos:",
"errorWhenDeletingMenu": "Error al deleting the menú:",
"errorDeletingRepository": "Error al deleting the repository",
"errorDeletingRepository1": "Error al deleting the repository:",
"errorDeletingServer": "Error al deleting server:",
"errorDeletingImage": "Error deleting image",
"errorDeletingSubnet": "Error al deleting the subnet",
"errorDeletingTask": "Error al deleting the task:",
"errorWhenDeletingLeases": "Error al deleting the leases DHCP",
"errorDeletingClients": "Error al deleting the clientes seleccionados",
"errorWhenFilteringUnits": "Error al filtrar the units organizacionales",
"errorSavingVariables": "Error al saving the variables de entorno:",
"errorWhenMarkingTheTrace": "Error al marcar the trace as successful",
"errorGettingStatus": "Error al fetching the status del server",
"errorGettingPartitions": "Error al fetching the partitions:",
"errorGettingClients": "Error al fetching the clientes PXE:",
"errorGettingClients1": "Error al fetching the clientes de the unidad organizativa:",
"errorGettingDetails": "Error al fetching the details del profile de hardware",
"errorGettingProfiles": "Error al fetching the perfiles de software",
"errorGettingRepositories": "Error al fetching the repositories de imágenes",
"errorWhenPropagatingParameters": "Error al propagar parámetros:",
"errorWhenMakingPost": "Error al performing POST:",
"errorWhenMakingPut": "Error al performing PUT:",
"errorWhenMakingTheRequest": "Error al performing the petición de backup de image",
"synchronizationError": "Error al sincronizar",
"errorWhenSynchronizingOgliveImages": "Error al sincronizar imagenes ogLive: tiempo de espera agotado",
"errorSyncingTemplates": "Error al sincronizar the templates Pxe: tiempo de espera agotado",
"errorSyncingSubnets": "Error al sincronizar subnets",
"errorCancelingInprogressTrace": "Error cancelling in-progress trace:",
"errorCancelingPendingTrace": "Error cancelling pending trace:",
"errorLoadingOrganizationalUnits": "Error cargando the Units Organizational",
"errorChangingPassword": "Error changing password:",
"errorCreandoElGrupoDe": "Error creando the group de comandos",
"errorDecodingJwt": "Error decoding JWT",
"jwtDecodingError": "Error decoding JWT",
"errorDeletingAsset": "Error deleting asset",
"errorDeletingCalendar": "Error deleting calendar",
"errorDeletingElement": "Error deleting element",
"errorDeletingEntity": "Error deleting entity:",
"errorDeletingHardware": "Error deleting hardware",
"errorDeletingImage": "Error deleting image",
"hardwareDeletingError": "Error deleting hardware",
"errorDeletingMultipleClients": "Error deleting multiple clients",
"errorDeletingMultipleClients1": "Error deleting multiple clients:",
"errorDeletingOperativeSystem": "Error deleting operative system",
"errorDeletingOperatingSystem": "Error deleting operative system",
"errorDeletingRole": "Error deleting role:",
"errorDeletingUser": "Error deleting user:",
"errorDuranteLaSincronizacion": "Error durante the sincronización",
"errorDuranteLaSincronizacion1": "Error durante the sincronización:",
"errorEjecutandoGrupoDeComandos": "Error ejecutando group de comandos:",
"errorEnLaPeticionDe": "Error en the petición de exportación de image",
"errorFetchingBootservers": "Error fetching BootServers:",
"errorDuringSynchronization": "Error durante the sincronización",
"errorDuringSynchronization1": "Error durante the sincronización:",
"errorExecutingGroupOfCommands": "Error ejecutando group de comandos:",
"errorInTheRequest": "Error en the petición de exportación de image",
"fetchingBootserversError": "Error fetching BootServers:",
"errorFetchingDhcpServersFor": "Error fetching DHCP servers for subnet sync",
"errorFetchingPxeTemplatesBy": "Error fetching PXE templates by server:",
"errorFetchingAssets": "Error fetching assets",
"fetchingAssetsError": "Error fetching assets",
"errorFetchingAvailableCommands": "Error fetching available commands",
"errorFetchingBootServer": "Error fetching boot server:",
"errorFetchingBranches": "Error fetching branches",
"fetchingBootServerError": "Error fetching boot server:",
"fetchingBranchesError": "Error fetching branches",
"errorFetchingBranchesForGit": "Error fetching branches for Git data",
"errorFetchingCalendar": "Error fetching calendar",
"fetchingCalendarError": "Error fetching calendar",
"errorFetchingCalendars": "Error fetching calendars",
"errorFetchingChildUnits": "Error fetching child units:",
"errorFetchingChildren": "Error fetching children",
"errorFetchingClientTraces": "Error fetching client traces",
"errorFetchingClients": "Error fetching clients",
"errorFetchingClients1": "Error fetching clients:",
"errorFetchingCommandGroups": "Error fetching command groups",
"errorFetchingCommands": "Error fetching commands",
"errorFetchingCommands1": "Error fetching commands:",
"fetchingClients1Error": "Error fetching clients:",
"fetchingCommandGroupsError": "Error fetching command groups",
"fetchingCommandsError": "Error fetching commands",
"fetchingCommands1Error": "Error fetching commands:",
"errorFetchingCommits": "Error fetching commits",
"errorFetchingData": "Error fetching data",
"fetchingDataError": "Error fetching data",
"errorFetchingDataForEdit": "Error fetching data for edit:",
"errorFetchingDhcpServer": "Error fetching dhcp server:",
"dhcpServerFetchingError": "Error fetching dhcp server:",
"errorFetchingDownloads": "Error fetching downloads:",
"errorFetchingFilters": "Error fetching filters",
"errorFetchingFilters1": "Error fetching filters:",
@ -1415,29 +1394,28 @@
"errorFetchingMenus": "Error fetching menus",
"errorFetchingMenus1": "Error fetching menus:",
"errorFetchingOglivesByServer": "Error fetching ogLives by server:",
"errorFetchingOglives": "Error fetching ogLives:",
"errorFetchingOperativeSystems": "Error fetching operative systems:",
"fetchingOglivesError": "Error fetching ogLives:",
"errorFetchingOperatingSystems": "Error fetching operative systems:",
"errorFetchingOrganizationalUnit": "Error fetching organizational unit",
"errorFetchingOrganizationalUnits": "Error fetching organizational units",
"errorFetchingOrganizationalUnits": "Error fetching units organizational",
"errorFetchingOrganizationalUnits1": "Error fetching organizational units:",
"errorFetchingParentUnits": "Error fetching parent units:",
"errorFetchingPxeTemplates": "Error fetching pxe templates",
"errorFetchingRawMenuTemplate": "Error fetching raw menu template",
"errorFetchingRemoteCalendar": "Error fetching remote calendar:",
"errorFetchingRemoteCalendars": "Error fetching remote calendars",
"errorFetchingRepositories": "Error fetching repositories",
"errorFetchingRepositories1": "Error fetching repositories:",
"fetchingRepositoriesError": "Error fetching repositories",
"fetchingRepositories1Error": "Error fetching repositories:",
"errorFetchingRoles": "Error fetching roles",
"errorFetchingRoomData": "Error fetching room data:",
"errorFetchingSoftware": "Error fetching software:",
"softwareFetchingError": "Error fetching software:",
"errorFetchingStatsByStatus": "Error fetching stats by status:",
"errorFetchingTasks": "Error fetching tasks",
"fetchingTasksError": "Error fetching tasks",
"errorFetchingTraces": "Error fetching traces",
"errorFetchingUnidadesOrganizativas": "Error fetching units organizational",
"errorFetchingUserGroup": "Error fetching user group",
"errorFetchingUserGroups": "Error fetching user groups",
"errorFetchingUser": "Error fetching user:",
"errorFetchingUsers": "Error fetching users",
"fetchingUserError": "Error fetching user:",
"fetchingUsersError": "Error fetching users",
"errorLoadingCalendars": "Error loading calendars",
"errorLoadingConfigjson": "Error loading config.json",
"errorLoadingCurrentCalendar": "Error loading current calendar",
@ -1446,223 +1424,210 @@
"errorMarkingTraceAsSuccess": "Error marking trace as success:",
"errorPreviewingMenuTemplate": "Error previewing menu template",
"errorUploadingAssets": "Error uploading assets",
"estaUnidadOrganizativaNoTiene": "Esta unidad organizativa not tiene clientes",
"estado": "Status",
"estadoDelAulaActualizado": "Status del classroom updated",
"estadoDelDhcpActualizadoCorrectamente": "Status del dhcp updated successfully",
"estadoDelRepositorioActualizadoCorrectamente": "Status del repository updated successfully",
"estadoDelServidorDeBoot": "Status del server de boot updated successfully",
"estadisticas": "Estadísticas",
"thisOrganizationalUnitDoesNotHave": "Esta unidad organizativa not tiene clientes",
"state": "Status",
"classroomStatusUpdated": "Status del classroom updated",
"dhcpStatusUpdatedSuccessfully": "Status del dhcp updated successfully",
"successfullyUpdatedRepositoryStatus": "Status del repository updated successfully",
"bootServerStatus": "Status del server de boot updated successfully",
"statistics": "Estadísticas",
"failedToDecodePreviousFilecontent": "Failed to decode previous fileContent Base64",
"failedToEncodeUpdatedHtml": "Failed to encode updated HTML to Base64",
"failedToPreviewGeneratedHtml": "Failed to preview generated HTML",
"fechaDeCreacion": "Date de creación",
"fechaDelCommit": "Date del commit",
"finalizacion": "Finalización",
"commitDate": "Date del commit",
"ending": "Finalización",
"formIsInvalid": "Form is invalid",
"formularioInvalidoPorFavorRevise": "Formulario inválido. Por favor, revise the campos obligatorios.",
"invalidFormPleaseReview": "Formulario inválido. Por favor, revise the campos obligatorios.",
"fullsum": "Fullsum",
"gestionarImagenes": "Gestionar imágenes",
"gestiones": "Gestiones",
"grupoDeComandosActualizadoCon": "Group de comandos updated con éxito",
"grupoDeComandosCreadoCon": "Group de comandos created con éxito",
"grupoDeComandosEjecutadoExitosamente": "Group de comandos executed successfully",
"grupoDeComandosEliminadoCon": "Group de comandos deleted con éxito",
"guardadoPeroHuboUnError": "Saved, pero hubo a Error al propagar the parámetros",
"manageImages": "Gestionar imágenes",
"efforts": "Gestiones",
"commandGroupUpdatedWith": "Group de comandos updated con éxito",
"commandGroupCreatedWith": "Group de comandos created con éxito",
"groupOfCommandsExecutedSuccessfully": "Group de comandos executed successfully",
"commandGroupRemovedWith": "Group de comandos deleted con éxito",
"savedButThereWasAnError": "Saved, pero hubo a Error al propagar the parámetros",
"hardwareDeletedSuccessfully": "Hardware deleted successfully",
"horaDeEjecucion": "Time de ejecución",
"huboUnProblemaProcesandoLos": "Hubo a problema procesando the caracteres especiales del HTML.",
"thereWasAProblemProcessingThe": "Hubo a problema procesando the caracteres especiales del HTML.",
"id": "ID",
"ipAddress": "IP Address",
"id1": "Id",
"idServidorDhcp": "Id Server DHCP",
"dhcpServerId": "Id Server DHCP",
"imageCreatedSuccessfully": "Image created successfully",
"imageDeletedSuccessfully": "Image deleted successfully",
"imageUpdatedSuccessfully": "Image updated successfully",
"imagenGlobal": "Image Global",
"imagenAnadidaCorrectamente": "Image añadida successfully",
"imagenEditadaCorrectamente": "Image editada successfully",
"imagenEliminadaConExito": "Image eliminada con éxito",
"imagenGlobal1": "Image global",
"imagenPorDefecto": "Image por defecto",
"imagenRenombradaCorrectamente": "Image renombrada successfully",
"informacionDelRepositorio": "Información del Repository",
"iniciarSesion": "Iniciar sesión",
"inventarioDeHardwareActualizadoCorrectamente": "Inventario de hardware updated successfully",
"inventarioDeSoftwareActualizadoCorrectamente": "Inventario de software updated successfully",
"globalImage": "Image Global",
"imageAddedSuccessfully": "Image añadida successfully",
"successfullyEditedImage": "Image editada successfully",
"imageSuccessfullyDeleted": "Image eliminada con éxito",
"globalImage1": "Image global",
"defaultImage": "Image por defecto",
"imageRenamedCorrectly": "Image renombrada successfully",
"repositoryInformation": "Información del Repository",
"login": "Iniciar sesión",
"hardwareInventorySuccessfullyUpdated": "Inventario de hardware updated successfully",
"successfullyUpdatedSoftwareInventory": "Inventario de software updated successfully",
"ip": "Ip",
"laFechaDeFinDebe": "The date de fin must ser posterior a the date de inicio",
"laFechaDeInicioNo": "The date de inicio not puede ser mayor que the date de fin",
"leaseDelClienteEliminadaCorrectamente": "Lease del client eliminada successfully",
"leasesDhcpEliminadasCorrectamente": "Lease(s) DHCP eliminada(s) successfully",
"leasesDeLaSubredEliminadas": "Leases de the subnet eliminadas successfully",
"listaDeClientes": "Lista de clientes",
"listaDeComandos": "Lista de comandos",
"theEndDateMust": "The date de fin must ser posterior a the date de inicio",
"theStartDateIsNot": "The date de inicio not puede ser mayor que the date de fin",
"clientLeaseRemovedSuccessfully": "Lease del client eliminada successfully",
"dhcpLeasesRemovedSuccessfully": "Lease(s) DHCP eliminada(s) successfully",
"subnetLeasesRemoved": "Leases de the subnet eliminadas successfully",
"clientList": "Lista de clientes",
"commandList": "Lista de comandos",
"mac": "Mac",
"marcarTrazaComoExitosa": "Marcar Trace as Successful",
"mensajeDelCommit": "Mensaje del commit",
"menuAnadidoCorrectamente": "Menu añadido successfully",
"menuEditadoCorrectamente": "Menu edited successfully",
"menuEliminadoConExito": "Menu deleted con éxito",
"meses": "Meses",
"markTraceAsSuccessful": "Marcar Trace as Successful",
"commitMessage": "Mensaje del commit",
"menuAddedSuccessfully": "Menu añadido successfully",
"menuEditedCorrectly": "Menu edited successfully",
"menuSuccessfullyRemoved": "Menu deleted con éxito",
"months": "Meses",
"netmask": "Netmask",
"noHayAccionesParaLimpiar": "Not hay acciones para limpiar",
"noHayCambiosParaGuardar": "Not hay cambios para saving en the disco seleccionado.",
"noHayCambiosPendientesDe": "Not hay cambios pendientes de performing",
"noHayClientesCargadosPara": "Not hay clientes cargados para añadir",
"noHayClientesPreseleccionadosPara": "Not hay clientes pre-seleccionados para este ámbito",
"noHayClientesSeleccionados": "Not hay clientes seleccionados",
"noHayClientesSeleccionadosPara": "Not hay clientes seleccionados para deleting",
"noHaySuficienteEspacioLibre": "Not hay suficiente espacio libre en the disco para creating a nueva partición.",
"noHayUnNodoSeleccionado": "Not hay a nodo seleccionado.",
"noSeEncontraronDatosValidos": "Not se encontraron data válidos",
"noSeEncontroElBoton": "Not se encontró the botón execute-button",
"noSeEncontroElNodo": "Not se encontró the nodo padre después de the creación masiva.",
"noSeHaCargadoLa": "Not se ha cargado the información del client",
"noSeHaSeleccionadoUn": "Not se ha seleccionado a disco.",
"noSePudieronCargarLas": "Not se pudieron loading the variables de entorno.",
"noSePudoCopiarEl": "Not se pudo copiar the script.",
"noSePudoDescargarEl": "Not se pudo descargar the HTML/Twig original del menú para editarlo.",
"noSePudoResolverEl": "Not se pudo resolver the name del server DHCP",
"noSePuedeAccederA": "Not se puede acceder a the logs: IP del client not disponible",
"noSePuedeAccederA1": "Not se puede acceder a the logs: MAC del client not disponible",
"noSeRecibieronDatosDel": "Not se recibieron data del client.",
"nombre": "Name",
"nombreDeUsuario": "Name de User",
"nombreDeImagen": "Name de image",
"nombreDeLaPlantilla": "Name de the template",
"nombreDeMenu": "Name de menú",
"nombreDeRepositorio": "Name de repository",
"nombreDeTarea": "Name de task",
"nDeReglas": "Nº de reglas",
"ocurrioUnErrorAlCargar": "Ocurrió a Error al loading the units organizational",
"noActionsToClean": "Not hay acciones para limpiar",
"noChangesToSave": "Not hay cambios para saving en the disco seleccionado.",
"noChangesPending": "Not hay cambios pendientes de performing",
"noClientsLoadedFor": "Not hay clientes cargados para añadir",
"thereAreNoPreselectedClientsFor": "Not hay clientes pre-seleccionados para este ámbito",
"noClientsSelected": "Not hay clientes seleccionados",
"thereAreNoClientsSelectedFor": "Not hay clientes seleccionados para deleting",
"notEnoughFreeSpace": "Not hay suficiente espacio libre en the disco para creating a nueva partición.",
"thereIsNoNodeSelected": "Not hay a nodo seleccionado.",
"notValidDataFound": "Not se encontraron data válidos",
"theButtonWasNotFound": "Not se encontró the botón execute-button",
"nodeNotFound": "Not se encontró the nodo padre después de the creación masiva.",
"hasNotBeenLoaded": "Not se ha cargado the información del client",
"noOneHasBeenSelected": "Not se ha seleccionado a disco.",
"couldNotBeLoaded": "Not se pudieron loading the variables de entorno.",
"couldNotCopy": "Not se pudo copiar the script.",
"couldNotDownload": "Not se pudo descargar the HTML/Twig original del menú para editarlo.",
"couldNotResolve": "Not se pudo resolver the name del server DHCP",
"cannotAccess": "Not se puede acceder a the logs: IP del client not disponible",
"cantAccess1": "Not se puede acceder a the logs: MAC del client not disponible",
"noDataWasReceivedFrom": "Not se recibieron data del client.",
"name": "Name",
"userName": "Name de User",
"imageName": "Name de image",
"templateName": "Name de the template",
"menuName": "Name de menú",
"repositoryName": "Name de repository",
"taskName": "Name de task",
"numberOfRules": "Nº de reglas",
"anErrorOccurredWhileLoading": "Ocurrió a Error al loading the units organizational",
"oglive": "OgLive",
"operativeSystemDeleted": "Operative System deleted",
"orden": "Orden",
"operatingSystemDeleted": "Operative System deleted",
"order": "Orden",
"parentChangedSuccessfully": "Parent changed successfully",
"particion": "Partition",
"particionarYFormatear": "Particionar y formatear",
"particionesCreadasExitosamenteParaEl": "Partitions creadas para the disco seleccionado. successfully",
"particion1": "Partición",
"parametros": "Parámetros",
"permisos": "Permissions",
"peticionDeBackupDeImagen": "Peticion de backup de image sent successfully",
"peticionDeConversionDeImagen": "Peticion de conversion de image sent successfully",
"peticionDeImportacionDeImagen": "Peticion de importacion de image sent successfully",
"peticionDeActualizacionEnviada": "Petición de actualizacion sent",
"peticionDeApagadoEnviadaCorrectamente": "Petición de apagado sent successfully",
"peticionDeArranqueDeSo": "Petición de arranque de SO sent successfully",
"peticionDeBorradoDeCache": "Petición de borrado de caché de image sent successfully",
"peticionDeCambioDeImagen": "Petición de cambio de image sent",
"peticionDeCreacionDeArchivos": "Petición de creación de files auxiliares sent",
"peticionDeDesinstalacionEnviada": "Petición de desinstalación sent",
"peticionDeDespliegueEnviadaCorrectamente": "Petición de deploy sent successfully",
"peticionDeEliminacionDeLa": "Petición de eliminación de the papelera temporal sent",
"peticionDeEncendidoEnviadaCorrectamente": "Petición de encendido sent successfully",
"peticionDeExportacionDeImagen": "Petición de exportación de image realizada successfully",
"peticionDeInstalacionEnviada": "Petición de instalación sent",
"peticionDeRecuperacionDeLa": "Petición de recuperación de the image sent",
"peticionDeRefrescoEnviadaCorrectamente": "Petición de refresco sent successfully",
"plantillaPxeActualizadaExitosamente": "Template PXE actualizada successfully",
"plantillaPxeCreadaExitosamente": "Template PXE creada successfully",
"plantillaEliminadaExitosamente": "Template eliminada successfully",
"plantillaPorDefecto": "Template por defecto",
"porDefecto": "Por defecto",
"porFavorCompleteTodosLos": "Por favor, complete todos the campos requeridos",
"porFavorCompleteTodosLos1": "Por favor, complete todos the campos requeridos successfully",
"porFavorRelleneTodosLos": "Por favor, rellene todos the campos obligatorios",
"porFavorRevisaLosCampos": "Por favor, revisa the campos del formulario",
"porFavorSeleccionaUnRepositorio": "Por favor, selecciona a repository primero",
"preparandoPeticionDeDespliegue": "Preparando petición de deploy",
"programacionDeTareaActualizadaCon": "Programacion de task actualizada con éxito",
"programacionDeTareaCreadaCon": "Programacion de task creada con éxito",
"programacionActualizadaCorrectamente": "Programación actualizada successfully",
"programacionCreadaCorrectamente": "Programación creada successfully",
"programacionEliminadaCorrectamente": "Programación eliminada successfully",
"propagarParametros": "Propagar parámetros",
"proximaEjecucion": "Próxima ejecución",
"puertoApi": "Puerto API",
"puertoPxe": "Puerto PXE",
"ramaCreadaCorrectamente": "Rama creada successfully",
"partition": "Partition",
"partitionsSuccessfullyCreatedForThe": "Partitions creadas para the disco seleccionado. successfully",
"partition1": "Partición",
"permissions": "Permissions",
"imageBackupRequest": "Peticion de backup de image sent successfully",
"imageConversionRequest": "Peticion de conversion de image sent successfully",
"imageImportRequest": "Peticion de importacion de image sent successfully",
"updateRequestSent": "Petición de actualizacion sent",
"shutdownRequestSentCorrectly": "Petición de apagado sent successfully",
"oSBootRequest": "Petición de arranque de SO sent successfully",
"cacheClearRequest": "Petición de borrado de caché de image sent successfully",
"imageChangeRequest": "Petición de cambio de image sent",
"fileCreationRequest": "Petición de creación de files auxiliares sent",
"uninstallRequestSent": "Petición de desinstalación sent",
"deployRequestSentCorrectly": "Petición de deploy sent successfully",
"requestForRemovalOf": "Petición de eliminación de the papelera temporal sent",
"ignitionRequestSentCorrectly": "Petición de encendido sent successfully",
"imageExportRequest": "Petición de exportación de image realizada successfully",
"installationRequestSent": "Petición de instalación sent",
"requestForRecoveryOf": "Petición de recuperación de the image sent",
"refreshmentRequestSentCorrectly": "Petición de refresco sent successfully",
"pxeTemplateUpdatedSuccessfully": "Template PXE actualizada successfully",
"pxeTemplateCreatedSuccessfully": "Template PXE creada successfully",
"templateSuccessfullyDeleted": "Template eliminada successfully",
"defaultTemplate": "Template por defecto",
"default": "Por defecto",
"pleaseCompleteAll": "Por favor, complete todos the campos requeridos",
"pleaseCompleteAll1": "Por favor, complete todos the campos requeridos successfully",
"pleaseFillOutAll": "Por favor, rellene todos the campos obligatorios",
"pleaseCheckTheFields": "Por favor, revisa the campos del formulario",
"pleaseSelectARepository": "Por favor, selecciona a repository primero",
"preparingDeploymentRequest": "Preparando petición de deploy",
"updatedTaskScheduleWith": "Programacion de task actualizada con éxito",
"taskScheduleCreatedWith": "Programacion de task creada con éxito",
"programmingUpdatedCorrectly": "Programación actualizada successfully",
"programmingCreatedCorrectly": "Programación creada successfully",
"programmingRemovedCorrectly": "Programación eliminada successfully",
"propagateParameters": "Propagar parámetros",
"pxePort": "Puerto PXE",
"branchCreatedSuccessfully": "Rama creada successfully",
"remotePc": "Remote Pc",
"repeticionPersonalizada": "Repetición personalizada",
"repositorio": "Repository",
"repositorioAnadidoCorrectamente": "Repository añadido successfully",
"repositorioCreadoCorrectamente": "Repository created successfully",
"repositorioEditadaCorrectamente": "Repository editada successfully",
"repositorioEliminadoConExito": "Repository deleted con éxito",
"repositorios": "Repositories",
"resolucion": "Resolución",
"rolActualizadoCorrectamente": "Role updated successfully",
"rolAnadidoCorrectamente": "Role añadido successfully",
"customRepeat": "Repetición personalizada",
"repositoryAddedSuccessfully": "Repository añadido successfully",
"successfullyCreatedRepository": "Repository created successfully",
"successfullyEditedRepository": "Repository editada successfully",
"repositoryDeletedSuccessfully": "Repository deleted con éxito",
"roleUpdatedSuccessfully": "Role updated successfully",
"roleAddedSuccessfully": "Role añadido successfully",
"roleDeletedSuccessfully": "Role deleted successfully",
"roles": "Roles",
"ruta": "Ruta",
"so": "SO",
"soimagen": "SO/Image",
"scriptAnadidoConExitoA": "Script añadido con éxito a the task",
"scriptCopiadoAlPortapapeles": "Script copiado al portapapeles",
"scriptEjecutadoCorrectamente": "Script executed successfully",
"scriptGuardadoCorrectamente": "Script saved successfully",
"seHanDetectadoOrdenadoresAsociados": "Se han detectado ordenadores asociados a otro server de boot. ¿Desea moverlos al server actual? (Si rechaza, solo se updatingán the ordenadores que ya pertenecen al server actual)",
"seleccionaUnClienteModeloY": "Selecciona a client modelo y a disco.",
"seleccioneUnServidorDhcpPara": "Seleccione a server DHCP para consultar the status",
"servidorBootActualizadoCorrectamente": "Server Boot updated successfully",
"servidorBootAnadidoCorrectamente": "Server Boot añadido successfully",
"servidorDhcpActualizadoCorrectamente": "Server DHCP updated successfully",
"servidorDhcpAnadidoCorrectamente": "Server DHCP añadido successfully",
"servidorEliminadoConExito": "Server deleted con éxito",
"sinInstalar": "Sin instalar",
"sinRepeticion": "Sin repetición",
"sincronizacionCompletada": "Sincronización completed",
"sincronizacionCompletadaConExito": "Sincronización completed con éxito",
"sincronizacionConOglivesCompletada": "Sincronización con ogLives completed",
"sincronizacionDePlantillasPxeExitosa": "Sincronización de templates Pxe successful",
"sincronizacionDeSubredesDeServidores": "Sincronización de subnets de servidores DHCP successful",
"sincronizado": "Synchronized",
"sistemaOperativo": "System Operative",
"sistemaDeFicheros": "System de ficheros",
"sistemaOperativoAnadidoCorrectamente": "System operative añadido successfully",
"sistemaOperativoEditadoCorrectamente": "System operative edited successfully",
"softwareAnadidoCorrectamente": "Software añadido successfully",
"route": "Ruta",
"sW": "SO",
"soimage": "SO/Image",
"scriptSuccessfullyAddedTo": "Script añadido con éxito a the task",
"scriptCopiedToClipboard": "Script copiado al portapapeles",
"scriptExecutedSuccessfully": "Script executed successfully",
"scriptSavedSuccessfully": "Script saved successfully",
"associatedComputersHaveBeenDetected": "Se han detectado ordenadores asociados a otro server de boot. ¿Desea moverlos al server actual? (Si rechaza, solo se updatingán the ordenadores que ya pertenecen al server actual)",
"selectAModelClientAnd": "Selecciona a client modelo y a disco.",
"selectADhcpServerFor": "Seleccione a server DHCP para consultar the status",
"bootServerSuccessfullyUpdated": "Server Boot updated successfully",
"bootServerAddedSuccessfully": "Server Boot añadido successfully",
"dhcpServerUpdatedSuccessfully": "Server DHCP updated successfully",
"dhcpServerAddedSuccessfully": "Server DHCP añadido successfully",
"serverSuccessfullyDeleted": "Server deleted con éxito",
"withoutInstalling": "Sin instalar",
"withoutRepetition": "Sin repetición",
"synchronizationCompleted": "Sincronización completed",
"synchronizationCompletedSuccessfully": "Sincronización completed con éxito",
"synchronizationWithOglivesCompleted": "Sincronización con ogLives completed",
"successfulPxeTemplateSynchronization": "Sincronización de templates Pxe successful",
"serverSubnetSynchronization": "Sincronización de subnets de servidores DHCP successful",
"synchronized": "Synchronized",
"operatingSystem": "System Operative",
"orSAddedSuccessfully": "System operative añadido successfully",
"operatingSystemEditedSuccessfully": "System operative edited successfully",
"softwareAddedSuccessfully": "Software añadido successfully",
"softwareDeletedSuccessfully": "Software deleted successfully",
"softwareEditadoCorrectamente": "Software edited successfully",
"soloLectura": "Solo Lectura",
"soloSePuedenCancelarTrazas": "Solo se pueden cancelling trazas pendientes o en ejecución",
"soloSePuedenMarcarComo": "Solo se pueden marcar as exitosas the trazas en progreso",
"subredEliminadaExitosamente": "Subnet eliminada successfully",
"subredSincronizadaConServidor": "Subnet sincronizada con server",
"subredes": "Subnets",
"tagCreadoCorrectamente": "Tag created successfully",
"successfullyEditedSoftware": "Software edited successfully",
"readOnly": "Solo Lectura",
"onlyTracesCanBeCanceled": "Solo se pueden cancelling trazas pendientes o en ejecución",
"canOnlyBeMarkedAs": "Solo se pueden marcar as exitosas the trazas en progreso",
"subnetSuccessfullyDeleted": "Subnet eliminada successfully",
"subnetSynchronizedWithServer": "Subnet sincronizada con server",
"tagCreatedSuccessfully": "Tag created successfully",
"tags": "Tags",
"tamano": "Tamaño",
"tareaActualizadaConExito": "Task actualizada con éxito",
"tareaCanceladaCorrectamente": "Task cancelled successfully",
"tareaCreadaConExito": "Task creada con éxito",
"tareaDeCreacionDeImagen": "Task de creación de image scheduled con éxito",
"tareaEliminadaConExito": "Task eliminada con éxito",
"tareaProgramadaCorrectamente": "Task scheduled successfully",
"tipo": "Type",
"tipoDeProgramacion": "Type de Programación",
"tipoDeAccionNoReconocido": "Type de acción not reconocido",
"tipoDeParticion": "Type de partición",
"trazaCanceladaCorrectamente": "Trace cancelled successfully",
"trazaMarcadaComoExitosaCorrectamente": "Trace marked as successful successfully",
"unidadOrganizativa": "Unidad Organizativa",
"unidadesOrganizacionalesPermitidas": "Units Organizacionales Permitidas",
"urlPublica": "Url pública",
"size": "Tamaño",
"taskUpdatedSuccessfully": "Task actualizada con éxito",
"taskCanceledSuccessfully": "Task cancelled successfully",
"taskCreatedSuccessfully": "Task creada con éxito",
"imageCreationTask": "Task de creación de image scheduled con éxito",
"taskDeletedSuccessfully": "Task eliminada con éxito",
"successfullyScheduledTask": "Task scheduled successfully",
"type": "Type",
"typeOfProgramming": "Type de Programación",
"unrecognizedActionType": "Type de acción not reconocido",
"traceCanceledSuccessfully": "Trace cancelled successfully",
"traceMarkedAsSuccessfulCorrectly": "Trace marked as successful successfully",
"organizationalUnit": "Unidad Organizativa",
"allowedOrganizationalUnits": "Units Organizacionales Permitidas",
"userDeletedSuccessfully": "User deleted successfully",
"uso": "Uso",
"usuario": "User",
"usuarioAnadidoCorrectamente": "User añadido successfully",
"usuarioEditadoCorrectamente": "User edited successfully",
"variablesDeEntornoGuardadasCorrectamente": "Variables de entorno guardadas . successfully",
"use": "Uso",
"user": "User",
"userAddedSuccessfully": "User añadido successfully",
"userEditedSuccessfully": "User edited successfully",
"environmentVariablesSavedCorrectly": "Variables de entorno guardadas . successfully",
"version": "Version",
"vistaDeGrupos": "Vista de Groups",
"vistaPreviaGeneradaPulsaGuardar": "Vista previa generada. Pulsa Saving para aplicar the template remota permanentemente.",
"groupView": "Vista de Groups",
"generatedPreviewPressSave": "Vista previa generada. Pulsa Saving para aplicar the template remota permanentemente.",
"ogLiveDeletedSuccessfully": "OG Live deleted successfully",
"deseaPropagarLosParametrosDe": "¿Desea propagar the parámetros de network (ogLive, repository, menú, template PXE, profile hardware) a todos the clientes de esta unidad organizativa?",
"estasSeguroDeQueQuieres": "¿Estás seguro de que quieres cancelling todas the acciones mostradas?",
"estasSeguroQueDeseasEliminar": "¿Estás seguro que deseas deleting este repository? Esta acción not se puede deshacer.",
"ambito": "Ámbito"
"youWantToPropagateTheParametersOf": "¿Desea propagar the parámetros de network (ogLive, repository, menú, template PXE, profile hardware) a todos the clientes de esta unidad organizativa?",
"areYouSureYouWant": "¿Estás seguro de que quieres cancelling todas the acciones mostradas?",
"areYouSureYouWantToDelete": "¿Estás seguro que deseas deleting este repository? Esta acción not se puede deshacer.",
"scope": "Ámbito"
}

View File

@ -82,9 +82,9 @@
"viewCommands": "Ver comandos",
"paginationStepText": "Navega entre las páginas usando el paginador.",
"commandGroupDetailsTitle": "Detalles del Grupo de Comandos",
"createdBy": "Creado por",
"createdBy": "Created por",
"groupId": "ID del Grupo",
"creationDate": "Fecha de creación",
"creationDate": "Date de creación",
"includedCommands": "Comandos Incluidos",
"nameColumn": "Nombre",
"selectClients": "Selecciona los clientes:",
@ -464,7 +464,7 @@
"taskSchedule": "Programación de Tarea",
"repetition": "Repetición",
"executionDate": "Fecha de ejecución",
"executionTime": "Hora de ejecución",
"executionTime": "Time de ejecución",
"timeFormatHint": "Hora en formato 24h (ej: 14:30)",
"weekDaysLabel": "Días de la semana",
"monthsLabel": "Meses",
@ -496,7 +496,7 @@
"dhcp": "DHCP",
"TOOLTIP_DHCP": "Configurar y administrar DHCP",
"TOOLTIP_DHCP_STATUS": "Estado actual del servicio DHCP",
"subnets": "Subredes",
"subnets": "Subnets",
"TOOLTIP_SUBNETS": "Gestionar y crear subredes",
"dhcpServers": "Servidores DHCP",
"TOOLTIP_DHCP_SERVERS": "Gestionar y registrar servidores DHCP",
@ -522,7 +522,7 @@
"TOOLTIP_OPERATIVE_SYSTEMS": "Configurar sistemas operativos",
"images": "Imágenes",
"TOOLTIP_IMAGES": "Gestionar imágenes del sistema",
"repositories": "Repositorios",
"repositories": "Repositories",
"TOOLTIP_REPOSITORIES": "Ver y gestionar repositorios de software",
"menus": "Menús",
"TOOLTIP_MENUS": "Gestión de menús (opción deshabilitada)",
@ -562,7 +562,7 @@
"CpuUsage": "Uso de CPU",
"processes": "Procesos",
"usedPercentageLabel": "Usado",
"repository": "Repositorio",
"repository": "Repository",
"addRepository": "Añadir repositorio",
"addRepositoryStepText": "Haz clic para añadir un nuevo repositorio.",
"repositoryTitleStep": "En esta pantalla se pueden gestionar los repositorios de imágenes.",
@ -632,7 +632,7 @@
"fromDate": "Desde",
"toDate": "Hasta",
"sortBy": "Ordenar por",
"command": "Comando",
"command": "Command",
"client": "Cliente",
"showingResults": "Mostrando {{from}} a {{to}} de {{total}} resultados",
"refresh": "Actualizar",
@ -640,7 +640,7 @@
"viewInput": "Ver entrada",
"viewOutput": "Ver salida",
"deleteTrace": "Eliminar traza",
"cancelTrace": "Cancelar Traza",
"cancelTrace": "Cancelling Trace",
"enterClientName": "Por favor, ingrese el nombre del cliente",
"organizationalUnits": "Unidades Organizacionales",
"totalEquipments": "Total de Equipos",
@ -682,7 +682,7 @@
"catSystemControlDesc": "Encender, apagar, reiniciar o iniciar sesión",
"catCustomScript": "Script personalizado",
"catCustomScriptDesc": "Ejecutar un script nuevo o guardado",
"createImage": "Crear imagen",
"createImage": "Creating image",
"partitionAndFormat": "Particionar y formatear",
"backToCategories": "Volver a categorías",
"systemActionHint": "Esta acción se ejecutará directamente sobre los equipos asignados a la tarea. No requiere configuración adicional.",
@ -1112,7 +1112,7 @@
"syncDatabase": "Sincronizar base de datos",
"syncServer": "Sincronizar servidor",
"syncAll": "Sincronizar todo",
"fileSystem": "Sistema de ficheros",
"fileSystem": "System de ficheros",
"fileSystemAlt": "Sistema de ficheros",
"operativeSystem": "Sistema operativo",
"onlySubnets": "Solo Subredes",
@ -1131,7 +1131,7 @@
"maxWaitTime": "Tiempo máx. espera",
"labelType": "Tipo",
"imageType": "Tipo de imagen",
"partitionType": "Tipo de partición",
"partitionType": "Type de partición",
"labelTotal": "Total",
"labelTotalColon": "Total:",
"transferImage": "Transferir imagen",
@ -1191,220 +1191,200 @@
"saveFiltersDialogWorks": "save-filters-dialog works!",
"showDetailsWorks": "show-details works!",
"queueActionsForFailedPcs": "¿Quieres que se encolen las acciones para cuyos PCs no se pueda ejecutar?",
"errorAlActualizarCliente": "Error al updating client:",
"accionNoSoportada": "Acción not soportada:",
"archivoCsvExportadoCorrectamente": "File CSV exportado successfully",
"archivoCargadoCorrectamenteLosDatos": "File cargado , the data están listos para enviarse. successfully",
"asistenteDeParticionado": "Asistente de particionado",
"backupIniciadoCorrectamente": "Backup started successfully",
"errorUpdatingClient": "Error al updating the client:",
"unsupportedAction": "Acción not soportada:",
"csvFileExportedSuccessfully": "File CSV exportado successfully",
"fileSuccessfullyUploadedData": "File cargado , the data están listos para enviarse. successfully",
"partitioningAssistant": "Asistente de particionado",
"backupStartedSuccessfully": "Backup started successfully",
"calendarCreatedSuccessfully": "Calendar created successfully",
"calendarDeletedSuccessfully": "Calendar deleted successfully",
"calendarRuleCreatedSuccessfully": "Calendar rule created successfully",
"calendarRuleUpdatedSuccessfully": "Calendar rule updated successfully",
"calendarUpdatedSuccessfully": "Calendar updated successfully",
"calendariosSincronizadosCorrectamente": "Calendarios sincronizados successfully",
"cancelarTraza": "Cancelling Trace",
"cliente": "Client",
"clienteActualizadoCorrectamente": "Client updated successfully",
"clienteActualizadoExitosamente": "Client updated successfully",
"clienteActualizado": "Client updated!",
"clienteCreadoExitosamente": "Client created successfully",
"clienteEliminadoExitosamenteDeLa": "Client deleted de the network successfully",
"clientesPorPagina": "Clientes por página",
"comando": "Command",
"comandoAnadidoCorrectamente": "Command añadido successfully",
"comandoEditado": "Command edited",
"comandoEditadoCorrectamente": "Command edited successfully",
"comandoEjecutadoConExito": "Command executed con éxito",
"comandoEliminadoConExito": "Command deleted con éxito",
"commitIdCopiadoAlPortapapeles": "Commit ID copiado al portapapeles",
"configuracionDeRedActualizadaExitosamente": "Configuración de network actualizada successfully",
"configuracionDeRedAnadidaExitosamente": "Configuración de network añadida successfully",
"confirmarMigracionDeServidores": "Confirmar migración de servidores",
"contenido": "Contenido",
"contrasenaCambiadaConExito": "Contraseña cambiada con éxito",
"creadoEnRepositorio": "Created en repository",
"creadoExitosamente": "Created successfully",
"creadoPor": "Created por",
"crearImagen": "Creating image",
"codigo": "Código",
"datosActualizados": "Data actualizados",
"datosActualizadosCorrectamente": "Data actualizados successfully",
"datosCargadosCorrectamenteLosDatos": "Data cargados , the data están listos para enviarse. successfully",
"debeEspecificarFechaDeInicio": "Must especificar date de inicio y date de fin",
"debeIngresarUnScript": "Must ingresar a script",
"debeIngresarUnScriptAntes": "Must ingresar a script antes de saving.",
"debeSeleccionarAlMenosUn": "Must select al menos a client",
"debeSeleccionarAlMenosUn1": "Must select al menos a día de the semana",
"debeSeleccionarAlMenosUn2": "Must select al menos a mes",
"debeSeleccionarUnCommit": "Must select a commit",
"debeSeleccionarUnMetodo": "Must select a método",
"debeSeleccionarUnRepositorioPrimero": "Must select a repository primero",
"debeSeleccionarUnScript": "Must select a script",
"debeSeleccionarUnServidorDhcp": "Must select a server DHCP para sincronizar",
"debeSeleccionarUnaImagen": "Must select a image",
"debeSeleccionarUnaParticion": "Must select a partición",
"debeSeleccionarUnaUnidadOrganizativa": "Must select a unidad organizativa",
"debesIntroducirUnNombreCanonico": "Debes introducir a name canónico para the image",
"debesIntroducirUnOrdenDe": "Debes introducir a orden de ejecución válido (mayor que 0).",
"debesSeleccionarUnaImagenPara": "Debes select a image para updating",
"debesSeleccionarUnaParticion": "Debes select a partición",
"debesSeleccionarUnaTareaExistente": "Debes select a task existente.",
"descripcion": "Descripción",
"desplegarImagen": "Desplegar image",
"detallesDelCommit": "Details del Commit",
"disco": "Disco",
"diasDeLaSemana": "Días de the semana",
"editadoExitosamente": "Edited successfully",
"editadoYParametrosPropagadosExitosamente": "Edited y parámetros propagados successfully",
"ejecucion": "Ejecución",
"ejecucionUnica": "Ejecución única",
"ejecutarScript": "Ejecutar script",
"elTamanoTotalDeLas": "The tamaño total de the partitions en the disco seleccionado excede the tamaño total del disco.",
"elementoEliminadoCorrectamente": "Elemento deleted . successfully",
"eliminadoCorrectamente": "Deleted successfully",
"eliminarRepositorio": "Deleting Repository",
"calendarsSynchronizedCorrectly": "Calendarios sincronizados successfully",
"customer": "Client",
"clientUpdatedSuccessfully": "Client updated successfully",
"clientSuccessfullyUpdated": "Client updated successfully",
"updatedClient": "Client updated!",
"clientCreatedSuccessfully": "Client created successfully",
"clientSuccessfullyRemovedFromThe": "Client deleted de the network successfully",
"commandAddedSuccessfully": "Command añadido successfully",
"editedCommand": "Command edited",
"commandEditedSuccessfully": "Command edited successfully",
"commandExecutedSuccessfully": "Command executed con éxito",
"commandRemovedSuccessfully": "Command deleted con éxito",
"commitIdCopiedToClipboard": "Commit ID copiado al portapapeles",
"networkConfigurationUpdatedSuccessfully": "Configuración de network actualizada successfully",
"networkConfigurationAddedSuccessfully": "Configuración de network añadida successfully",
"confirmServerMigration": "Confirmar migración de servidores",
"content": "Contenido",
"passwordChangedSuccessfully": "Contraseña cambiada con éxito",
"createdInRepository": "Created en repository",
"successfullyCreated": "Created successfully",
"code": "Código",
"updatedData": "Data actualizados",
"dataUpdatedCorrectly": "Data actualizados successfully",
"dataSuccessfullyLoadedData": "Data cargados , the data están listos para enviarse. successfully",
"youMustSpecifyStartDate": "Must especificar date de inicio y date de fin",
"youMustEnterAScript": "Must ingresar a script",
"youMustEnterAScriptBefore": "Must ingresar a script antes de saving.",
"youMustSelectAtLeastOne": "Must select al menos a client",
"youMustSelectAtLeastOne1": "Must select al menos a día de the semana",
"youMustSelectAtLeastOne2": "Must select al menos a mes",
"youMustSelectACommit": "Must select a commit",
"youMustSelectAMethod": "Must select a método",
"youMustSelectARepositoryFirst": "Must select a repository primero",
"youMustSelectAScript": "Must select a script",
"youMustSelectADhcpServer": "Must select a server DHCP para sincronizar",
"youMustSelectAnImage": "Must select a image",
"youMustSelectAPartition": "Debes select a partición",
"youMustSelectAnOrganizationalUnit": "Must select a unidad organizativa",
"youMustEnterACanonicalName": "Debes introducir a name canónico para the image",
"youMustEnterAnOrderOf": "Debes introducir a orden de ejecución válido (mayor que 0).",
"youMustSelectAnImageTo": "Debes select a image para updating",
"youMustSelectAnExistingTask": "Debes select a task existente.",
"description": "Descripción",
"displayImage": "Desplegar image",
"commitDetails": "Details del Commit",
"disk": "Disco",
"daysOfTheWeek": "Días de the semana",
"successfullyEdited": "Edited successfully",
"editedAndParametersPropagatedSuccessfully": "Edited y parámetros propagados successfully",
"execution": "Ejecución",
"uniqueExecution": "Ejecución única",
"theTotalSizeOfThe": "The tamaño total de the partitions en the disco seleccionado excede the tamaño total del disco.",
"itemRemovedSuccessfully": "Elemento deleted . successfully",
"removedSuccessfully": "Deleted successfully",
"deleteRepository": "Deleting Repository",
"error401RedirectToLogin": "Error 401, redirect to login page",
"errorActualizandoElGrupoDe": "Error actualizando the group de comandos",
"errorAlActualizarCliente1": "Error al updating client:",
"errorAlActualizarElCliente": "Error al updating the client:",
"errorAlActualizarElGrupo": "Error al updating the group de comandos",
"errorAlActualizarLaSubred": "Error al updating the subnet en the server",
"errorAlActualizarLaTarea": "Error al updating the task",
"errorAlAnadirComando": "Error al añadir command",
"errorAlAnadirElMenu": "Error al añadir the menu",
"errorAlAnadirLaImagen": "Error al añadir the image",
"errorAlAnadirRol": "Error al añadir role",
"errorAlAnadirRol1": "Error al añadir role:",
"errorAlAnadirSistemaOperativo": "Error al añadir system operative",
"errorAlAnadirSoftware": "Error al añadir software",
"errorAlCancelarLaTraza": "Error al cancelling the trace",
"errorAlCancelarLasAcciones": "Error al cancelling the acciones",
"errorAlCancelarLasAcciones1": "Error al cancelling the acciones:",
"errorAlCargarComandos": "Error al loading comandos:",
"errorAlCargarDatosDe": "Error al loading data de Git:",
"errorAlCargarDatosDel": "Error al loading data del client:",
"errorAlCargarElEstado": "Error al loading the status del dhcp",
"errorAlCargarElEstado1": "Error al loading the status del repository",
"errorAlCargarElEstado2": "Error al loading the status del server de boot",
"errorAlCargarGruposDe": "Error al loading groups de comandos:",
"errorAlCargarInformacionDe": "Error al loading información de Git",
"errorAlCargarLaInformacion": "Error al loading the información del alert",
"errorAlCargarLaLista": "Error al loading the lista de Dhcps",
"errorAlCargarLaLista1": "Error al loading the lista de Servidores de Boot",
"errorAlCargarLaLista2": "Error al loading the lista de repositories",
"errorAlCargarLaRuta": "Error al loading the ruta actual.",
"errorAlCargarLasImagenes": "Error al loading the imágenes de repository git:",
"errorAlCargarLasImagenes1": "Error al loading the imágenes existentes",
"errorAlCargarLasImagenes2": "Error al loading the imágenes existentes:",
"errorAlCargarLasImagenes3": "Error al loading the imágenes:",
"errorAlCargarLasParticiones": "Error al loading the partitions:",
"errorAlCargarLasPlantillas": "Error al loading the templates",
"errorAlCargarLasProgramaciones": "Error al loading the programaciones",
"errorAlCargarLasRamas": "Error al loading the ramas",
"errorAlCargarLasRamas1": "Error al loading the ramas del repository",
"errorAlCargarLasTareas": "Error al loading the tareas existentes",
"errorAlCargarLasUnidades": "Error al loading the units organizacionales",
"errorAlCargarLosClientes": "Error al loading the clientes de the unidad organizativa",
"errorAlCargarLosClientes1": "Error al loading the clientes:",
"errorAlCargarLosComandos": "Error al loading the comandos individuales",
"errorAlCargarLosCommits": "Error al loading the commits",
"errorAlCargarLosDatos": "Error al loading the data de the task",
"errorAlCargarLosDatos1": "Error al loading the data del client:",
"errorAlCargarLosGrupos": "Error al loading the groups de comandos",
"errorAlCargarLosRepositorios": "Error al loading the repositories",
"errorAlCargarLosRepositorios1": "Error al loading the repositories git",
"errorAlCargarLosRepositorios2": "Error al loading the repositories git:",
"errorAlComprobarElEstado": "Error al comprobar the status del classroom",
"errorAlCopiarAlPortapapeles": "Error al copiar al portapapeles",
"errorAlCrearElGrupo": "Error al creating the group de comandos",
"errorAlCrearLaTarea": "Error al creating the task",
"errorAlCrearLasParticiones": "Error al creating the partitions.",
"errorAlCrearSubredEn": "Error al creating subnet en server",
"errorAlEditarElComando": "Error al editing the command",
"errorAlEditarElRol": "Error al editing the role",
"errorAlEditarElRol1": "Error al editing the role:",
"errorAlEditarElSistema": "Error al editing the system operative",
"errorAlEditarElSoftware": "Error al editing the software",
"errorAlEditarLaImagen": "Error al editing the image",
"errorAlEjecutarElComando": "Error al ejecutar the command:",
"errorAlEjecutarElScript": "Error al ejecutar the script",
"errorAlEliminarElComando": "Error al deleting the command:",
"errorAlEliminarElGrupo": "Error al deleting the group de comandos:",
"errorAlEliminarElMenu": "Error al deleting the menú:",
"errorAlEliminarElRepositorio": "Error al deleting the repository",
"errorAlEliminarElRepositorio1": "Error al deleting the repository:",
"errorAlEliminarElServidor": "Error al deleting the server",
"errorAlEliminarLaImagen": "Error al deleting the image:",
"errorAlEliminarLaSubred": "Error al deleting the subnet",
"errorAlEliminarLaTarea": "Error al deleting the task:",
"errorAlEliminarLasLeases": "Error al deleting the leases DHCP",
"errorAlEliminarLosClientes": "Error al deleting the clientes seleccionados",
"errorAlEliminarServidor": "Error al deleting server:",
"errorAlFiltrarLasUnidades": "Error al filtrar the units organizacionales",
"errorAlGuardarLasVariables": "Error al saving the variables de entorno:",
"errorAlMarcarLaTraza": "Error al marcar the trace as successful",
"errorAlObtenerElEstado": "Error al fetching the status del server",
"errorAlObtenerLasParticiones": "Error al fetching the partitions:",
"errorAlObtenerLosClientes": "Error al fetching the clientes PXE:",
"errorAlObtenerLosClientes1": "Error al fetching the clientes de the unidad organizativa:",
"errorAlObtenerLosDetalles": "Error al fetching the details del profile de hardware",
"errorAlObtenerLosPerfiles": "Error al fetching the perfiles de software",
"errorAlObtenerLosRepositorios": "Error al fetching the repositories de imágenes",
"errorAlPropagarParametros": "Error al propagar parámetros:",
"errorAlRealizarPost": "Error al performing POST:",
"errorAlRealizarPut": "Error al performing PUT:",
"errorAlRealizarLaPeticion": "Error al performing the petición de backup de image",
"errorAlSincronizar": "Error al sincronizar",
"errorAlSincronizarImagenesOglive": "Error al sincronizar imagenes ogLive: tiempo de espera agotado",
"errorAlSincronizarLasPlantillas": "Error al sincronizar the templates Pxe: tiempo de espera agotado",
"errorAlSincronizarLasSubredes": "Error al sincronizar the subnets: tiempo de espera agotado",
"errorAlSincronizarSubredes": "Error al sincronizar subnets",
"errorCancellingInprogressTrace": "Error cancelling in-progress trace:",
"errorCancellingPendingTrace": "Error cancelling pending trace:",
"errorCargandoLasUnidadesOrganizativas": "Error cargando the Units Organizational",
"errorCargandoLosDatos": "Error cargando the data",
"errorCargandoLosDatosDel": "Error cargando the data del server",
"errorUpdatingGroup": "Error al updating the group de comandos",
"errorUpdatingClient1": "Error al updating client:",
"errorUpdatingSubnet": "Error al updating the subnet en the server",
"errorUpdatingTask": "Error al updating the task",
"errorWhenAddingCommand": "Error al añadir command",
"errorAddingMenu": "Error al añadir the menu",
"errorAddingImage": "Error al añadir the image",
"errorAddingRole": "Error al añadir role",
"errorAddingRole1": "Error al añadir role:",
"errorAddingOperatingSystem": "Error al añadir system operative",
"errorAddingSoftware": "Error al añadir software",
"errorCancelingTrace": "Error al cancelling the trace",
"errorCancelingActions": "Error al cancelling the acciones",
"errorCancelingActions1": "Error al cancelling the acciones:",
"errorLoadingCommands": "Error al loading the comandos individuales",
"errorLoadingData": "Error cargando the data del server",
"errorLoadingState": "Error al loading the status del dhcp",
"errorLoadingState1": "Error al loading the status del repository",
"errorLoadingState2": "Error al loading the status del server de boot",
"errorLoadingGroups": "Error al loading the groups de comandos",
"errorLoadingInformation": "Error al loading the información del alert",
"errorLoadingList": "Error al loading the lista de Dhcps",
"errorLoadingList1": "Error al loading the lista de Servidores de Boot",
"errorLoadingList2": "Error al loading the lista de repositories",
"errorLoadingRoute": "Error al loading the ruta actual.",
"errorLoadingImages": "Error al loading the imágenes de repository git:",
"errorLoadingImages1": "Error al loading the imágenes existentes",
"errorLoadingImages2": "Error al loading the imágenes existentes:",
"errorLoadingImages3": "Error al loading the imágenes:",
"errorLoadingPartitions": "Error al loading the partitions:",
"errorLoadingTemplates": "Error al loading the templates",
"errorLoadingProgramming": "Error al loading the programaciones",
"errorLoadingBranches": "Error al loading the ramas",
"errorLoadingBranches1": "Error al loading the ramas del repository",
"errorLoadingTasks": "Error al loading the tareas existentes",
"errorLoadingUnits": "Error al loading the units organizacionales",
"errorLoadingClients": "Error al loading the clientes de the unidad organizativa",
"errorLoadingClients1": "Error al loading the clientes:",
"errorLoadingCommits": "Error al loading the commits",
"errorLoadingData1": "Error al loading the data del client:",
"errorLoadingRepositories": "Error al loading the repositories",
"errorLoadingRepositories1": "Error al loading the repositories git",
"errorLoadingRepositories2": "Error al loading the repositories git:",
"errorCheckingStatus": "Error al comprobar the status del classroom",
"errorWhenCopyingToClipboard": "Error al copiar al portapapeles",
"errorCreatingGroup": "Error creando the group de comandos",
"errorCreatingTask": "Error al creating the task",
"errorCreatingPartitions": "Error al creating the partitions.",
"errorCreatingSubnetOn": "Error al creating subnet en server",
"errorEditingCommand": "Error al editing the command",
"errorEditingRole": "Error al editing the role",
"errorEditingRole1": "Error al editing the role:",
"errorEditingSystem": "Error al editing the system operative",
"errorWhenEditingTheSoftware": "Error al editing the software",
"errorWhenEditingImage": "Error al editing the image",
"errorWhenExecutingCommand": "Error al ejecutar the command:",
"errorWhenRunningScript": "Error al ejecutar the script",
"errorDeletingCommand": "Error al deleting the command:",
"errorDeletingGroup": "Error al deleting the group de comandos:",
"errorWhenDeletingMenu": "Error al deleting the menú:",
"errorDeletingRepository": "Error al deleting the repository",
"errorDeletingRepository1": "Error al deleting the repository:",
"errorDeletingServer": "Error al deleting server:",
"errorDeletingImage": "Error deleting image",
"errorDeletingSubnet": "Error al deleting the subnet",
"errorDeletingTask": "Error al deleting the task:",
"errorWhenDeletingLeases": "Error al deleting the leases DHCP",
"errorDeletingClients": "Error al deleting the clientes seleccionados",
"errorWhenFilteringUnits": "Error al filtrar the units organizacionales",
"errorSavingVariables": "Error al saving the variables de entorno:",
"errorWhenMarkingTheTrace": "Error al marcar the trace as successful",
"errorGettingStatus": "Error al fetching the status del server",
"errorGettingPartitions": "Error al fetching the partitions:",
"errorGettingClients": "Error al fetching the clientes PXE:",
"errorGettingClients1": "Error al fetching the clientes de the unidad organizativa:",
"errorGettingDetails": "Error al fetching the details del profile de hardware",
"errorGettingProfiles": "Error al fetching the perfiles de software",
"errorGettingRepositories": "Error al fetching the repositories de imágenes",
"errorWhenPropagatingParameters": "Error al propagar parámetros:",
"errorWhenMakingPost": "Error al performing POST:",
"errorWhenMakingPut": "Error al performing PUT:",
"errorWhenMakingTheRequest": "Error al performing the petición de backup de image",
"synchronizationError": "Error al sincronizar",
"errorWhenSynchronizingOgliveImages": "Error al sincronizar imagenes ogLive: tiempo de espera agotado",
"errorSyncingTemplates": "Error al sincronizar the templates Pxe: tiempo de espera agotado",
"errorSyncingSubnets": "Error al sincronizar subnets",
"errorCancelingInprogressTrace": "Error cancelling in-progress trace:",
"errorCancelingPendingTrace": "Error cancelling pending trace:",
"errorLoadingOrganizationalUnits": "Error cargando the Units Organizational",
"errorChangingPassword": "Error changing password:",
"errorCreandoElGrupoDe": "Error creando the group de comandos",
"errorDecodingJwt": "Error decoding JWT",
"jwtDecodingError": "Error decoding JWT",
"errorDeletingAsset": "Error deleting asset",
"errorDeletingCalendar": "Error deleting calendar",
"errorDeletingElement": "Error deleting element",
"errorDeletingEntity": "Error deleting entity:",
"errorDeletingHardware": "Error deleting hardware",
"errorDeletingImage": "Error deleting image",
"hardwareDeletingError": "Error deleting hardware",
"errorDeletingMultipleClients": "Error deleting multiple clients",
"errorDeletingMultipleClients1": "Error deleting multiple clients:",
"errorDeletingOperativeSystem": "Error deleting operative system",
"errorDeletingOperatingSystem": "Error deleting operative system",
"errorDeletingRole": "Error deleting role:",
"errorDeletingUser": "Error deleting user:",
"errorDuranteLaSincronizacion": "Error durante the sincronización",
"errorDuranteLaSincronizacion1": "Error durante the sincronización:",
"errorEjecutandoGrupoDeComandos": "Error ejecutando group de comandos:",
"errorEnLaPeticionDe": "Error en the petición de exportación de image",
"errorFetchingBootservers": "Error fetching BootServers:",
"errorDuringSynchronization": "Error durante the sincronización",
"errorDuringSynchronization1": "Error durante the sincronización:",
"errorExecutingGroupOfCommands": "Error ejecutando group de comandos:",
"errorInTheRequest": "Error en the petición de exportación de image",
"fetchingBootserversError": "Error fetching BootServers:",
"errorFetchingDhcpServersFor": "Error fetching DHCP servers for subnet sync",
"errorFetchingPxeTemplatesBy": "Error fetching PXE templates by server:",
"errorFetchingAssets": "Error fetching assets",
"fetchingAssetsError": "Error fetching assets",
"errorFetchingAvailableCommands": "Error fetching available commands",
"errorFetchingBootServer": "Error fetching boot server:",
"errorFetchingBranches": "Error fetching branches",
"fetchingBootServerError": "Error fetching boot server:",
"fetchingBranchesError": "Error fetching branches",
"errorFetchingBranchesForGit": "Error fetching branches for Git data",
"errorFetchingCalendar": "Error fetching calendar",
"fetchingCalendarError": "Error fetching calendar",
"errorFetchingCalendars": "Error fetching calendars",
"errorFetchingChildUnits": "Error fetching child units:",
"errorFetchingChildren": "Error fetching children",
"errorFetchingClientTraces": "Error fetching client traces",
"errorFetchingClients": "Error fetching clients",
"errorFetchingClients1": "Error fetching clients:",
"errorFetchingCommandGroups": "Error fetching command groups",
"errorFetchingCommands": "Error fetching commands",
"errorFetchingCommands1": "Error fetching commands:",
"fetchingClients1Error": "Error fetching clients:",
"fetchingCommandGroupsError": "Error fetching command groups",
"fetchingCommandsError": "Error fetching commands",
"fetchingCommands1Error": "Error fetching commands:",
"errorFetchingCommits": "Error fetching commits",
"errorFetchingData": "Error fetching data",
"fetchingDataError": "Error fetching data",
"errorFetchingDataForEdit": "Error fetching data for edit:",
"errorFetchingDhcpServer": "Error fetching dhcp server:",
"dhcpServerFetchingError": "Error fetching dhcp server:",
"errorFetchingDownloads": "Error fetching downloads:",
"errorFetchingFilters": "Error fetching filters",
"errorFetchingFilters1": "Error fetching filters:",
@ -1415,29 +1395,28 @@
"errorFetchingMenus": "Error fetching menus",
"errorFetchingMenus1": "Error fetching menus:",
"errorFetchingOglivesByServer": "Error fetching ogLives by server:",
"errorFetchingOglives": "Error fetching ogLives:",
"errorFetchingOperativeSystems": "Error fetching operative systems:",
"fetchingOglivesError": "Error fetching ogLives:",
"errorFetchingOperatingSystems": "Error fetching operative systems:",
"errorFetchingOrganizationalUnit": "Error fetching organizational unit",
"errorFetchingOrganizationalUnits": "Error fetching organizational units",
"errorFetchingOrganizationalUnits": "Error fetching units organizational",
"errorFetchingOrganizationalUnits1": "Error fetching organizational units:",
"errorFetchingParentUnits": "Error fetching parent units:",
"errorFetchingPxeTemplates": "Error fetching pxe templates",
"errorFetchingRawMenuTemplate": "Error fetching raw menu template",
"errorFetchingRemoteCalendar": "Error fetching remote calendar:",
"errorFetchingRemoteCalendars": "Error fetching remote calendars",
"errorFetchingRepositories": "Error fetching repositories",
"errorFetchingRepositories1": "Error fetching repositories:",
"fetchingRepositoriesError": "Error fetching repositories",
"fetchingRepositories1Error": "Error fetching repositories:",
"errorFetchingRoles": "Error fetching roles",
"errorFetchingRoomData": "Error fetching room data:",
"errorFetchingSoftware": "Error fetching software:",
"softwareFetchingError": "Error fetching software:",
"errorFetchingStatsByStatus": "Error fetching stats by status:",
"errorFetchingTasks": "Error fetching tasks",
"fetchingTasksError": "Error fetching tasks",
"errorFetchingTraces": "Error fetching traces",
"errorFetchingUnidadesOrganizativas": "Error fetching units organizational",
"errorFetchingUserGroup": "Error fetching user group",
"errorFetchingUserGroups": "Error fetching user groups",
"errorFetchingUser": "Error fetching user:",
"errorFetchingUsers": "Error fetching users",
"fetchingUserError": "Error fetching user:",
"fetchingUsersError": "Error fetching users",
"errorLoadingCalendars": "Error loading calendars",
"errorLoadingConfigjson": "Error loading config.json",
"errorLoadingCurrentCalendar": "Error loading current calendar",
@ -1446,223 +1425,210 @@
"errorMarkingTraceAsSuccess": "Error marking trace as success:",
"errorPreviewingMenuTemplate": "Error previewing menu template",
"errorUploadingAssets": "Error uploading assets",
"estaUnidadOrganizativaNoTiene": "Esta unidad organizativa not tiene clientes",
"estado": "Status",
"estadoDelAulaActualizado": "Status del classroom updated",
"estadoDelDhcpActualizadoCorrectamente": "Status del dhcp updated successfully",
"estadoDelRepositorioActualizadoCorrectamente": "Status del repository updated successfully",
"estadoDelServidorDeBoot": "Status del server de boot updated successfully",
"estadisticas": "Estadísticas",
"thisOrganizationalUnitDoesNotHave": "Esta unidad organizativa not tiene clientes",
"state": "Status",
"classroomStatusUpdated": "Status del classroom updated",
"dhcpStatusUpdatedSuccessfully": "Status del dhcp updated successfully",
"successfullyUpdatedRepositoryStatus": "Status del repository updated successfully",
"bootServerStatus": "Status del server de boot updated successfully",
"statistics": "Estadísticas",
"failedToDecodePreviousFilecontent": "Failed to decode previous fileContent Base64",
"failedToEncodeUpdatedHtml": "Failed to encode updated HTML to Base64",
"failedToPreviewGeneratedHtml": "Failed to preview generated HTML",
"fechaDeCreacion": "Date de creación",
"fechaDelCommit": "Date del commit",
"finalizacion": "Finalización",
"commitDate": "Date del commit",
"ending": "Finalización",
"formIsInvalid": "Form is invalid",
"formularioInvalidoPorFavorRevise": "Formulario inválido. Por favor, revise the campos obligatorios.",
"invalidFormPleaseReview": "Formulario inválido. Por favor, revise the campos obligatorios.",
"fullsum": "Fullsum",
"gestionarImagenes": "Gestionar imágenes",
"gestiones": "Gestiones",
"grupoDeComandosActualizadoCon": "Group de comandos updated con éxito",
"grupoDeComandosCreadoCon": "Group de comandos created con éxito",
"grupoDeComandosEjecutadoExitosamente": "Group de comandos executed successfully",
"grupoDeComandosEliminadoCon": "Group de comandos deleted con éxito",
"guardadoPeroHuboUnError": "Saved, pero hubo a Error al propagar the parámetros",
"manageImages": "Gestionar imágenes",
"efforts": "Gestiones",
"commandGroupUpdatedWith": "Group de comandos updated con éxito",
"commandGroupCreatedWith": "Group de comandos created con éxito",
"groupOfCommandsExecutedSuccessfully": "Group de comandos executed successfully",
"commandGroupRemovedWith": "Group de comandos deleted con éxito",
"savedButThereWasAnError": "Saved, pero hubo a Error al propagar the parámetros",
"hardwareDeletedSuccessfully": "Hardware deleted successfully",
"horaDeEjecucion": "Time de ejecución",
"huboUnProblemaProcesandoLos": "Hubo a problema procesando the caracteres especiales del HTML.",
"thereWasAProblemProcessingThe": "Hubo a problema procesando the caracteres especiales del HTML.",
"id": "ID",
"ipAddress": "IP Address",
"id1": "Id",
"idServidorDhcp": "Id Server DHCP",
"dhcpServerId": "Id Server DHCP",
"imageCreatedSuccessfully": "Image created successfully",
"imageDeletedSuccessfully": "Image deleted successfully",
"imageUpdatedSuccessfully": "Image updated successfully",
"imagenGlobal": "Image Global",
"imagenAnadidaCorrectamente": "Image añadida successfully",
"imagenEditadaCorrectamente": "Image editada successfully",
"imagenEliminadaConExito": "Image eliminada con éxito",
"imagenGlobal1": "Image global",
"imagenPorDefecto": "Image por defecto",
"imagenRenombradaCorrectamente": "Image renombrada successfully",
"informacionDelRepositorio": "Información del Repository",
"iniciarSesion": "Iniciar sesión",
"inventarioDeHardwareActualizadoCorrectamente": "Inventario de hardware updated successfully",
"inventarioDeSoftwareActualizadoCorrectamente": "Inventario de software updated successfully",
"globalImage": "Image Global",
"imageAddedSuccessfully": "Image añadida successfully",
"successfullyEditedImage": "Image editada successfully",
"imageSuccessfullyDeleted": "Image eliminada con éxito",
"globalImage1": "Image global",
"defaultImage": "Image por defecto",
"imageRenamedCorrectly": "Image renombrada successfully",
"repositoryInformation": "Información del Repository",
"login": "Iniciar sesión",
"hardwareInventorySuccessfullyUpdated": "Inventario de hardware updated successfully",
"successfullyUpdatedSoftwareInventory": "Inventario de software updated successfully",
"ip": "Ip",
"laFechaDeFinDebe": "The date de fin must ser posterior a the date de inicio",
"laFechaDeInicioNo": "The date de inicio not puede ser mayor que the date de fin",
"leaseDelClienteEliminadaCorrectamente": "Lease del client eliminada successfully",
"leasesDhcpEliminadasCorrectamente": "Lease(s) DHCP eliminada(s) successfully",
"leasesDeLaSubredEliminadas": "Leases de the subnet eliminadas successfully",
"listaDeClientes": "Lista de clientes",
"listaDeComandos": "Lista de comandos",
"theEndDateMust": "The date de fin must ser posterior a the date de inicio",
"theStartDateIsNot": "The date de inicio not puede ser mayor que the date de fin",
"clientLeaseRemovedSuccessfully": "Lease del client eliminada successfully",
"dhcpLeasesRemovedSuccessfully": "Lease(s) DHCP eliminada(s) successfully",
"subnetLeasesRemoved": "Leases de the subnet eliminadas successfully",
"clientList": "Lista de clientes",
"commandList": "Lista de comandos",
"mac": "Mac",
"marcarTrazaComoExitosa": "Marcar Trace as Successful",
"mensajeDelCommit": "Mensaje del commit",
"menuAnadidoCorrectamente": "Menu añadido successfully",
"menuEditadoCorrectamente": "Menu edited successfully",
"menuEliminadoConExito": "Menu deleted con éxito",
"meses": "Meses",
"markTraceAsSuccessful": "Marcar Trace as Successful",
"commitMessage": "Mensaje del commit",
"menuAddedSuccessfully": "Menu añadido successfully",
"menuEditedCorrectly": "Menu edited successfully",
"menuSuccessfullyRemoved": "Menu deleted con éxito",
"months": "Meses",
"netmask": "Netmask",
"noHayAccionesParaLimpiar": "Not hay acciones para limpiar",
"noHayCambiosParaGuardar": "Not hay cambios para saving en the disco seleccionado.",
"noHayCambiosPendientesDe": "Not hay cambios pendientes de performing",
"noHayClientesCargadosPara": "Not hay clientes cargados para añadir",
"noHayClientesPreseleccionadosPara": "Not hay clientes pre-seleccionados para este ámbito",
"noHayClientesSeleccionados": "Not hay clientes seleccionados",
"noHayClientesSeleccionadosPara": "Not hay clientes seleccionados para deleting",
"noHaySuficienteEspacioLibre": "Not hay suficiente espacio libre en the disco para creating a nueva partición.",
"noHayUnNodoSeleccionado": "Not hay a nodo seleccionado.",
"noSeEncontraronDatosValidos": "Not se encontraron data válidos",
"noSeEncontroElBoton": "Not se encontró the botón execute-button",
"noSeEncontroElNodo": "Not se encontró the nodo padre después de the creación masiva.",
"noSeHaCargadoLa": "Not se ha cargado the información del client",
"noSeHaSeleccionadoUn": "Not se ha seleccionado a disco.",
"noSePudieronCargarLas": "Not se pudieron loading the variables de entorno.",
"noSePudoCopiarEl": "Not se pudo copiar the script.",
"noSePudoDescargarEl": "Not se pudo descargar the HTML/Twig original del menú para editarlo.",
"noSePudoResolverEl": "Not se pudo resolver the name del server DHCP",
"noSePuedeAccederA": "Not se puede acceder a the logs: IP del client not disponible",
"noSePuedeAccederA1": "Not se puede acceder a the logs: MAC del client not disponible",
"noSeRecibieronDatosDel": "Not se recibieron data del client.",
"nombre": "Name",
"nombreDeUsuario": "Name de User",
"nombreDeImagen": "Name de image",
"nombreDeLaPlantilla": "Name de the template",
"nombreDeMenu": "Name de menú",
"nombreDeRepositorio": "Name de repository",
"nombreDeTarea": "Name de task",
"nDeReglas": "Nº de reglas",
"ocurrioUnErrorAlCargar": "Ocurrió a Error al loading the units organizational",
"noActionsToClean": "Not hay acciones para limpiar",
"noChangesToSave": "Not hay cambios para saving en the disco seleccionado.",
"noChangesPending": "Not hay cambios pendientes de performing",
"noClientsLoadedFor": "Not hay clientes cargados para añadir",
"thereAreNoPreselectedClientsFor": "Not hay clientes pre-seleccionados para este ámbito",
"noClientsSelected": "Not hay clientes seleccionados",
"thereAreNoClientsSelectedFor": "Not hay clientes seleccionados para deleting",
"notEnoughFreeSpace": "Not hay suficiente espacio libre en the disco para creating a nueva partición.",
"thereIsNoNodeSelected": "Not hay a nodo seleccionado.",
"notValidDataFound": "Not se encontraron data válidos",
"theButtonWasNotFound": "Not se encontró the botón execute-button",
"nodeNotFound": "Not se encontró the nodo padre después de the creación masiva.",
"hasNotBeenLoaded": "Not se ha cargado the información del client",
"noOneHasBeenSelected": "Not se ha seleccionado a disco.",
"couldNotBeLoaded": "Not se pudieron loading the variables de entorno.",
"couldNotCopy": "Not se pudo copiar the script.",
"couldNotDownload": "Not se pudo descargar the HTML/Twig original del menú para editarlo.",
"couldNotResolve": "Not se pudo resolver the name del server DHCP",
"cannotAccess": "Not se puede acceder a the logs: IP del client not disponible",
"cantAccess1": "Not se puede acceder a the logs: MAC del client not disponible",
"noDataWasReceivedFrom": "Not se recibieron data del client.",
"name": "Name",
"userName": "Name de User",
"imageName": "Name de image",
"templateName": "Name de the template",
"menuName": "Name de menú",
"repositoryName": "Name de repository",
"taskName": "Name de task",
"numberOfRules": "Nº de reglas",
"anErrorOccurredWhileLoading": "Ocurrió a Error al loading the units organizational",
"oglive": "OgLive",
"operativeSystemDeleted": "Operative System deleted",
"orden": "Orden",
"operatingSystemDeleted": "Operative System deleted",
"order": "Orden",
"parentChangedSuccessfully": "Parent changed successfully",
"particion": "Partition",
"particionarYFormatear": "Particionar y formatear",
"particionesCreadasExitosamenteParaEl": "Partitions creadas para the disco seleccionado. successfully",
"particion1": "Partición",
"parametros": "Parámetros",
"permisos": "Permissions",
"peticionDeBackupDeImagen": "Peticion de backup de image sent successfully",
"peticionDeConversionDeImagen": "Peticion de conversion de image sent successfully",
"peticionDeImportacionDeImagen": "Peticion de importacion de image sent successfully",
"peticionDeActualizacionEnviada": "Petición de actualizacion sent",
"peticionDeApagadoEnviadaCorrectamente": "Petición de apagado sent successfully",
"peticionDeArranqueDeSo": "Petición de arranque de SO sent successfully",
"peticionDeBorradoDeCache": "Petición de borrado de caché de image sent successfully",
"peticionDeCambioDeImagen": "Petición de cambio de image sent",
"peticionDeCreacionDeArchivos": "Petición de creación de files auxiliares sent",
"peticionDeDesinstalacionEnviada": "Petición de desinstalación sent",
"peticionDeDespliegueEnviadaCorrectamente": "Petición de deploy sent successfully",
"peticionDeEliminacionDeLa": "Petición de eliminación de the papelera temporal sent",
"peticionDeEncendidoEnviadaCorrectamente": "Petición de encendido sent successfully",
"peticionDeExportacionDeImagen": "Petición de exportación de image realizada successfully",
"peticionDeInstalacionEnviada": "Petición de instalación sent",
"peticionDeRecuperacionDeLa": "Petición de recuperación de the image sent",
"peticionDeRefrescoEnviadaCorrectamente": "Petición de refresco sent successfully",
"plantillaPxeActualizadaExitosamente": "Template PXE actualizada successfully",
"plantillaPxeCreadaExitosamente": "Template PXE creada successfully",
"plantillaEliminadaExitosamente": "Template eliminada successfully",
"plantillaPorDefecto": "Template por defecto",
"porDefecto": "Por defecto",
"porFavorCompleteTodosLos": "Por favor, complete todos the campos requeridos",
"porFavorCompleteTodosLos1": "Por favor, complete todos the campos requeridos successfully",
"porFavorRelleneTodosLos": "Por favor, rellene todos the campos obligatorios",
"porFavorRevisaLosCampos": "Por favor, revisa the campos del formulario",
"porFavorSeleccionaUnRepositorio": "Por favor, selecciona a repository primero",
"preparandoPeticionDeDespliegue": "Preparando petición de deploy",
"programacionDeTareaActualizadaCon": "Programacion de task actualizada con éxito",
"programacionDeTareaCreadaCon": "Programacion de task creada con éxito",
"programacionActualizadaCorrectamente": "Programación actualizada successfully",
"programacionCreadaCorrectamente": "Programación creada successfully",
"programacionEliminadaCorrectamente": "Programación eliminada successfully",
"propagarParametros": "Propagar parámetros",
"proximaEjecucion": "Próxima ejecución",
"puertoApi": "Puerto API",
"puertoPxe": "Puerto PXE",
"ramaCreadaCorrectamente": "Rama creada successfully",
"partition": "Partition",
"partitionsSuccessfullyCreatedForThe": "Partitions creadas para the disco seleccionado. successfully",
"partition1": "Partición",
"permissions": "Permissions",
"imageBackupRequest": "Peticion de backup de image sent successfully",
"imageConversionRequest": "Peticion de conversion de image sent successfully",
"imageImportRequest": "Peticion de importacion de image sent successfully",
"updateRequestSent": "Petición de actualizacion sent",
"shutdownRequestSentCorrectly": "Petición de apagado sent successfully",
"oSBootRequest": "Petición de arranque de SO sent successfully",
"cacheClearRequest": "Petición de borrado de caché de image sent successfully",
"imageChangeRequest": "Petición de cambio de image sent",
"fileCreationRequest": "Petición de creación de files auxiliares sent",
"uninstallRequestSent": "Petición de desinstalación sent",
"deployRequestSentCorrectly": "Petición de deploy sent successfully",
"requestForRemovalOf": "Petición de eliminación de the papelera temporal sent",
"ignitionRequestSentCorrectly": "Petición de encendido sent successfully",
"imageExportRequest": "Petición de exportación de image realizada successfully",
"installationRequestSent": "Petición de instalación sent",
"requestForRecoveryOf": "Petición de recuperación de the image sent",
"refreshmentRequestSentCorrectly": "Petición de refresco sent successfully",
"pxeTemplateUpdatedSuccessfully": "Template PXE actualizada successfully",
"pxeTemplateCreatedSuccessfully": "Template PXE creada successfully",
"templateSuccessfullyDeleted": "Template eliminada successfully",
"defaultTemplate": "Template por defecto",
"default": "Por defecto",
"pleaseCompleteAll": "Por favor, complete todos the campos requeridos",
"pleaseCompleteAll1": "Por favor, complete todos the campos requeridos successfully",
"pleaseFillOutAll": "Por favor, rellene todos the campos obligatorios",
"pleaseCheckTheFields": "Por favor, revisa the campos del formulario",
"pleaseSelectARepository": "Por favor, selecciona a repository primero",
"preparingDeploymentRequest": "Preparando petición de deploy",
"updatedTaskScheduleWith": "Programacion de task actualizada con éxito",
"taskScheduleCreatedWith": "Programacion de task creada con éxito",
"programmingUpdatedCorrectly": "Programación actualizada successfully",
"programmingCreatedCorrectly": "Programación creada successfully",
"programmingRemovedCorrectly": "Programación eliminada successfully",
"propagateParameters": "Propagar parámetros",
"pxePort": "Puerto PXE",
"branchCreatedSuccessfully": "Rama creada successfully",
"remotePc": "Remote Pc",
"repeticionPersonalizada": "Repetición personalizada",
"repositorio": "Repository",
"repositorioAnadidoCorrectamente": "Repository añadido successfully",
"repositorioCreadoCorrectamente": "Repository created successfully",
"repositorioEditadaCorrectamente": "Repository editada successfully",
"repositorioEliminadoConExito": "Repository deleted con éxito",
"repositorios": "Repositories",
"resolucion": "Resolución",
"rolActualizadoCorrectamente": "Role updated successfully",
"rolAnadidoCorrectamente": "Role añadido successfully",
"customRepeat": "Repetición personalizada",
"repositoryAddedSuccessfully": "Repository añadido successfully",
"successfullyCreatedRepository": "Repository created successfully",
"successfullyEditedRepository": "Repository editada successfully",
"repositoryDeletedSuccessfully": "Repository deleted con éxito",
"roleUpdatedSuccessfully": "Role updated successfully",
"roleAddedSuccessfully": "Role añadido successfully",
"roleDeletedSuccessfully": "Role deleted successfully",
"roles": "Roles",
"ruta": "Ruta",
"so": "SO",
"soimagen": "SO/Image",
"scriptAnadidoConExitoA": "Script añadido con éxito a the task",
"scriptCopiadoAlPortapapeles": "Script copiado al portapapeles",
"scriptEjecutadoCorrectamente": "Script executed successfully",
"scriptGuardadoCorrectamente": "Script saved successfully",
"seHanDetectadoOrdenadoresAsociados": "Se han detectado ordenadores asociados a otro server de boot. ¿Desea moverlos al server actual? (Si rechaza, solo se updatingán the ordenadores que ya pertenecen al server actual)",
"seleccionaUnClienteModeloY": "Selecciona a client modelo y a disco.",
"seleccioneUnServidorDhcpPara": "Seleccione a server DHCP para consultar the status",
"servidorBootActualizadoCorrectamente": "Server Boot updated successfully",
"servidorBootAnadidoCorrectamente": "Server Boot añadido successfully",
"servidorDhcpActualizadoCorrectamente": "Server DHCP updated successfully",
"servidorDhcpAnadidoCorrectamente": "Server DHCP añadido successfully",
"servidorEliminadoConExito": "Server deleted con éxito",
"sinInstalar": "Sin instalar",
"sinRepeticion": "Sin repetición",
"sincronizacionCompletada": "Sincronización completed",
"sincronizacionCompletadaConExito": "Sincronización completed con éxito",
"sincronizacionConOglivesCompletada": "Sincronización con ogLives completed",
"sincronizacionDePlantillasPxeExitosa": "Sincronización de templates Pxe successful",
"sincronizacionDeSubredesDeServidores": "Sincronización de subnets de servidores DHCP successful",
"sincronizado": "Synchronized",
"sistemaOperativo": "System Operative",
"sistemaDeFicheros": "System de ficheros",
"sistemaOperativoAnadidoCorrectamente": "System operative añadido successfully",
"sistemaOperativoEditadoCorrectamente": "System operative edited successfully",
"softwareAnadidoCorrectamente": "Software añadido successfully",
"route": "Ruta",
"sW": "SO",
"soimage": "SO/Image",
"scriptSuccessfullyAddedTo": "Script añadido con éxito a the task",
"scriptCopiedToClipboard": "Script copiado al portapapeles",
"scriptExecutedSuccessfully": "Script executed successfully",
"scriptSavedSuccessfully": "Script saved successfully",
"associatedComputersHaveBeenDetected": "Se han detectado ordenadores asociados a otro server de boot. ¿Desea moverlos al server actual? (Si rechaza, solo se updatingán the ordenadores que ya pertenecen al server actual)",
"selectAModelClientAnd": "Selecciona a client modelo y a disco.",
"selectADhcpServerFor": "Seleccione a server DHCP para consultar the status",
"bootServerSuccessfullyUpdated": "Server Boot updated successfully",
"bootServerAddedSuccessfully": "Server Boot añadido successfully",
"dhcpServerUpdatedSuccessfully": "Server DHCP updated successfully",
"dhcpServerAddedSuccessfully": "Server DHCP añadido successfully",
"serverSuccessfullyDeleted": "Server deleted con éxito",
"withoutInstalling": "Sin instalar",
"withoutRepetition": "Sin repetición",
"synchronizationCompleted": "Sincronización completed",
"synchronizationCompletedSuccessfully": "Sincronización completed con éxito",
"synchronizationWithOglivesCompleted": "Sincronización con ogLives completed",
"successfulPxeTemplateSynchronization": "Sincronización de templates Pxe successful",
"serverSubnetSynchronization": "Sincronización de subnets de servidores DHCP successful",
"synchronized": "Synchronized",
"operatingSystem": "System Operative",
"orSAddedSuccessfully": "System operative añadido successfully",
"operatingSystemEditedSuccessfully": "System operative edited successfully",
"softwareAddedSuccessfully": "Software añadido successfully",
"softwareDeletedSuccessfully": "Software deleted successfully",
"softwareEditadoCorrectamente": "Software edited successfully",
"soloLectura": "Solo Lectura",
"soloSePuedenCancelarTrazas": "Solo se pueden cancelling trazas pendientes o en ejecución",
"soloSePuedenMarcarComo": "Solo se pueden marcar as exitosas the trazas en progreso",
"subredEliminadaExitosamente": "Subnet eliminada successfully",
"subredSincronizadaConServidor": "Subnet sincronizada con server",
"subredes": "Subnets",
"tagCreadoCorrectamente": "Tag created successfully",
"successfullyEditedSoftware": "Software edited successfully",
"readOnly": "Solo Lectura",
"onlyTracesCanBeCanceled": "Solo se pueden cancelling trazas pendientes o en ejecución",
"canOnlyBeMarkedAs": "Solo se pueden marcar as exitosas the trazas en progreso",
"subnetSuccessfullyDeleted": "Subnet eliminada successfully",
"subnetSynchronizedWithServer": "Subnet sincronizada con server",
"tagCreatedSuccessfully": "Tag created successfully",
"tags": "Tags",
"tamano": "Tamaño",
"tareaActualizadaConExito": "Task actualizada con éxito",
"tareaCanceladaCorrectamente": "Task cancelled successfully",
"tareaCreadaConExito": "Task creada con éxito",
"tareaDeCreacionDeImagen": "Task de creación de image scheduled con éxito",
"tareaEliminadaConExito": "Task eliminada con éxito",
"tareaProgramadaCorrectamente": "Task scheduled successfully",
"tipo": "Type",
"tipoDeProgramacion": "Type de Programación",
"tipoDeAccionNoReconocido": "Type de acción not reconocido",
"tipoDeParticion": "Type de partición",
"trazaCanceladaCorrectamente": "Trace cancelled successfully",
"trazaMarcadaComoExitosaCorrectamente": "Trace marked as successful successfully",
"unidadOrganizativa": "Unidad Organizativa",
"unidadesOrganizacionalesPermitidas": "Units Organizacionales Permitidas",
"urlPublica": "Url pública",
"size": "Tamaño",
"taskUpdatedSuccessfully": "Task actualizada con éxito",
"taskCanceledSuccessfully": "Task cancelled successfully",
"taskCreatedSuccessfully": "Task creada con éxito",
"imageCreationTask": "Task de creación de image scheduled con éxito",
"taskDeletedSuccessfully": "Task eliminada con éxito",
"successfullyScheduledTask": "Task scheduled successfully",
"type": "Type",
"typeOfProgramming": "Type de Programación",
"unrecognizedActionType": "Type de acción not reconocido",
"traceCanceledSuccessfully": "Trace cancelled successfully",
"traceMarkedAsSuccessfulCorrectly": "Trace marked as successful successfully",
"organizationalUnit": "Unidad Organizativa",
"allowedOrganizationalUnits": "Units Organizacionales Permitidas",
"userDeletedSuccessfully": "User deleted successfully",
"uso": "Uso",
"usuario": "User",
"usuarioAnadidoCorrectamente": "User añadido successfully",
"usuarioEditadoCorrectamente": "User edited successfully",
"variablesDeEntornoGuardadasCorrectamente": "Variables de entorno guardadas . successfully",
"use": "Uso",
"user": "User",
"userAddedSuccessfully": "User añadido successfully",
"userEditedSuccessfully": "User edited successfully",
"environmentVariablesSavedCorrectly": "Variables de entorno guardadas . successfully",
"version": "Version",
"vistaDeGrupos": "Vista de Groups",
"vistaPreviaGeneradaPulsaGuardar": "Vista previa generada. Pulsa Saving para aplicar the template remota permanentemente.",
"groupView": "Vista de Groups",
"generatedPreviewPressSave": "Vista previa generada. Pulsa Saving para aplicar the template remota permanentemente.",
"ogLiveDeletedSuccessfully": "OG Live deleted successfully",
"deseaPropagarLosParametrosDe": "¿Desea propagar the parámetros de network (ogLive, repository, menú, template PXE, profile hardware) a todos the clientes de esta unidad organizativa?",
"estasSeguroDeQueQuieres": "¿Estás seguro de que quieres cancelling todas the acciones mostradas?",
"estasSeguroQueDeseasEliminar": "¿Estás seguro que deseas deleting este repository? Esta acción not se puede deshacer.",
"ambito": "Ámbito"
"youWantToPropagateTheParametersOf": "¿Desea propagar the parámetros de network (ogLive, repository, menú, template PXE, profile hardware) a todos the clientes de esta unidad organizativa?",
"areYouSureYouWant": "¿Estás seguro de que quieres cancelling todas the acciones mostradas?",
"areYouSureYouWantToDelete": "¿Estás seguro que deseas deleting este repository? Esta acción not se puede deshacer.",
"scope": "Ámbito"
}