`ng2-translate` - всегда устанавливает с` english` другим языком не установленным - PullRequest
0 голосов
/ 25 апреля 2018

Я использую ng2-translate - для перевода. но когда я меняю язык по-прежнему переводчик использует en. но я ищу fr, по умолчанию не загружается вообще. вот мой код:

export class HomeComponent implements OnInit {

  data:any;

  constructor(private router:Router, private route: ActivatedRoute, private translate:TranslateService ) {

    translate.addLangs(["fr","en"]);
    translate.setDefaultLang("fr");//french not loading!!

    let browserlang = translate.getBrowserLang();
    translate.use(browserlang.match(/fr|en/) ? browserlang:"fr");

    console.log('browserlang', browserlang );

  }

}

мой шаблон:

<h1>{{ 'home.title' | translate }} </h1>

1 Ответ

0 голосов
/ 25 апреля 2018

Возможно, вам нужно добавить строку для установки текущего языка на французский:

constructor(private router:Router, private route: ActivatedRoute, private translate:TranslateService ) {

    translate.addLangs(["fr","en"]);
    translate.setDefaultLang("fr");//french not loading!!

    // Actually set the current language to French
    translate.use("fr").subscribe(() => {
        // Code here runs after language is set to French
        let browserlang = translate.getBrowserLang();

        console.log('browserlang', browserlang );
        console.log(`currentLang`, translate.currentLang);
    });

  }

Из ng2-translate документов:

setDefaultLang (lang: string): устанавливаетязык по умолчанию для использования в качестве отступления
use (lang: string): Observable: изменяет используемый в настоящее время язык

Таким образом, язык по умолчанию используется только при установкеlang безуспешен.

Подробнее см. https://github.com/ngx-translate/core.

...