角度5.翻译-在翻译之前操作所有按键

时间:2018-10-28 09:02:48

标签: javascript angular typescript ngx-translate

在我的应用中,我正在使用ngx-translate。 我需要根据用户信息对所有键进行一些操作。

例如-

模板中的代码为 abc ,如果用户在某个输入字段中选择 x ,我们将首先尝试查找 abcx 键如果不存在,请搜索原始代码。 我需要系统中的所有键(实际上,我需要在键中添加更多信息)

在翻译之前,有没有办法对我所有的键执行此逻辑,而不是在每个位置?

谢谢!

1 个答案:

答案 0 :(得分:1)

创建一个扩展ngx-translate转换管道的自定义管道。 像这样:

@Pipe({
  name: 'customTranslate',
  pure: false
})
export class CustomTranslatePipe extends TranslatePipe {
transform(query: string, ...args: any[]): any {
  const modifiedQuery = query + '.x';
  const result = super.transform(modifiedQuery, args);
  return result !== modifiedQuery ? result : super.transform(query, args);
}

并使用它代替翻译管道:

{{ 'a.b.c' | customTranslate }}