На данный момент невозможно использовать ICU с $localize
, как обсуждалось в этом выпуске github . Из последних комментариев похоже, что angular команда рассматривает его, если он останется легковесным.
Между тем, предлагаемым обходным решением является создание собственного вспомогательного метода, который возвращает правильный перевод на основе параметра count.
title = $localize `Hi ${this.name}! You have ${
plural(this.users.length. {
0: $localize `no users`,
1: $localize `one user`,
other: $localize`${this.users.length} users`,
}.`
function plural(value, options) {
// Handle 0, 1, ... cases
const directResult = options[value];
if (directResult !== undefined) { return directResult; }
// handle zero, one, two, few, many
// ...
return options.other;
}