from transformers import MarianMTModel, MarianTokenizer
# Define the model names for different language pairs model_names = { 'fr': 'Helsinki-NLP/opus-mt-en-fr', 'de': 'Helsinki-NLP/opus-mt-en-de', 'es': 'Helsinki-NLP/opus-mt-en-es', 'ja': 'Helsinki-NLP/opus-mt-en-ja' }
# Function to translate text into multiple languages def translate_to_multiple_languages(text, src_lang='en', target_langs=['fr', 'de', 'es', 'ja']): translations = {} for tgt_lang in target_langs: model_name = model_names.get(tgt_lang) if model_name: model = MarianMTModel.from_pretrained(model_name) tokenizer = MarianTokenizer.from_pretrained(model_name) translated = model.generate(**tokenizer(text, return_tensors="pt", padding=True)) translated_text = [tokenizer.decode(t, skip_special_tokens=True) for t in translated] translations[tgt_lang] = translated_text[0] return translations
# Example usage text = "Hello, how are you?"
# Translate to multiple languages translations = translate_to_multiple_languages(text) for lang, translation in translations.items(): print(f"Translation to {lang}: {translation}")