all files / app/utils/pipes/ translate.ts

88% Statements 22/25
66.67% Branches 8/12
100% Functions 3/3
86.96% Lines 20/23
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43            1× 1×         1× 1× 163× 163× 163×   163× 157× 1×   156× 6× 3× 3× 3×             3×   3× 3×   3×     1×  
/* Copyright CloudLinux Zug GmbH 2010-2017 All Rights Reserved
 *
 * Licensed under CLOUD LINUX LICENSE AGREEMENT
 * http://cloudlinux.com/docs/LICENSE.TXT
 */
 
import { Pipe, PipeTransform } from '@angular/core';
import { TranslateLocaleParser } from '../TranslateLocaleParser';
 
declare var translateDict: any;
 
@Pipe({name: 't'})
export class TranslateClass implements PipeTransform {
    transform(word: any) {
        let TD = {};
        Eif (typeof translateDict !== 'undefined') {
            TD = translateDict;
        }
        if (typeof word === 'string') {
            if (TD.hasOwnProperty(word))
                return TD[word];
            else
                return word;
        } else if (typeof word === 'object') {
            let pattern = word[0];
            let translatedWord = pattern;
            Iif (TD.hasOwnProperty(pattern)) {
                translatedWord = TD[pattern];
                if (typeof translatedWord !== 'string') {
                    translatedWord = pattern;
                }
            }
 
            let params = word[1];
 
            let parser = new TranslateLocaleParser();
            return parser.interpolate(translatedWord, params);
        } else {
            return word;
        }
    }
}