https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119201
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Though, now that I think again about this, I think what we have in the sources is right, at least for Czech. Where inform_n (i.e. ngettext under the hood) should be used is if the wording said "missing %d primary template attribute %e" "missing %d primary template attributes %e" Then in Czech it would be 3 variants, n==1 "chybí %d atribut %e primární šablony" n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) "chybí %d atributy %e primární šablony" default "chybí %d atributů %e primární šablony" But the major difference is that the %d (or %wd or %ld) is missing there. And at least in Czech when it is missing, there are no 3 variants, just 2, singular and plural.