diff --git a/CHANGELOG.md b/CHANGELOG.md index e2a0778..74f1fbc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [1.5.1] - 2026-04-23 +### Improved +- Creadas claves de traducción para idiomas, añadido menu para cambiar de idioma en la barra superior + ## [1.5.0] - 2026-04-21 ### Added - Añadida gestión de múltiples ogBoot Servers diff --git a/ogWebconsole/src/app/app.component.ts b/ogWebconsole/src/app/app.component.ts index d681b66..c39354c 100644 --- a/ogWebconsole/src/app/app.component.ts +++ b/ogWebconsole/src/app/app.component.ts @@ -13,6 +13,6 @@ export class AppComponent { this.translateService.use(savedLanguage); } ngOnInit() { - sessionStorage.setItem('language', 'es'); + // Language is already handled in constructor } } diff --git a/ogWebconsole/src/app/app.module.ts b/ogWebconsole/src/app/app.module.ts index 94b904b..f728d16 100644 --- a/ogWebconsole/src/app/app.module.ts +++ b/ogWebconsole/src/app/app.module.ts @@ -204,6 +204,8 @@ export function HttpLoaderFactory(http: HttpClient) { return new TranslateHttpLoader(http, './locale/', '.json'); } +import { PageNotFoundComponent } from './shared/page-not-found/page-not-found.component'; + export function initializeApp(configService: ConfigService) { return () => configService.loadConfig(); } @@ -338,7 +340,8 @@ registerLocaleData(localeEs, 'es-ES'); OgcoreStatusComponent, GlobalOgbootStatusComponent, OgrepositoryStatusComponent, - OgdhcpStatusComponent + OgdhcpStatusComponent, + PageNotFoundComponent ], bootstrap: [AppComponent], imports: [BrowserModule, diff --git a/ogWebconsole/src/app/components/admin/env-vars/env-vars.component.html b/ogWebconsole/src/app/components/admin/env-vars/env-vars.component.html index d9ef0db..c7a23ab 100644 --- a/ogWebconsole/src/app/components/admin/env-vars/env-vars.component.html +++ b/ogWebconsole/src/app/components/admin/env-vars/env-vars.component.html @@ -1,20 +1,20 @@
-

Editar Variables de Entorno

+

{{ 'editEnvVarsTitle' | translate }}

- Variable + {{ 'labelVariable' | translate }} {{ variable.name }} - Valor + {{ 'labelValue' | translate }}
- - + +
diff --git a/ogWebconsole/src/app/components/admin/env-vars/env-vars.component.ts b/ogWebconsole/src/app/components/admin/env-vars/env-vars.component.ts index a47109d..27ca681 100644 --- a/ogWebconsole/src/app/components/admin/env-vars/env-vars.component.ts +++ b/ogWebconsole/src/app/components/admin/env-vars/env-vars.component.ts @@ -1,3 +1,5 @@ +import { inject } from '@angular/core'; +import { TranslateService } from '@ngx-translate/core'; import { Component } from '@angular/core'; import { HttpClient } from "@angular/common/http"; import { ToastrService } from "ngx-toastr"; @@ -9,6 +11,7 @@ import { ConfigService } from '@services/config.service'; styleUrl: './env-vars.component.css' }) export class EnvVarsComponent { + public translate = inject(TranslateService); envVars: { name: string; value: string }[] = []; displayedColumns: string[] = ['name', 'value']; private apiUrl: string; @@ -31,7 +34,7 @@ export class EnvVarsComponent { this.envVars = Object.entries(response.vars).map(([name, value]) => ({ name, value })); }, error: (err) => { - this.toastService.error('No se pudieron cargar las variables de entorno.'); + this.toastService.error(this.translate.instant('couldNotBeLoaded')); } }); } @@ -48,11 +51,11 @@ export class EnvVarsComponent { this.http.post(this.apiUrl, { vars }).subscribe({ next: () => { - this.toastService.success('Variables de entorno guardadas correctamente.'); + this.toastService.success(this.translate.instant('environmentVariablesSavedCorrectly')); }, error: (err) => { - console.error('Error al guardar las variables de entorno:', err); - this.toastService.error('No se pudieron cargar las variables de entorno.'); + console.error(this.translate.instant('errorSavingVariables'), err); + this.toastService.error(this.translate.instant('couldNotBeLoaded')); } }); } diff --git a/ogWebconsole/src/app/components/admin/roles/roles/add-role-modal/add-role-modal.component.html b/ogWebconsole/src/app/components/admin/roles/roles/add-role-modal/add-role-modal.component.html index 7a03e84..a2d7187 100644 --- a/ogWebconsole/src/app/components/admin/roles/roles/add-role-modal/add-role-modal.component.html +++ b/ogWebconsole/src/app/components/admin/roles/roles/add-role-modal/add-role-modal.component.html @@ -12,7 +12,7 @@

{{ 'checkboxOrgAdmin' | translate }}

{{ 'checkboxOrgOperator' | translate }}

{{ 'checkboxOrgMinimal' | translate }}

-

{{ 'checkboxUserRole' | translate }}

+

{{ 'labelUser' | translate }}

diff --git a/ogWebconsole/src/app/components/admin/roles/roles/add-role-modal/add-role-modal.component.ts b/ogWebconsole/src/app/components/admin/roles/roles/add-role-modal/add-role-modal.component.ts index 446a490..0f03792 100644 --- a/ogWebconsole/src/app/components/admin/roles/roles/add-role-modal/add-role-modal.component.ts +++ b/ogWebconsole/src/app/components/admin/roles/roles/add-role-modal/add-role-modal.component.ts @@ -1,3 +1,5 @@ +import { inject } from '@angular/core'; +import { TranslateService } from '@ngx-translate/core'; import { HttpClient } from '@angular/common/http'; import { Component, Inject } from '@angular/core'; import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; @@ -12,6 +14,7 @@ import { ConfigService } from '@services/config.service'; styleUrls: ['./add-role-modal.component.css'] }) export class AddRoleModalComponent { + public translate = inject(TranslateService); roleForm: FormGroup; roleId: string | null = null; baseUrl: string; @@ -56,7 +59,7 @@ export class AddRoleModalComponent { this.roleId = response['@id']; }, error: (err) => { - console.error('Error fetching remote calendar:', err); + console.error(this.translate.instant('errorFetchingRemoteCalendar'), err); } }); } @@ -85,23 +88,23 @@ export class AddRoleModalComponent { if (this.roleId) { this.http.put(`${this.baseUrl}${this.roleId}`, payload).subscribe( (response) => { - this.toastService.success('Rol actualizado correctamente'); + this.toastService.success(this.translate.instant('roleUpdatedSuccessfully')); this.dialogRef.close(); }, (error) => { - this.toastService.error('Error al editar el rol:', error); - console.error('Error al editar el rol', 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('Rol añadido correctamente'); + this.toastService.success(this.translate.instant('roleAddedSuccessfully')); this.dialogRef.close(); }, (error) => { - this.toastService.error('Error al añadir rol:', error); - console.error('Error al añadir rol', error); + this.toastService.error(this.translate.instant('errorAddingRole1'), error); + console.error(this.translate.instant('errorAddingRole'), error); } ); } diff --git a/ogWebconsole/src/app/components/admin/roles/roles/data.service.ts b/ogWebconsole/src/app/components/admin/roles/roles/data.service.ts index 6ba662e..c7087dc 100644 --- a/ogWebconsole/src/app/components/admin/roles/roles/data.service.ts +++ b/ogWebconsole/src/app/components/admin/roles/roles/data.service.ts @@ -1,3 +1,5 @@ +import { inject } from '@angular/core'; +import { TranslateService } from '@ngx-translate/core'; import { Injectable } from '@angular/core'; import {HttpClient, HttpParams} from '@angular/common/http'; import { Observable, throwError } from 'rxjs'; @@ -8,6 +10,7 @@ import { ConfigService } from '@services/config.service'; providedIn: 'root' }) export class DataService { + public translate = inject(TranslateService); baseUrl: string; private apiUrl: string; @@ -31,7 +34,7 @@ export class DataService { } }), catchError(error => { - console.error('Error fetching user groups', error); + console.error(this.translate.instant('errorFetchingUserGroups'), error); return throwError(error); }) ); @@ -47,7 +50,7 @@ export class DataService { } }), catchError(error => { - console.error('Error fetching user group', error); + console.error(this.translate.instant('errorFetchingUserGroup'), error); return throwError(error); }) ); diff --git a/ogWebconsole/src/app/components/admin/roles/roles/roles.component.html b/ogWebconsole/src/app/components/admin/roles/roles/roles.component.html index 183d4ff..abb3da1 100644 --- a/ogWebconsole/src/app/components/admin/roles/roles/roles.component.html +++ b/ogWebconsole/src/app/components/admin/roles/roles/roles.component.html @@ -11,8 +11,8 @@
- {{ 'searchRoleLabel' | translate }} - {{ 'labelSearchRole' | translate }} + search {{ 'searchHint' | translate }} @@ -24,12 +24,12 @@
- + - +
{{ column.header }} {{ column.header | translate }} {{ column.cell(role) }} {{ 'columnActions' | translate }}{{ 'actions' | translate }}