angular 4多语言并从数据库中获取数据

时间:2017-10-25 11:18:26

标签: angular

我想在angular 4中添加多语言功能,并从数据库中获取数据(PostgreSQL)。

  1. 使用 ngx-translate 模块,我们必须创建.json文件语言老虎机,但我想从数据库中获取本地化(数据)。

1 个答案:

答案 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官方文档)。