В Angular2 currency pipe в конечном счете исполняет вот эту функцию
new Intl.NumberFormat([locales[, options]])
https://developer.mozilla.org/ru/docs/Web/JavaScri...
Чтобы pipe вернул русский символ рубля. ему нужно подставить правильную локаль ru-RU. Ее можно переопределить глобально, но раз ты используешь разные котировки, то можно сделать кастомный pipe
К примеру вот так может работать (
Plunker):
import { CurrencyPipe } from '@angular/common';
const map = {
'RUB': 'ru-RU',
'JPY': 'ja-JP'
}
@Pipe({name: 'localizedCurrency'})
export class LocalizedCurrencyPipe implements PipeTransform {
transform(value: any, currencyCode: string = 'USD',
symbolDisplay: boolean = false, digits: string = null): string {
return new CurrencyPipe(map[currencyCode]).transform(value, currencyCode, symbolDisplay, digits);
}
}