簡體   English   中英

ngx-translate與數據庫中的值?

[英]ngx-translate with values in database?

我正在使用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() {
  }

}

因此服務使用“en.json”,“es.json”和“fr.json”來匹配翻譯。

所以我的問題是

如何避免“json”文檔並將文本與數據庫中的文本進行匹配?

因此,客戶端永遠不必重建以獲得新的翻譯更新,只需添加到數據庫並自動翻譯而無需重建

Ngx-translate有一個接受Lang鍵和JSON對象的方法setTranslation - 你可以從任何地方加載你的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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM