My problem was not related to \language or \mainlanguage.
It was the side-effect of a different mistake: \startnotmode
that was not closed by a \stopnotmode.
...
\startmode[Info]
... % things to do when mode Info is active
\stopmode
\startnotmode[Info]
... % things to do when mode Info is not
I apologize for the noise.
\mainlanguage[it] before \starttext solves the problem.
> Hello list,
> I'm typesetting XHTML italian text with Context (version 4/4/16).
>
> I've put a \language[it] just after \starttext, but I get words
> with a wrong hyphenation.
>
> As a patch, I just put