Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ngx-translate getBrowserLang returns 'en' all the time

I'm using ngx-translate. I changed my OS language to german, but still when I print out this.translate.getBrowserLang() it returns 'en'.

protected myMethod() {
    this.translate.setDefaultLang( 'en' );
    this.translate.use( 'de' );
    console.log( 'Browser Lang', this.translate.getBrowserLang());
}

but when I use console.log( 'Browser Lang', navigator.language) it prints 'de' as expected.

What am I doing wrong?

Also is there a way to automatically detect and switch the language in ngx-translate?

like image 859
user3607282 Avatar asked Sep 17 '25 01:09

user3607282


1 Answers

.getBrowserLang() returns the FIRST default browser language.

And navigator.language return the current user navigator language preference.

So use navigator.language is the best way to detect user current language

like image 70
Léo R. Avatar answered Sep 19 '25 15:09

Léo R.