Desde Angular 9, podemos usar
$localize`Hello ${name}:name:`
Para i18n no código datilografado. Isso ainda tem algumas limitações, pois o ng xi18n
comando não detecta as strings, mas se esses textos forem adicionados manualmente ao arquivo de tradução, ele funcionará.
A $localize
função está muito bem documentada no JSDoc na fonte , no entanto, não explica como trabalhar com plurais. O que quero dizer é algo assim (pseudo-código):
$localize`Hello {${count}, plural, =1 {reader} other {readers}}`
Isso é possível com $localize
? Se sim: como? Se não: como o Angular compila essas expressões do HTML para o TypeScript?
<span i18n>Updated {minutes, plural, =0 {just now} =1 {one minute ago} other {{{minutes}} minutes ago}}</span>
? Isso está nos documentos. Bem parecido com o que você quer