I got into a project years ago with this ambition using an AST and allowing each language to provide their own translation for each syntax element or block of code.
It also had the unique benefit of being able to take larger blocks like a function and allowing the translator to provide a full function in some native programming language so that a login or Fibonacci function could have multiple translations in the same language allowing the translation to evolve and adapt to use the most efficient one as new translations were introduced.