我可以同时使用两种翻译方法(本地+ Firebase)和ngx-translate吗?

时间:2019-02-06 18:31:07

标签: angular firebase ngx-translate

我有一个Angular 7应用程序,在我的app.module.ts中,我将TranslateModule配置为从Firebase获取翻译。

这是@NgModule里面的代码片段:

TranslateModule.forRoot({
    loader: {
        provide: TranslateLoader,
        useFactory: firebaseTransLoaderFactory,
        deps: [AngularFireDatabase, AppLoadService]
    }
})

Firebase翻译加载器工厂的导出功能:

// Loads translations from Firebase
export function firebaseTransLoaderFactory(db: AngularFireDatabase, appLoadService: AppLoadService) {
    return new FirebaseTransLoader(db, appLoadService);
}

在此之前,我有以下内容:

来自@NgModule的代码段:

TranslateModule.forRoot({
    loader: {
        provide: TranslateLoader,
        useFactory: (createTranslateLoader),
        deps: [HttpClient]
    }
}),

相应的导出功能:

// Loads translations from local JSON
export function httpTranslateLoader(http: HttpClient) {
    return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}

我想实现以下目标之一:

  • 一种默认情况下从Firebase加载翻译的机制,但是如果缺少翻译,则从本地JSON i18n文件(en.json)加载它们。
  • 或者...一种机制,该机制将从本地文件加载翻译,然后从Firebase加载相同的翻译(它们会覆盖JSON)。

我已经尝试使用 missingTranslationHandler 失败。可能有这样的事情吗?还是其他解决方案?任何帮助/见解将不胜感激。

谢谢。

0 个答案:

没有答案