Ser*_*dez 3 translate typescript ngx-translate angular
我正在使用 ngx-translate 模块制作一个 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() {
}
}
Run Code Online (Sandbox Code Playgroud)
因此该服务使用“en.json”、“es.json”和“fr.json”来匹配翻译。
所以我的问题是
如何避免“json”文档并将文本与数据库中的文本匹配?
所以客户端永远不必重建以获得新的翻译更新,只需添加到数据库并自动翻译而无需重建
Ngx-translate 有一个方法 setTranslation 接受 Lang 键和一个 JSON 对象 - 您可以从任何地方(例如:数据库)加载您的 JSON 对象并使用它设置它们
setTranslation(lang: string, translations: Object, shouldMerge: boolean = false): Manually sets an object of translations for a given language, set shouldMerge to true if you want to append the translations instead of replacing them
文档:https : //github.com/ngx-translate/core/blob/master/README.md#api
| 归档时间: |
|
| 查看次数: |
3271 次 |
| 最近记录: |