@sedar wrote:
I am trying to use translate pipe. While in app.component.ts it is showing in console correctly. But when using in login.html it is giving error pipe not found(see scrreen shot). Please guide how to use translate pipe so i can use in all over my app. Here is my code
app.module.ts.
import { BrowserModule } from '@angular/platform-browser'; import { ErrorHandler, NgModule } from '@angular/core'; import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular'; import { SplashScreen } from '@ionic-native/splash-screen'; import { StatusBar } from '@ionic-native/status-bar'; import { MyApp } from './app.component'; import { HomePage } from '../pages/home/home'; import { LoginPage } from '../pages/login/login'; import { SignupPage } from '../pages/signup/signup'; import { ReactiveFormsModule } from '@angular/forms'; import { TranslateModule, TranslateLoader } from '@ngx-translate/core'; import { TranslateHttpLoader } from '@ngx-translate/http-loader'; import {HttpClientModule, HttpClient} from '@angular/common/http'; export function createTranslateLoader(http: HttpClient){ return new TranslateHttpLoader(http, './assets/i18n/', '.json'); } @NgModule({ declarations: [ MyApp, HomePage, LoginPage, SignupPage ], imports: [ BrowserModule, HttpClientModule, ReactiveFormsModule, IonicModule.forRoot(MyApp), TranslateModule.forRoot({ loader:{ provide: TranslateLoader, useFactory: (createTranslateLoader), deps: [HttpClient] } }),TranslateModule.forChild() ], bootstrap: [IonicApp], entryComponents: [ MyApp, HomePage, LoginPage, SignupPage ], providers: [ StatusBar, SplashScreen, {provide: ErrorHandler, useClass: IonicErrorHandler} ] }) export class AppModule {}
app.component.ts
import { Component } from '@angular/core'; import { Platform } from 'ionic-angular'; import { StatusBar } from '@ionic-native/status-bar'; import { SplashScreen } from '@ionic-native/splash-screen'; import { LoginPage } from '../pages/login/login'; import { TranslateService } from '@ngx-translate/core' @Component({ templateUrl: 'app.html' }) export class MyApp { rootPage: any = LoginPage; constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen, translate: TranslateService) { platform.ready().then(() => { statusBar.styleDefault(); splashScreen.hide(); translate.setDefaultLang('ar'); translate.get('LOGIN').subscribe(res => { console.log('my result: ', res); }); }); } }
Login.ts
import { Component } from '@angular/core'; import { IonicPage, NavController, NavParams } from 'ionic-angular'; import { FormControl, FormGroup, FormBuilder, FormArray, Validators } from '@angular/forms'; @IonicPage() @Component({ selector: 'page-login', templateUrl: 'login.html', }) export class LoginPage { constructor(public navCtrl: NavController, public navParams: NavParams, private fb: FormBuilder) { } }
Login.module.ts
import { NgModule } from '@angular/core'; import { IonicPageModule } from 'ionic-angular'; import { LoginPage } from './login'; @NgModule({ declarations: [ LoginPage, ], imports: [ IonicPageModule.forChild(LoginPage), ], }) export class LoginPageModule { constructor(){} }
Login.html
<ion-header> <ion-navbar color="primary"> <ion-title> {{ 'LOGIN.TITLE' | translate }} </ion-title> </ion-navbar> </ion-header> <ion-content padding> <div translate>LOGIN.TITLE</div> <button ion-button round (click)='signup()'>Sign Up</button> </ion-content>
Posts: 1
Participants: 1