Angular 使用数据库中的值进行ngx转换?
我正在使用ngx翻译模块制作angular2应用程序 服务使用.json文档来查找翻译 首先。。。我注意到本地json文档路由为“/src/assets/i18n/”,如下图所示: 因此,翻译服务使用默认语言来翻译不同的文本 这就是我的app.component.ts的工作原理: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-
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
医生:非常感谢,这就是我要找的