Python使用googletrans时如何将语言代码转换为对应语言名称
实现方法
googletrans内置的LANGUAGES字典已经存储了语言代码到英文语言名的映射,你直接调用该字典查询即可完成替换。
具体修改步骤如下:
- 从
googletrans包中导入LANGUAGES字典 - 拿到源语言代码
sourcelang后,以该代码为键查询LANGUAGES字典得到对应语言名,建议使用get方法避免遇到未收录的语言代码时报错 - 如果你需要显示中文的语言名称,可以自行维护一个中文映射字典做查询
替换为英文语言名的代码示例
from googletrans import Translator, LANGUAGES # 这里补充你之前的translator初始化代码,例如 translator = Translator() totranslate = translator.translate(totranslate) sourcelang = totranslate.src # 查询语言名,首字母大写,遇到未知代码时保留原代码显示 source_lang_name = LANGUAGES.get(sourcelang, sourcelang).capitalize() totranslate = totranslate.text print(f'Translated to English from {source_lang_name}: {totranslate}')
修改后输入hola的输出为:
Translated to English from Spanish: hello
替换为中文语言名的代码示例
如果需要显示中文语言名,可以预先定义中文映射字典:
from googletrans import Translator # 中文语言映射字典,可根据需求补充更多语言 LANG_ZH_MAP = { 'es': '西班牙语', 'en': '英语', 'fr': '法语', 'de': '德语', 'ja': '日语', 'ko': '韩语', 'zh-cn': '简体中文', 'zh-tw': '繁体中文' } translator = Translator() totranslate = translator.translate(totranslate) sourcelang = totranslate.src source_lang_name = LANG_ZH_MAP.get(sourcelang, sourcelang) totranslate = totranslate.text # 整句输出中文的示例 print(f'已从{source_lang_name}翻译为英文:{totranslate}')
修改后输入hola的输出为:
已从西班牙语翻译为英文:hello
内容的提问来源于stack exchange,提问作者dairy
相关产品推荐
相关产品推荐

