`ng2-translate` - всегда устанавливает с`english` другим языком не установленным
Я использую 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 ответ
Возможно, вам нужно добавить строку, чтобы установить текущий язык на французский:
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 для получения дополнительной информации.