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