Mise en place de l'anglais comme deuxième langue pour l'application
Some checks failed
Build & Push Images / build (brain) (push) Has been cancelled
Build & Push Images / build (core) (push) Has been cancelled
Build & Push Images / build (web) (push) Has been cancelled
Build & Push Images / build-switcher (push) Has been cancelled

This commit is contained in:
2026-06-14 16:24:05 +02:00
parent 6e75326779
commit af3a6d443c
198 changed files with 7801 additions and 1720 deletions

View File

@@ -0,0 +1,48 @@
import { Component, inject } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { TranslatePipe } from '@ngx-translate/core';
import { LanguageService } from '../../services/language.service';
/**
* Sélecteur de langue réutilisable (liste déroulante).
*
* Réutilisable partout : page Paramètres, en-tête, etc. Délègue tout au
* LanguageService — le changement est appliqué à chaud, sans rechargement.
*
* Usage : <app-language-switcher></app-language-switcher>
*/
@Component({
selector: 'app-language-switcher',
standalone: true,
imports: [TranslatePipe, FormsModule],
template: `
<label class="lang-switcher">
<span class="lang-switcher__label">{{ 'language.label' | translate }}</span>
<select
class="lang-switcher__select"
[ngModel]="lang.current"
(ngModelChange)="lang.use($event)">
@for (l of lang.languages; track l.code) {
<option [value]="l.code">{{ l.flag }} {{ l.labelKey | translate }}</option>
}
</select>
</label>
`,
styles: [`
.lang-switcher {
display: inline-flex;
align-items: center;
gap: 0.5rem;
}
.lang-switcher__label {
font-weight: 500;
}
.lang-switcher__select {
padding: 0.35rem 0.5rem;
border-radius: 6px;
}
`],
})
export class LanguageSwitcherComponent {
readonly lang = inject(LanguageService);
}