我正在使用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>发布于 2018-04-25 10:31:05
您可能需要添加一行以将当前语言设置为法语:
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文档中:
字符串(lang:setDefaultLang):设置用作回退字符串的默认语言
use( lang : string):Observable:更改当前使用的语言
因此,仅当设置lang失败时才使用默认lang。
有关详细信息,请参阅https://github.com/ngx-translate/core。
https://stackoverflow.com/questions/50013065
复制相似问题