import { Pipe, PipeTransform } from '@angular/core'; import { ChatMessage } from '../store/entities'; function translate(message: ChatMessage) { if (!message.t) { return message.msg; } const msg = message.msg; const user = message.u.username; switch (message.t) { case 'r': return `Room name chaged to: ${msg} by ${user}`; case 'au': return `User ${msg} added by ${user}`; case 'ru': return `用户 ${msg}${user}移除`; case 'ul': return `用户 ${msg}离开了频道`; case 'uj': return `用户 ${msg} 加入了频道`; case 'wm': return `欢迎 ${user}`; case 'rm': return `${user}删除了消息!`; case 'room-archived': return `This room has been archived by ${user}`; case 'room-unarchived': return `This room has been unarchived by ${user}`; case 'room_changed_privacy': return `${user} 将房间类型修改为:${msg}`; } } @Pipe({ name: 'translateMessage' }) export class TranslateMessagePipe implements PipeTransform { public transform(message: ChatMessage): string { return translate(message); } }