我想在angular 4中添加多语言功能,并从数据库中获取数据(PostgreSQL)。
答案 0 :(得分:-2)
我将假设您已经在应用程序中成功加载了TranslateModule(如果没有,这里是methods suggested by it's creator - they are great!)
因此,首先要设置默认语言是将TranslateService
注入到负责翻译的组件中。然后在构造函数中你将不得不向DB做一些简单的请求。这是一个非常简单的概念如何解决它(例如从ngx-translate文档中取得近1比1):
import {Component} from '@angular/core';
import {TranslateService} from '@ngx-translate/core';
@Component({
selector: 'app',
template: `
<div>{{ 'HELLO' | translate:param }}</div>
`
})
export class AppComponent {
param = {value: 'world'};
constructor(translate: TranslateService) {
let lang;
//here will be your request to recive language from DB
translate.setDefaultLang(lang);
// this language will be used as a fallback when a translation isn't found in the current language
//of course do not forget about error handling if something fails!
translate.use('en');
// the lang to use, if the lang isn't available, it will use the current loader to get them
}
}
去做一些关于ngx-translate的研究,这真的很棒,作者提供了一些很好的例子。
我知道我跳过了对DB的实际请求,但是有很多地方可以阅读它,like this one(Angular官方文档)。