如何用Google Cloud Translate翻译Taskmaster-2航班领域嵌套JSON的text字段
如何用Google Cloud Translate翻译Taskmaster-2航班数据集嵌套JSON中的"text"字段
前置准备
- 启用Google Cloud Translate API:在Google Cloud控制台搜索并启用Translate API,创建服务账号并下载密钥JSON文件,设置环境变量:
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/your/service-account-key.json" - 安装Python客户端库:
pip install google-cloud-translate==2.0.1
核心实现步骤
Taskmaster-2的JSON是深度嵌套结构(比如utterances数组内的对象、segments数组内的对象都包含text字段),需要递归遍历整个JSON结构,定位所有text字段并调用翻译API替换内容。
以下是完整的Python代码示例(以英文转孟加拉语为例):
import json from google.cloud import translate_v2 as translate # 初始化翻译客户端 translate_client = translate.Client() def translate_text_field(value, target_lang="bn", source_lang="en"): """递归遍历JSON值,翻译所有"text"字段""" if isinstance(value, dict): for key, val in value.items(): if key == "text": # 调用翻译API result = translate_client.translate(val, target_language=target_lang, source_language=source_lang) value[key] = result["translatedText"] else: # 递归处理嵌套结构 translate_text_field(val, target_lang, source_lang) elif isinstance(value, list): for item in value: translate_text_field(item, target_lang, source_lang) return value def main(): # 读取原始JSON文件 with open("original_flight_data.json", "r", encoding="utf-8") as f: data = json.load(f) # 翻译所有text字段 translated_data = translate_text_field(data, target_lang="bn") # 保存翻译后的JSON文件 with open("translated_flight_data.json", "w", encoding="utf-8") as f: json.dump(translated_data, f, ensure_ascii=False, indent=2) if __name__ == "__main__": main()
代码说明
- 递归遍历函数:
translate_text_field会遍历JSON的每个元素,如果是字典且键为text,则调用Translate API翻译内容;如果是字典或列表,继续递归处理内部结构,确保所有嵌套的text字段都被翻译。 - API调用:使用Google Cloud Translate的v2版本客户端,指定源语言
en和目标语言bn(孟加拉语的语言代码),翻译结果直接替换原text字段的值。 - 文件读写:读取原始JSON时用
utf-8编码,保存时设置ensure_ascii=False以保留孟加拉语的Unicode字符,indent=2保证输出JSON格式和原文件一致。
注意事项
- API配额与费用:Google Cloud Translate有免费配额,超出后会产生费用,建议提前查看控制台的配额限制。
- 批量优化:如果数据集很大,建议将多个
text字段的内容批量提交翻译,减少API请求次数,提高效率。 - 结构一致性:代码会保留原JSON的所有其他字段(如
conversation_id、segments内的start_index等),仅替换text字段内容,和你提供的示例输出结构完全一致。
内容的提问来源于stack exchange,提问作者Rasheeq Ishmam
相关产品推荐
相关产品推荐

