Tłumaczenie języków jest trudne. Musisz przeanalizować oryginał (z całą dziwną składnią i brodawkami, na które pozwala, wykraczając poza to, co mówi dokumentacja), określić, co oznaczają nazwy, odkryć semantykę i przetłumaczyć na język docelowy bez utraty subtelnych szczegółów.
Byłbym zdziwiony, gdybyś znalazł rozwiązanie dla tego gotowego rozwiązania. Częściowo problem polega na tym, że istnieje ogromna liczba języków źródłowych (pogorszonych przez dialekty) i ogromna liczba docelowych M, co wymaga posiadania biblioteki tłumaczy NxM. A jeśli poczekasz kilka miesięcy, N i M się przeprowadzą. Jedną nadzieją jest przetłumaczenie języków N na wspólny uniwersalny język podstawowy i przetłumaczenie tego na cele M, teraz wymagające tylko N+M… ale nikt nie znalazł naprawdę uniwersalnego języka, a jeśli poczekasz kilka miesięcy, N i M przesuń się mimo to.
Można rozważyć zbudowanie (lub nakłonienie kogoś innego do zbudowania) konkretnego tłumacza do zadania; zazwyczaj jest to nieekonomiczne, przynajmniej jeśli chcesz, aby było niezawodne, ponieważ wiele maszyn tłumaczących (parsowanie, rozwiązywanie nazw, dopasowywanie/tłumaczenie wzorców, ...) ma tendencję do przebudowywania od zera.
Koszt infrastruktury tłumacza można amortyzować, jeśli jesteś ostrożny, budując (wiele) współdzielonych maszyn. Gdy to zrobisz, budowanie tłumacza jest łatwiejsze (wciąż niełatwe), a ekonomia ma więcej sensu w indywidualnych przypadkach. Więcej o tym podejściu można przeczytać na: Jakie rodzaje wzorców mogę wymusić w kodzie, aby ułatwić tłumaczenie na inny język programowania?