LocalMode
Transformers

Translation

Multi-language translation with Helsinki-NLP models.

Translate text between languages using Helsinki-NLP OPUS-MT models. Each model handles a specific language pair.

For full API reference (translate(), translateMany(), options, result types, and custom providers), see the Core Translation guide.

See it in action

Try Translator and Smart Writer for working demos.

ModelDirectionSizeUse Case
Xenova/opus-mt-en-frEnglish → French~100MBEN-FR translation
Xenova/opus-mt-en-deEnglish → German~100MBEN-DE translation
Xenova/opus-mt-en-esEnglish → Spanish~100MBEN-ES translation
Xenova/opus-mt-fr-enFrench → English~100MBFR-EN translation
Xenova/opus-mt-de-enGerman → English~100MBDE-EN translation
Xenova/opus-mt-es-enSpanish → English~100MBES-EN translation

OPUS-MT models are directional — each model translates one direction only. Use the correct model for your source → target language pair. Browse the full list at Helsinki-NLP on HuggingFace.

Multi-Language Support

Based on the Translator showcase app — use a different model per language pair:

import { transformers } from '@localmode/transformers';
import { translate } from '@localmode/core';

const models = {
  'en-fr': transformers.translator('Xenova/opus-mt-en-fr'),
  'en-de': transformers.translator('Xenova/opus-mt-en-de'),
  'en-es': transformers.translator('Xenova/opus-mt-en-es'),
  'fr-en': transformers.translator('Xenova/opus-mt-fr-en'),
  'de-en': transformers.translator('Xenova/opus-mt-de-en'),
  'es-en': transformers.translator('Xenova/opus-mt-es-en'),
};

async function translateText(text: string, pair: keyof typeof models) {
  const { translation } = await translate({
    model: models[pair],
    text,
  });
  return translation;
}

Best Practices

Translation Tips

  1. One model per direction — OPUS-MT models are unidirectional
  2. Cache model instances — Store models in a Map keyed by language pair
  3. Keep text reasonable — Very long texts may lose quality; consider chunking
  4. Support cancellation — Pass abortSignal for user-cancelable translations

Showcase Apps

AppDescriptionLinks
TranslatorTranslate between 200+ language pairsDemo · Source
Smart WriterMulti-language writing with translation supportDemo · Source

Next Steps

On this page