我正在使用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>
答案 0 :(得分: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):设置用作后备的默认语言
use(lang:string):Observable:更改当前使用的lang
因此,只有在设置lang不成功时才使用默认的lang。
有关详细信息,请参阅https://github.com/ngx-translate/core。