嗨,我已经好几天没能解决这个问题了。当我尝试使用管道翻译时,我会得到这个错误。
Error: Uncaught (in promise): Error: Template parse errors:
The pipe 'translate' could not be found ("
<ion-content padding>
<h2>{{[ERROR ->]"HELLO" | translate }}</h2>
</ion-content>
"): ng:///AdminPannelPageModule/AdminPannelPage.html@11:8我用的是角5。
这些是我用来翻译的版本
"@ngx-translate/core": "^9.1.1",
"@ngx-translate/http-loader": "^2.0.1",Npm安装
npm install @ngx-translate/core @ngx-translate/http-loader --save这是我的Home.html页面
<h2>{{"HELLO" | translate }}</h2>用于翻译的JSON文件:
assets/i18n/en.json
{
"HELLO": "hello"
}
assets/i18n/it.json
{
"HELLO": "ciao"
}在导出中,我使用了export function setTranslateLoader (http: HttpClient)而不是export function setTranslateLoader (http: Http),因为如果没有,它会给出以下错误:Argument of type 'Http' is not assignable to parameter of type 'HttpClient '. Property 'handler' is missing in type 'Http'.
这是我在app.module.ts的进口
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
import { HttpClientModule, HttpClient } from '@angular/common/http';
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
export function setTranslateLoader(http: HttpClient) {
return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}
@NgModule({
imports: [
HttpClientModule,
IonicModule.forRoot(MyApp),
TranslateModule.forRoot({
  loader: {
    provide: TranslateLoader,
    useFactory: (setTranslateLoader),
    deps: [HttpClient]
  }
}),
],这是我的app.component.ts构造函数
constructor(..., translate: TranslateService) {
     translate.setDefaultLang('en');
     ...
}发布于 2018-06-27 08:42:02
我们可以看到,您有一个子模块AdminPannelPageModule,其中实际上抛出了错误。您也需要在该模块中标记TranslateModule,但跳过forRoot()。所以在你的AdminPannelModule里
imports: [
  ....
  TranslateModule
],https://stackoverflow.com/questions/51057997
复制相似问题