gsiradze
gsiradze

Reputation: 4733

Get browser language on startup using Service

I want to get browser language on application startup. For that I wrote service which looks like:

import { Injectable } from '@angular/core';
import { TranslateService } from 'ng2-translate/ng2-translate';

@Injectable()
export class LanguageService {

constructor(public translate: TranslateService) {
    let browserLang = translate.getBrowserLang();
    translate.use(browserLang.match(/en|ge/) ? browserLang : 'en');
}
}

and in app.module.ts I've added this service:

bootstrap: [ AppComponent, [ LanguageService ] ]

but when it executes in console appears this error:

(index):18 Error: (SystemJS) No Directive annotation found on LanguageService(…)

what's wrong?

Upvotes: 0

Views: 2760

Answers (1)

jmachnik
jmachnik

Reputation: 1120

You should inject LanguageService into AppComponent, not bootstrapping the service.

AppComponent :

 constructor(private languageService: LanguageService) { }

Upvotes: 3

Related Questions