0

我决定实现自定义加载程序的翻译,因为我有一个问题,字符串想要在加载程序加载正确的翻译之前翻译。我遵循ngx-translate github上的示例,但现在无处不在,我得到的是键而不是值。我的自定义装载机:ngx-translate自定义加载程序没有找到翻译

class CustomLoader implements TranslateLoader { 
    getTranslation(lang: string): Observable<any> { 
    return Observable.of({ KEY: 'value' }); 
    } 
} 

在app.module进口我有:

TranslateModule.forRoot({ 
    loader: { provide: TranslateLoader, useClass: CustomLoader } 
}) 

我的翻译是./assets/i18n/和都是JSON。任何人都知道我需要改变这样的装载机会发现我的翻译?

回答

0

试试这个

export function HttpLoaderFactory(http: Http) { 
    return new TranslateHttpLoader(http, "./assets/i18n/locale-", ".json"); 
} 

然后

TranslateModule.forRoot({ 
     loader: { 
     provide: TranslateLoader, 
     useFactory: HttpLoaderFactory, 
     deps: [Http] 
     } 
    }) 
+0

,但不是这个普通的装载机是异步的?我想做一个同步的,所以我可以使用translate.instant()方法 – OjamaYellow