Как использовать валютную трубу с ngx-translate? - PullRequest
0 голосов
/ 13 апреля 2020

Я использую ngx-translate для интернализации моего angular приложения. Я добавил выпадающий список из 3 языков (fr, de и en). При переключении языка я хочу изменить символ валюты. Я также добавил пользовательский канал, но он не работает.

table.component.html
 <p>{{'company' | translate}}</p>  - this value is changing
 <p>{{payment.amount | mycurrency}}</p> - this value is not changing



mycurrency.ts

import { Pipe, PipeTransform } from '@angular/core';
import { formatCurrency, getCurrencySymbol } from '@angular/common';
import { DEFAULT_LANGUAGE } from '@ngx-translate/core';
@Pipe({
    name: 'mycurrency',
})
export class MycurrencyPipe implements PipeTransform {
    code: any;
    constructor() {
        if (localStorage.getItem("language") == 'fr' || localStorage.getItem("language") == 'de') {
            this.code='EUR';
        }
        else {
            this.code ='USD';
        }
    }

    transform(
        value: number,
        currencyCode: string = this.code,
        display:
            | 'code'
            | 'symbol'
            | 'symbol-narrow'
            | string
            | boolean = 'symbol',
        digitsInfo: string = '3.2-2',
        locale: string = localStorage.getItem("language"),
    ): string | null {
        console.log("Ds");
        return formatCurrency(
            value,
            locale,
            getCurrencySymbol(currencyCode, 'wide'),
            currencyCode,
            digitsInfo,
        );
    }
}
'''


Ответы [ 2 ]

0 голосов
/ 13 апреля 2020

Вы можете использовать angular валютную трубу

table.component.html

<p>
    {{payment.amount | currency:currencyCode}}
</p>

currencyCode может быть переменной, содержащей стандартный код валюты ('USD', 'EURO' , 'INR' и т. Д. c), или вы можете назначить это в раскрывающемся списке.

Проверьте приведенный ниже пример

https://stackblitz.com/edit/angular-rj7e4t

0 голосов
/ 13 апреля 2020

Вы можете использовать getCurrencySymbol . Проверьте этот пример для получения дополнительной информации.

https://stackblitz.com/edit/angular-currency-symbol-pipe-9pvmdc

...