Bonjour,
Dans ma page d'accueil, j'ai plusieurs langues:
Lorsque l'utilisateur navigue sur la page d'accueil, la page est automatiquement en français. Quand le user bascule du français en néerlandais, j'ai aucun souci, la page est bien traduite mais en revanche lorsque le user bascule du néerlandais à l'anglais. Il y a un bug, la traduction n'est pas chargée. Je dois recliquer une seconde fois pour que la traduction charge. Après quand je bascule sur les autres langues, il n'y a pas de soucis.Code:FR | NL | EN | DE | ES | IT | PT
Le problème est uniquement quand je passe du NL -> EN.
En mettant plusieurs "console.log" j'aimerai comprendre ce qui ne va pas.
J'ai testé le clic sur chaque langue et je récupère bien le nom de la langue
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 switchLanguage(lang) { if (lang == 'uk') { lang = 'en'; } this.translate.onLangChange.subscribe((event: LangChangeEvent) => { this.LS.setItem('LX_Current_Language', event.lang); console.log("Click on the language => " + this.LS.getItem('LX_Current_Language')); }); this.translate.use(lang); this.refresh(); }
Voici une image
https://zupimages.net/up/21/33/forr.png
Maintenant, si je veux faire un console.log pour vérifier la langue précédente et la langue actuelle.
https://zupimages.net/up/21/33/ey42.pngCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 export class AuthLayoutComponent implements OnInit { supportedLangs; constructor( public _router: Router, private translate: TranslateService, private LS: LocalStoreService, public _location: Location ) { } ngOnInit() { this.supportedLangs = ['fr', 'nl', 'en', 'de', 'es', 'it', 'pt']; } switchLanguage(lang) { if (lang == 'uk') { lang = 'en'; } this.translate.onLangChange.subscribe((event: LangChangeEvent) => { this.LS.setItem('LX_Current_Language', event.lang); console.log("Click on the current language => " + this.LS.getItem('LX_Current_Language')); }); console.log("Previous language : " + this.LS.getItem('LX_Current_Language')); this.translate.use(lang); this.refresh(); } refresh(): void { this._router.navigateByUrl("/refresh", { skipLocationChange: true }).then(() => { this._router.navigate([decodeURI(this._location.path())]); }); } }
Le switch entre le FR -> NL est "null" , je pense que c'est à cause de ça que ça bug entre NL -> EN ?
https://zupimages.net/up/21/33/w0wb.png
Si vous avez une idée, je suis preneur.