1

我正在使用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>
4

1 回答 1

0

您可能需要添加一行将当前语言设置为法语:

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): 设置默认语言作为后备
使用(lang: string): Observable: 改变当前使用的语言

因此只有在设置 lang 不成功时才使用默认 lang。

有关更多信息,请参阅https://github.com/ngx-translate/core

于 2018-04-25T02:31:04.923 回答