首页 > 解决方案 > 如何首先使用两个翻译器处理 JSON 文件,然后使用第二个翻译器处理 firestore?

问题描述

JSON文件方法

export function createTranslateLoader(http: HttpClient) {
  return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}

JSON 文件加载器

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

AngularFirestore 方法

export function FirestoreTranslationsLoaderFactory(db: AngularFirestore) {
  return new FirestoreTransLoader(db);
}

AngularFirestore 文件加载器

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

注意:我不能同时使用两个我尝试在一个方法和加载器中合并。

标签: angularangular6angularfire2ngx-translate

解决方案


就像我已经在评论部分回答你一样:

我认为理论上将一份数据分别存储在两个地方并不是最好的主意。

但是,如果您需要类似的东西,可以MissingTranslationHandler像我在这里所做的那样使用:
https
://github.com/Mr-Eluzive/angularfire-ngx-translate-example/tree/missing-translation-handler 您可以查看这之间的差异branch 和 master 以熟悉要使其正常工作必须做的事情。


推荐阅读