googletrans 库本身并不直接支持获取翻译文本的发音功能。不过,你可以结合其他库来实现这一功能。一个常见的选择是使用 gTTS(Google Text-to-Speech)库来将文本转换为语音。

安装 gTTS

首先,你需要安装 gTTS 库:

pip install gtts

结合 googletransgTTS

下面是一个示例代码,展示如何使用 googletrans 进行翻译,然后使用 gTTS 获取翻译文本的发音并保存为 MP3 文件:

from googletrans import Translator, LANGUAGES
from gtts import gTTS
import os

def translate_and_get_pronunciation(text, dest_language):
    # 创建一个 Translator 实例
    translator = Translator()

    # 检查目标语言是否有效
    if dest_language not in LANGUAGES:
        print(f"Unsupported language: {dest_language}")
        return

    # 翻译文本
    translation = translator.translate(text, dest=dest_language)

    # 输出原始文本和翻译后的文本
    print(f"Original ({LANGUAGES[translation.src]}): {text}")
    print(f"Translated ({LANGUAGES[dest_language]}): {translation.text}")

    # 使用 gTTS 获取翻译文本的发音
    tts = gTTS(text=translation.text, lang=dest_language)

    # 保存为 MP3 文件
    filename = f"pronunciation_{dest_language}.mp3"
    tts.save(filename)

    print(f"Pronunciation saved as {filename}")

# 示例调用
text_to_translate = "Hello, how are you?"
destination_language = 'zh-cn'  # 翻译成中文(简体)
translate_and_get_pronunciation(text_to_translate, destination_language)

说明

  1. 翻译文本:使用 googletrans 库将输入文本翻译为目标语言。
  2. 获取发音:使用 gTTS 库将翻译后的文本转换为语音,并保存为 MP3 文件。
  3. 输出信息:打印原始文本、翻译后的文本以及保存的 MP3 文件名。

运行结果

运行上述代码后,你将会看到如下输出:

Original (English): Hello, how are you?
Translated (Chinese (Simplified)): 你好,你好吗?
Pronunciation saved as pronunciation_zh-cn.mp3

同时,你会在当前目录下找到一个名为 pronunciation_zh-cn.mp3 的文件,里面包含了翻译文本的发音。

注意事项

  • gTTS 库同样需要网络连接来获取语音数据。
  • 如果你需要在离线环境中获取发音,可以考虑使用本地的 TTS 引擎,如 espeakfestival,但这需要额外的配置和安装。

希望这对你有帮助!如果有任何问题或需要进一步的帮助,请告诉我。