угловой 5. перевод - манипулировать всеми ключами перед переводом - PullRequest
0 голосов
/ 28 октября 2018

В моем приложении я использую ngx-translate.Мне нужно сделать некоторые манипуляции со всеми ключами на основе информации пользователя.

Например -

Код в шаблоне: abc , если пользователь выберет в каком-либо поле ввода x , мы сначала попробуем посмотретьдля ключа abcx и, если он не существует, найдите исходный код.Мне нужно это для всех ключей в системе (в реальной логике мне нужно добавить больше информации в ключе)

Есть ли способ выполнить эту логику для всех моих ключей перед переводом только в одномместо вместо каждого компонента?

Спасибо!

1 Ответ

0 голосов
/ 28 октября 2018

Создайте пользовательскую трубу, которая расширяет 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 }}
...