From 20859f7f684fc8f943c369b40dbe155e70bc6bf3 Mon Sep 17 00:00:00 2001 From: sandre Date: Mon, 19 Jan 2026 14:46:32 +0100 Subject: [PATCH] Fix et add translation --- .../src/app/app.component.html | 2 +- .../skydivelogs-app/src/app/app.component.ts | 15 +++-- .../app/create-user/create-user.component.ts | 6 +- .../src/app/default/default.component.ts | 20 +++--- .../list-of-aircrafts.component.html | 37 ++++++++--- .../list-of-dzs/list-of-dzs.component.html | 14 ++-- .../list-of-gears.component.html | 52 ++++++++++----- .../list-of-jump-types.component.html | 25 +++++-- .../list-of-jumps.component.html | 14 ++-- .../new-aircraft/new-aircraft.component.ts | 23 +++++-- .../new-drop-zone/new-drop-zone.component.ts | 25 +++++-- .../src/app/new-gear/new-gear.component.ts | 25 +++++-- .../new-jump-type/new-jump-type.component.ts | 23 +++++-- .../user-profile/user-profile.component.ts | 34 ++++++++-- Front/skydivelogs-app/src/assets/i18n/en.json | 63 +++++++++--------- Front/skydivelogs-app/src/assets/i18n/fr.json | 65 ++++++++++--------- 16 files changed, 290 insertions(+), 153 deletions(-) diff --git a/Front/skydivelogs-app/src/app/app.component.html b/Front/skydivelogs-app/src/app/app.component.html index 39d1c80..de07832 100644 --- a/Front/skydivelogs-app/src/app/app.component.html +++ b/Front/skydivelogs-app/src/app/app.component.html @@ -1,6 +1,6 @@ -

{{ title }}

+

{{ translatedTitle }}

sanitizer.bypassSecurityTrustResourceUrl(`/assets/icon/${name}.svg`); + const iconRegistry = inject(MatIconRegistry); iconRegistry.addSvgIconResolver(resolver); this.authenticationService.currentUser.subscribe((user) => { @@ -81,7 +80,9 @@ export class AppComponent implements OnInit { } ngOnInit() { - this.serviceComm.componentTitle.subscribe((title) => (this.title = title)); + this.serviceComm.componentTitle.subscribe( + (title) => (this.translatedTitle = title), + ); } public show() { diff --git a/Front/skydivelogs-app/src/app/create-user/create-user.component.ts b/Front/skydivelogs-app/src/app/create-user/create-user.component.ts index d4750cf..90b5cf5 100644 --- a/Front/skydivelogs-app/src/app/create-user/create-user.component.ts +++ b/Front/skydivelogs-app/src/app/create-user/create-user.component.ts @@ -47,7 +47,7 @@ export class CreateUserComponent implements OnInit { private route: ActivatedRoute, private router: Router, private authenticationService: AuthenticationService, - private translateService: TranslateService + private translateService: TranslateService, ) { // redirect to home if already logged in if (this.authenticationService.currentUserValue) { @@ -67,12 +67,12 @@ export class CreateUserComponent implements OnInit { [ Validators.required, Validators.pattern( - "^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[@$!%*#?&-_|]).{8,}$" + "^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[@$!%*#?&-_|]).{8,}$", ), ], ], }, - { updateOn: "blur" } + { updateOn: "blur" }, ); // get return url from route parameters or default to '/' diff --git a/Front/skydivelogs-app/src/app/default/default.component.ts b/Front/skydivelogs-app/src/app/default/default.component.ts index d54e619..7a28d1b 100644 --- a/Front/skydivelogs-app/src/app/default/default.component.ts +++ b/Front/skydivelogs-app/src/app/default/default.component.ts @@ -10,7 +10,6 @@ import { DropzoneService } from "../../services/dropzone.service"; import { GearService } from "../../services/gear.service"; import { JumpTypeService } from "../../services/jump-type.service"; import { ServiceComm } from "../../services/service-comm.service"; -import { BaseComponent } from "../app.base.component"; @Component({ selector: "app-default", @@ -18,21 +17,18 @@ import { BaseComponent } from "../app.base.component"; styleUrls: ["./default.component.css"], imports: [TranslateModule, MatIconModule, RouterLink], }) -export class DefaultComponent extends BaseComponent { - //implements OnInit { +export class DefaultComponent implements OnInit { constructor( - // private serviceComm: ServiceComm, - // private translateService: TranslateService, + private serviceComm: ServiceComm, + private translateService: TranslateService, private authenticationService: AuthenticationService, private serviceApiAircraft: AircraftService, private serviceApiJumpType: JumpTypeService, private serviceApiDropzone: DropzoneService, private serviceApiGear: GearService, - ) { - super("Default_Title"); - } + ) {} - override ngOnInit() { + ngOnInit() { this.authenticationService.alwaysLogin(); this.putToCacheRefDatas().subscribe(() => { @@ -56,8 +52,8 @@ export class DefaultComponent extends BaseComponent { } private updateTitle() { - // this.translateService.get("Default_Title").subscribe((data) => { - // this.serviceComm.updatedComponentTitle(data); - // }); + this.translateService.get("Default_Title").subscribe((data) => { + this.serviceComm.updatedComponentTitle(data); + }); } } diff --git a/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.html b/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.html index 80f7c19..b990242 100644 --- a/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.html +++ b/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.html @@ -1,25 +1,44 @@
-
- +
+ - - + + - - + + - - + + - +
{{ 'List_Aircrafts_Header_Id' | translate }}{{element.id}} + {{ "ListAircrafts_Header_Id" | translate }} + {{ element.id }} {{ 'List_Aircrafts_Header_Name' | translate }}{{element.name}} + {{ "ListAircrafts_Header_Name" | translate }} + {{ element.name }} {{ 'List_Aircrafts_Header_Image' | translate }}No image + {{ "ListAircrafts_Header_Image" | translate }} + + No image +
diff --git a/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.html b/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.html index d2d5f53..912a252 100644 --- a/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.html +++ b/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.html @@ -6,15 +6,15 @@ (click)="openDialogToAdd()" *ngIf="isUserAdmin == true" > - {{ "List_Dz_Add" | translate }} + {{ "ListDz_Add" | translate }} - {{ "List_Dz_Filter" | translate }} + {{ "ListDz_Filter" | translate }} @@ -76,14 +76,14 @@ - {{ "List_Dz_Header_ID" | translate }} + {{ "ListDz_Header_ID" | translate }} {{ element.id }} - {{ "List_Dz_Header_Name" | translate }} + {{ "ListDz_Header_Name" | translate }} @@ -92,7 +92,7 @@ - {{ "List_Dz_Header_Address" | translate }} + {{ "ListDz_Header_Address" | translate }} @@ -101,7 +101,7 @@ - {{ "List_Dz_Header_Type" | translate }} + {{ "ListDz_Header_Type" | translate }} {{ element.type }} diff --git a/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.html b/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.html index 6ffcadc..9f60c58 100644 --- a/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.html +++ b/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.html @@ -1,45 +1,63 @@
-
- +
+ - - + + - - + + - - + + - - + + - - + + - - + + - - + + - +
{{ 'List_Gears_Header_Id' | translate }}{{element.id}} + {{ "ListGears_Header_Id" | translate }} + {{ element.id }} {{ 'List_Gears_Header_Name' | translate }}{{element.name}} + {{ "ListGears_Header_Name" | translate }} + {{ element.name }} {{ 'List_Gears_Header_Manufacturer' | translate }}{{element.manufacturer}} + {{ "ListGears_Header_Manufacturer" | translate }} + {{ element.manufacturer }} {{ 'List_Gears_Header_CanopySize' | translate }}{{element.minSize}} - {{element.maxSize}} + {{ "ListGears_Header_CanopySize" | translate }} + + {{ element.minSize }} - {{ element.maxSize }} + {{ 'List_Gears_Header_Aad' | translate }}{{element.aad}} + {{ "ListGears_Header_Aad" | translate }} + {{ element.aad }} {{ 'List_Gears_Header_Main' | translate }}{{element.mainCanopy}} + {{ "ListGears_Header_Main" | translate }} + {{ element.mainCanopy }} {{ 'List_Gears_Header_Reserve' | translate }}{{element.reserveCanopy}} + {{ "ListGears_Header_Reserve" | translate }} + {{ element.reserveCanopy }}
diff --git a/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.html b/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.html index a88b804..4c35577 100644 --- a/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.html +++ b/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.html @@ -1,20 +1,31 @@
-
- +
+ - - + + - - + + - +
{{ 'List_JumpType_Header_Id' | translate }}{{element.id}} + {{ "ListJumpType_Header_Id" | translate }} + {{ element.id }} {{ 'List_JumpType_Header_Name' | translate }}{{element.name}} + {{ "ListJumpType_Header_Name" | translate }} + {{ element.name }}
diff --git a/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.html b/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.html index 36ded31..e1a81e4 100644 --- a/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.html +++ b/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.html @@ -7,7 +7,7 @@ [routerLinkActive]="['active']" skipLocationChange > - {{ "List_Jump_Add" | translate }} + {{ "ListJump_Add" | translate }}
@@ -55,7 +55,7 @@ - {{ "List_Jump_Header_Num" | translate }} + {{ "ListJump_Header_Num" | translate }} {{ @@ -66,7 +66,7 @@ - {{ "List_Jump_Header_Date" | translate }} + {{ "ListJump_Header_Date" | translate }} - {{ "List_Jump_Header_JumpType" | translate }} + {{ "ListJump_Header_JumpType" | translate }} - {{ "List_Jump_Header_Aircraft" | translate }} + {{ "ListJump_Header_Aircraft" | translate }} - {{ "List_Jump_Header_Dz" | translate }} + {{ "ListJump_Header_Dz" | translate }} - {{ "List_Jump_Header_Id" | translate }} + {{ "ListJump_Header_Id" | translate }} {{ element.gear.name }} diff --git a/Front/skydivelogs-app/src/app/new-aircraft/new-aircraft.component.ts b/Front/skydivelogs-app/src/app/new-aircraft/new-aircraft.component.ts index 29e5ee2..63731de 100644 --- a/Front/skydivelogs-app/src/app/new-aircraft/new-aircraft.component.ts +++ b/Front/skydivelogs-app/src/app/new-aircraft/new-aircraft.component.ts @@ -5,7 +5,7 @@ import { ReactiveFormsModule, Validators, } from "@angular/forms"; -import { TranslateModule } from "@ngx-translate/core"; +import { TranslateModule, TranslateService } from "@ngx-translate/core"; import { MatFormFieldModule } from "@angular/material/form-field"; import { MatInputModule } from "@angular/material/input"; import { MatButtonModule } from "@angular/material/button"; @@ -36,17 +36,26 @@ export class NewAircraftComponent implements OnInit { constructor( private serviceComm: ServiceComm, - private serviceApi: AircraftService + private serviceApi: AircraftService, + private translateService: TranslateService, ) { this.addForm = new FormGroup( { aircraftName: new FormControl("", Validators.required), }, - { updateOn: "blur" } + { updateOn: "blur" }, ); } - ngOnInit() {} + ngOnInit() { + this.serviceComm.forceTranslateTitle.subscribe((data) => { + if (data === true) { + this.updateTitle(); + } + }); + + this.updateTitle(); + } onSubmit(formData) { if (formData.invalid) { @@ -98,4 +107,10 @@ export class NewAircraftComponent implements OnInit { } }; } + + private updateTitle() { + this.translateService.get("NewAircraft_Title").subscribe((data) => { + this.serviceComm.updatedComponentTitle(data); + }); + } } diff --git a/Front/skydivelogs-app/src/app/new-drop-zone/new-drop-zone.component.ts b/Front/skydivelogs-app/src/app/new-drop-zone/new-drop-zone.component.ts index af3e05b..e519f5b 100644 --- a/Front/skydivelogs-app/src/app/new-drop-zone/new-drop-zone.component.ts +++ b/Front/skydivelogs-app/src/app/new-drop-zone/new-drop-zone.component.ts @@ -5,7 +5,7 @@ import { ReactiveFormsModule, Validators, } from "@angular/forms"; -import { TranslateModule } from "@ngx-translate/core"; +import { TranslateModule, TranslateService } from "@ngx-translate/core"; import { MatFormFieldModule } from "@angular/material/form-field"; import { MatCheckboxModule } from "@angular/material/checkbox"; import { MatInputModule } from "@angular/material/input"; @@ -35,7 +35,8 @@ export class NewDropZoneComponent implements OnInit { constructor( private serviceComm: ServiceComm, - private dropzoneService: DropzoneService + private dropzoneService: DropzoneService, + private translateService: TranslateService, ) { this.addForm = new FormGroup( { @@ -53,11 +54,19 @@ export class NewDropZoneComponent implements OnInit { isDz: new FormControl(true), isTunnel: new FormControl(false), }, - { updateOn: "blur" } + { updateOn: "blur" }, ); } - ngOnInit() {} + ngOnInit() { + this.serviceComm.forceTranslateTitle.subscribe((data) => { + if (data === true) { + this.updateTitle(); + } + }); + + this.updateTitle(); + } onSubmit(formData) { const splitGps: Array = formData.gps.split(","); @@ -79,10 +88,16 @@ export class NewDropZoneComponent implements OnInit { formData.website, formData.contactMail, dzType, - false + false, ) .subscribe(() => { this.serviceComm.refreshData(AddAction.Dropzone); }); } + + private updateTitle() { + this.translateService.get("NewDz_Title").subscribe((data) => { + this.serviceComm.updatedComponentTitle(data); + }); + } } diff --git a/Front/skydivelogs-app/src/app/new-gear/new-gear.component.ts b/Front/skydivelogs-app/src/app/new-gear/new-gear.component.ts index 96a65b1..0d26ca6 100644 --- a/Front/skydivelogs-app/src/app/new-gear/new-gear.component.ts +++ b/Front/skydivelogs-app/src/app/new-gear/new-gear.component.ts @@ -6,7 +6,7 @@ import { Validators, } from "@angular/forms"; import { MatFormFieldModule } from "@angular/material/form-field"; -import { TranslateModule } from "@ngx-translate/core"; +import { TranslateModule, TranslateService } from "@ngx-translate/core"; import { MatInputModule } from "@angular/material/input"; import { MatButtonModule } from "@angular/material/button"; @@ -32,7 +32,8 @@ export class NewGearComponent implements OnInit { constructor( private serviceComm: ServiceComm, - private serviceApi: GearService + private serviceApi: GearService, + private translateService: TranslateService, ) { this.addForm = new FormGroup( { @@ -60,11 +61,19 @@ export class NewGearComponent implements OnInit { Validators.max(320), ]), }, - { updateOn: "blur" } + { updateOn: "blur" }, ); } - ngOnInit() {} + ngOnInit() { + this.serviceComm.forceTranslateTitle.subscribe((data) => { + if (data === true) { + this.updateTitle(); + } + }); + + this.updateTitle(); + } onSubmit(formData) { this.serviceApi @@ -75,10 +84,16 @@ export class NewGearComponent implements OnInit { +formData.maxSize, formData.aad, formData.mainCanopy, - formData.reserveCanopy + formData.reserveCanopy, ) .subscribe(() => { this.serviceComm.refreshData(AddAction.Gear); }); } + + private updateTitle() { + this.translateService.get("NewGear_Title").subscribe((data) => { + this.serviceComm.updatedComponentTitle(data); + }); + } } diff --git a/Front/skydivelogs-app/src/app/new-jump-type/new-jump-type.component.ts b/Front/skydivelogs-app/src/app/new-jump-type/new-jump-type.component.ts index 920c571..86f3c2c 100644 --- a/Front/skydivelogs-app/src/app/new-jump-type/new-jump-type.component.ts +++ b/Front/skydivelogs-app/src/app/new-jump-type/new-jump-type.component.ts @@ -5,7 +5,7 @@ import { ReactiveFormsModule, Validators, } from "@angular/forms"; -import { TranslateModule } from "@ngx-translate/core"; +import { TranslateModule, TranslateService } from "@ngx-translate/core"; import { MatFormFieldModule } from "@angular/material/form-field"; import { MatInputModule } from "@angular/material/input"; import { MatButtonModule } from "@angular/material/button"; @@ -31,21 +31,36 @@ export class NewJumpTypeComponent implements OnInit { constructor( private serviceComm: ServiceComm, - private jumpTypeService: JumpTypeService + private jumpTypeService: JumpTypeService, + private translateService: TranslateService, ) { this.addForm = new FormGroup( { jumptypeName: new FormControl("", Validators.required), }, - { updateOn: "blur" } + { updateOn: "blur" }, ); } - ngOnInit() {} + ngOnInit() { + this.serviceComm.forceTranslateTitle.subscribe((data) => { + if (data === true) { + this.updateTitle(); + } + }); + + this.updateTitle(); + } onSubmit(formData) { this.jumpTypeService.addJumpType(formData.jumptypeName).subscribe(() => { this.serviceComm.refreshData(AddAction.JumpType); }); } + + private updateTitle() { + this.translateService.get("NewJumpType_Title").subscribe((data) => { + this.serviceComm.updatedComponentTitle(data); + }); + } } diff --git a/Front/skydivelogs-app/src/app/user-profile/user-profile.component.ts b/Front/skydivelogs-app/src/app/user-profile/user-profile.component.ts index 7405f96..8b1cca5 100644 --- a/Front/skydivelogs-app/src/app/user-profile/user-profile.component.ts +++ b/Front/skydivelogs-app/src/app/user-profile/user-profile.component.ts @@ -6,12 +6,17 @@ import { ReactiveFormsModule, } from "@angular/forms"; import { MatLabel, MatFormFieldModule } from "@angular/material/form-field"; -import { TranslateModule, TranslatePipe } from "@ngx-translate/core"; +import { + TranslateModule, + TranslatePipe, + TranslateService, +} from "@ngx-translate/core"; import { MatInputModule } from "@angular/material/input"; import { MatButtonModule } from "@angular/material/button"; import { AuthenticationService } from "../../services/authentication.service"; import { ListOfImagesComponent } from "../list-of-images/list-of-images.component"; +import { ServiceComm } from "../../services/service-comm.service"; @Component({ selector: "app-user-profile", @@ -30,9 +35,20 @@ import { ListOfImagesComponent } from "../list-of-images/list-of-images.componen export class UserProfileComponent implements OnInit { public userForm: FormGroup; - constructor(private authenticationService: AuthenticationService) {} + constructor( + private authenticationService: AuthenticationService, + private translateService: TranslateService, + private serviceComm: ServiceComm, + ) {} + + ngOnInit() { + this.serviceComm.forceTranslateTitle.subscribe((data) => { + if (data === true) { + this.updateTitle(); + } + }); + this.updateTitle(); - ngOnInit(): void { const currentUser = this.authenticationService.currentUserValue; this.userForm = new FormGroup( @@ -52,14 +68,14 @@ export class UserProfileComponent implements OnInit { ]), currentPassword: new FormControl( "", - Validators.pattern("^[A-Za-z0-9_-]{8,15}$") + Validators.pattern("^[A-Za-z0-9_-]{8,15}$"), ), newPassword: new FormControl( "", - Validators.pattern("^[A-Za-z0-9_-]{8,15}$") + Validators.pattern("^[A-Za-z0-9_-]{8,15}$"), ), }, - { updateOn: "blur" } + { updateOn: "blur" }, ); } @@ -130,4 +146,10 @@ export class UserProfileComponent implements OnInit { tailleVoile.set("109", [298, 274, 247, 219, 199, 179, 161, 138, 120]); tailleVoile.set("110", [300, 276, 249, 220, 201, 180, 162, 138, 120]); } + + private updateTitle() { + this.translateService.get("UserProfile_Title").subscribe((data) => { + this.serviceComm.updatedComponentTitle(data); + }); + } } diff --git a/Front/skydivelogs-app/src/assets/i18n/en.json b/Front/skydivelogs-app/src/assets/i18n/en.json index 2530eb2..24e7e96 100644 --- a/Front/skydivelogs-app/src/assets/i18n/en.json +++ b/Front/skydivelogs-app/src/assets/i18n/en.json @@ -38,6 +38,11 @@ "ListAircrafts_Title": "List of aircrafts", "NewTunnelFlight_Title": "New tunnel flights", "ListTunnelFlight_Title": "List of hours of tunnel", + "UserProfile_Title": "User profile", + "NewJumpType_Title": "New jmp type", + "NewGear_Title": "New gear", + "NewDz_Title": "New drop zone", + "NewAircraft_Title": "New aircraft", "App_Footer": "Web software to log your skydive jumps - v", "App_Nav_Summary": "Summary", @@ -51,39 +56,39 @@ "App_Nav_NewTunnelFlight": "Add tunnel time", "App_Nav_TunnelFlights": "The tunnel flights", - "List_Aircrafts_Add": "Add a aircraft", - "List_Aircrafts_Header_Id": "ID", - "List_Aircrafts_Header_Name": "Name", - "List_Aircrafts_Header_Image": "Image", + "ListAircrafts_Add": "Add a aircraft", + "ListAircrafts_Header_Id": "ID", + "ListAircrafts_Header_Name": "Name", + "ListAircrafts_Header_Image": "Image", - "List_Gears_Add": "Add a gear", - "List_Gears_Header_Id": "ID", - "List_Gears_Header_Name": "Name", - "List_Gears_Header_Manufacturer": "Manufacturer", - "List_Gears_Header_CanopySize": "Canopy size", - "List_Gears_Header_Aad": "AAD system", - "List_Gears_Header_Main": "Main canopy", - "List_Gears_Header_Reserve": "Reserve canopy", + "ListGears_Add": "Add a gear", + "ListGears_Header_Id": "ID", + "ListGears_Header_Name": "Name", + "ListGears_Header_Manufacturer": "Manufacturer", + "ListGears_Header_CanopySize": "Canopy size", + "ListGears_Header_Aad": "AAD system", + "ListGears_Header_Main": "Main canopy", + "ListGears_Header_Reserve": "Reserve canopy", - "List_JumpType_Add": "Add a jump type", - "List_JumpType_Header_Id": "ID", - "List_JumpType_Header_Name": "Name", + "ListJumpType_Add": "Add a jump type", + "ListJumpType_Header_Id": "ID", + "ListJumpType_Header_Name": "Name", - "List_Jump_Add": "Add jumps", - "List_Jump_Header_Num": "Num", - "List_Jump_Header_Date": "Date", - "List_Jump_Header_JumpType": "Jump Type", - "List_Jump_Header_Aircraft": "Aircraft", - "List_Jump_Header_Dz": "Drop Zone", - "List_Jump_Header_Gear": "Gear", + "ListJump_Add": "Add jumps", + "ListJump_Header_Num": "Num", + "ListJump_Header_Date": "Date", + "ListJump_Header_JumpType": "Jump Type", + "ListJump_Header_Aircraft": "Aircraft", + "ListJump_Header_Dz": "Drop Zone", + "ListJump_Header_Gear": "Gear", - "List_Dz_Add": "Add a drop zone", - "List_Dz_Header_ID": "ID", - "List_Dz_Header_Name": "Name", - "List_Dz_Header_Address": "Address", - "List_Dz_Header_Type": "Type", - "List_Dz_Filter": "Filter", - "List_Dz_Filter_PlaceHolder": "Filter on the name or address of center", + "ListDz_Add": "Add a drop zone", + "ListDz_Header_ID": "ID", + "ListDz_Header_Name": "Name", + "ListDz_Header_Address": "Address", + "ListDz_Header_Type": "Type", + "ListDz_Filter": "Filter", + "ListDz_Filter_PlaceHolder": "Filter on the name or address of center", "Summary_TotalJumps": "Total jumps", "Summary_TotalCutaways": "Total cutaways", diff --git a/Front/skydivelogs-app/src/assets/i18n/fr.json b/Front/skydivelogs-app/src/assets/i18n/fr.json index d03cdd1..a828ff1 100644 --- a/Front/skydivelogs-app/src/assets/i18n/fr.json +++ b/Front/skydivelogs-app/src/assets/i18n/fr.json @@ -38,6 +38,11 @@ "ListAircrafts_Title": "Liste des avions", "NewTunnelFlight_Title": "Nouveaux créneaux de soufflerie", "ListTunnelFlight_Title": "Heures de tunnel", + "UserProfile_Title": "Profile utilisateur", + "NewJumpType_Title": "Nouveau type de saut", + "NewGear_Title": "Nouveau piège", + "NewDz_Title": "Nouveau centre", + "NewAircraft_Title": "Nouvel avion", "App_Footer": "Application pour enregistrer ses sauts de parachutisme - v", "App_Nav_Summary": "Récapitulatif", @@ -51,39 +56,39 @@ "App_Nav_NewTunnelFlight": "Ajouter du temps en tunnel", "App_Nav_TunnelFlights": "Les vols en soufflerie", - "List_Aircrafts_Add": "Ajouter un avion", - "List_Aircrafts_Header_Id": "ID", - "List_Aircrafts_Header_Name": "Nom", - "List_Aircrafts_Header_Image": "Image", + "ListAircrafts_Add": "Ajouter un avion", + "ListAircrafts_Header_Id": "ID", + "ListAircrafts_Header_Name": "Nom", + "ListAircrafts_Header_Image": "Image", - "List_Gears_Add": "Ajouter un piège", - "List_Gears_Header_Id": "ID", - "List_Gears_Header_Name": "Nom", - "List_Gears_Header_Manufacturer": "Fabriquant", - "List_Gears_Header_CanopySize": "Taille de voile", - "List_Gears_Header_Aad": "Système de sécurité", - "List_Gears_Header_Main": "Principale", - "List_Gears_Header_Reserve": "Réserve", + "ListGears_Add": "Ajouter un piège", + "ListGears_Header_Id": "ID", + "ListGears_Header_Name": "Nom", + "ListGears_Header_Manufacturer": "Fabriquant", + "ListGears_Header_CanopySize": "Taille de voile", + "ListGears_Header_Aad": "Système de sécurité", + "ListGears_Header_Main": "Principale", + "ListGears_Header_Reserve": "Réserve", - "List_JumpType_Add": "Ajouter un type de saut", - "List_JumpType_Header_Id": "ID", - "List_JumpType_Header_Name": "Nom", + "ListJumpType_Add": "Ajouter un type de saut", + "ListJumpType_Header_Id": "ID", + "ListJumpType_Header_Name": "Nom", - "List_Jump_Add": "Ajouter des sauts", - "List_Jump_Header_Num": "Numéro", - "List_Jump_Header_Date": "Date", - "List_Jump_Header_JumpType": "Type de saut", - "List_Jump_Header_Aircraft": "Avion", - "List_Jump_Header_Dz": "Centre", - "List_Jump_Header_Gear": "Piège", + "ListJump_Add": "Ajouter des sauts", + "ListJump_Header_Num": "Numéro", + "ListJump_Header_Date": "Date", + "ListJump_Header_JumpType": "Type de saut", + "ListJump_Header_Aircraft": "Avion", + "ListJump_Header_Dz": "Centre", + "ListJump_Header_Gear": "Piège", - "List_Dz_Add": "Ajouter un centre de parachutisme", - "List_Dz_Header_ID": "ID", - "List_Dz_Header_Name": "Nom", - "List_Dz_Header_Address": "Adresse", - "List_Dz_Header_Type": "Type", - "List_Dz_Filter": "Filtrer", - "List_Dz_Filter_PlaceHolder": "Filtrer sur le nom ou l'adresse du centre", + "ListDz_Add": "Ajouter un centre de parachutisme", + "ListDz_Header_ID": "ID", + "ListDz_Header_Name": "Nom", + "ListDz_Header_Address": "Adresse", + "ListDz_Header_Type": "Type", + "ListDz_Filter": "Filtrer", + "ListDz_Filter_PlaceHolder": "Filtrer sur le nom ou l'adresse du centre", "Summary_TotalJumps": "Nombre de sauts", "Summary_TotalCutaways": "Nombre de libération", @@ -100,7 +105,7 @@ "Summary_ByGear_Title": "Par piège", "Summary_ByJumpType_Title": "Par type de saut", "Summary_ByYear_Title": "Par an", - "Summary_ByYear_Title": "Par an et par type", + "Summary_ByYearByJumpType_Title": "Par an et par type", "NewJump_GoToJump": "Voir les sauts", "NewJump_ResetForm": "Reset du formulaire après l'ajout",