I have already searched all of drupal.org, as weel as Reyeros site, and google, trying to find a patch so taxonomy_menu works with i18n (or the other way around).
The problem is: when changing languages from i18n block, while displying a taxonomy_menu page for a term in one language, does not bring the taxonomy_menu page for the translated term.
Instead, the same taxonomy_menu page is called, but because its terms ID are for the prior language and not the language just selected, no content is displayed and a not-found message is displayed.
When the normal taxonomy/term pages are used, the i18n block processes the taxonomy/term/xx url and the link in the block is for the translated taxonomy/term/yy page. It seems that the block is aware of taxonomy/term/xx->yy, but this processing in the block does not occur for taxonomy_menu.
I noticed that taxonomy_menu uses a different syntax than taxonomy/term (/aa/bb/cc instead of just cc) and because of this complexity I could not make any progress in my attempt to patch i18n block. (If the syntax was similar, this could be done with an extra "if .... /taxonomy/term/id else ..../taxonomy_menu/id")
I have tried a workaround with alt urls. For example:
These are the two taxonomy_menu pages that needed to be switched through i18n block:
pt/taxonomy_menu/5/28 (term in Portuguese)
en/taxonomy_menu/5/25 (same term but in English)