Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 使用数据库中的值进行ngx转换?_Angular_Typescript_Translate_Ngx Translate - Fatal编程技术网

Angular 使用数据库中的值进行ngx转换?

Angular 使用数据库中的值进行ngx转换?,angular,typescript,translate,ngx-translate,Angular,Typescript,Translate,Ngx Translate,我正在使用ngx翻译模块制作angular2应用程序 服务使用.json文档来查找翻译 首先。。。我注意到本地json文档路由为“/src/assets/i18n/”,如下图所示: 因此,翻译服务使用默认语言来翻译不同的文本 这就是我的app.component.ts的工作原理: import { Component, OnInit, AfterContentInit } from '@angular/core'; import { TranslateService } from '@ngx-

我正在使用ngx翻译模块制作angular2应用程序

服务使用.json文档来查找翻译

首先。。。我注意到本地json文档路由为“/src/assets/i18n/”,如下图所示:

因此,翻译服务使用默认语言来翻译不同的文本

这就是我的app.component.ts的工作原理:

import { Component, OnInit, AfterContentInit } from '@angular/core';
import { TranslateService } from '@ngx-translate/core';


@Component({
  selector: 'app-root',
  template: '<router-outlet></router-outlet>'
})
export class AppComponent implements OnInit {
  constructor(translate: TranslateService) {
    translate.addLangs(['es']);
    translate.setDefaultLang('es');

    const browserLang: string = translate.getBrowserLang();
    translate.use(browserLang.match(/en|es/) ? browserLang : 'es');
  }

  ngOnInit() {
  }

}
从'@angular/core'导入{Component,OnInit,AfterContentInit};
从'@ngx translate/core'导入{TranslateService};
@组成部分({
选择器:'应用程序根',
模板:“”
})
导出类AppComponent实现OnInit{
构造函数(翻译:翻译服务){
translate.addLangs(['es']);
translate.setDefaultLang('es');
const browserLang:string=translate.getBrowserLang();
translate.use(browserLang.match(/en | es/)?browserLang:'es');
}
恩戈尼尼特(){
}
}
因此,服务使用“en.json”、“es.json”和“fr.json”匹配翻译

所以我的问题是

如何避免使用“json”文档,并将文本与数据库中的文本进行匹配


因此,客户端无需重新生成即可获得新的翻译更新,只需添加到数据库并在不重新生成的情况下自动翻译即可。Ngx translate有一个方法setTranslation,该方法接受Lang键和JSON对象-您可以从任何位置(例如:数据库)加载JSON对象,并使用此方法进行设置


setTranslation(lang:string,translations:Object,shouldMerge:boolean=false):手动设置给定语言的翻译对象,如果要附加翻译而不是替换翻译,请将shouldMerge设置为true


医生:

非常感谢,这就是我要找的