如何在不更改JSON文件的情况下防止在angular ngx translate中下载整个JSON文件



我正在尝试使用ngx-translate将我的angular应用程序翻译成多种语言。最近我才意识到ngx翻译服务正在下载我的JSON文件,该文件包含所有翻译键和值,每种语言的大小都超过5 mb。

有没有什么方法可以在不更改JSON文件的情况下阻止下载?

我需要的是这样的东西:客户端发送密钥或多个密钥来获得翻译,ngx-translate使用语言在JSON文件中搜索这些密钥的值(例如en.us(,然后响应该翻译请求。有了这个解决方案,我不需要将整个JSON文件下载到客户端浏览器中。我找了很多遍都没有找到正确的答案。

这是我的ng模块:

@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
HttpClientModule,
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps: [HttpClient]
},
isolate:true
}),
AppRoutingModule
],
providers: [],
bootstrap: [AppComponent]
})

ngx-translate在客户端工作,因此需要下载。ngx-translate无法在服务器上执行此操作。我认为您唯一的选择是将JSON拆分为多个文件。

我仍然对一种语言是5mb这一事实感到惊讶和印象深刻!!!必须是应用程序的怪物;(

最新更新