View the Project on GitHub tflori/angular-translator
The TranslatePipe is the easiest way for translation.
Here are some examples how we can use it:
<h5>Simple translation of words or phrases</h5>
<p>{{ 'HELLO_WORLD' | translate }}</p>
<h5>Translate a variable</h5>
<p>{{ status | translate }}</p>
<h5>Translate with variable</h5>
<p>{{ 'LAST_LOGIN' |translate: logindate }}</p>
<h5>Translate with defined parameters</h5>
<p>{{ 'GREET' | translate: { firstName: user.firstName, lastName: user.lastName } }}</p>
You can use a specific module by adding a second parameter. If this parameter is not given the provided Translator
will be used. You can overwrite the provided translator in the component (described in section Modules).
<p>{{ 'TITLE' | translate:{}:'admin' }}</p>
For the most use cases we suggest you to translate before in the component. Here are the examples again:
import { Component } from '@angular/core';
import { Translator } from 'angular-translator';
@Component({
    selector: 'my-component',
    template: '
<p>{{ translatedStatus }}</p>
<p>{{ lastLogin }}</p>
<p>{{ greeting }}</p>'
})
export class MyComponent {
    constructor(private translator: Translator) {
        this.status = 'PENDING';
        
        this.logindate = new Date('2016-02-11');
        
        this.user = {
              firstName: 'John',
              lastName: 'Doe'
        }
        
        this.getTranslations();
        
        translator.languageChanged.subscribe(() => this.getTranslations());
    }
  
    private getTranslations() {
        TranslateService.waitForTranslation().then(() => {
            this.translatedStatus = TranslateService.instant(status);
            
            this.lastLogin = TranslateService.instant('LAST LOGIN', logindate);
            
            this.greeting = TranslateService.instant('GREET', this.user);
        });
    }
}