You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用谷歌翻译API英译希伯来语出现混译问题求助

谷歌翻译API翻译希伯来语时混杂英文专有名词的解决办法

我尝试通过谷歌翻译API将一段英文文本翻译成希伯来语,期望获得纯希伯来语译文,但输出结果中混杂了英文专有名词(如Gran Canaria、TUI)。

实现代码

from google.cloud import translate_v2 as translate
import os
from collections import *  # 注:原代码中`from collection import *`为笔误,应为`collections`

os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = r'googlekey.json'

def translate_paragraph(text):
    client = translate.Client()
    result = client.translate(text, target_language='he')
    return result['translatedText']

text = "Get ready for a fun-filled family holiday in Gran Canaria. This Gran Canaria Family TUI Pass will help you get the most out of your holiday with access to seven family-friendly attractions across the island. Prepare to laugh, shout, and enjoy, all at a special discounted price."

print(translate_paragraph(text))

当前输出

התכוננו לחופשה משפחתית מהנה בגראן קנריה. כרטיס TUI משפחתי זה של Gran Canaria יעזור לכם להפיק את המרב מהחופשה שלכם עם גישה לשבע אטרקציות ידידותיות למשפחות ברחבי האי. תתכוננו לצחוק, לצעוק וליהנות, הכל במחיר מוזל במיוחד.

原因分析

谷歌翻译默认保留专有名词(地名、品牌名)的原语言形式,避免因自动翻译导致的术语错误,这是输出混杂英文的核心原因。

解决方案

方法1:使用自定义术语表(推荐)

通过glossary参数传入术语映射,强制指定英文专有名词的希伯来语译法:

def translate_paragraph_with_glossary(text):
    client = translate.Client()
    # 定义英文到希伯来语的术语映射
    glossary = {
        "Gran Canaria": "גרן קנריה",
        "TUI": "טוי"
    }
    result = client.translate(
        text,
        target_language='he',
        source_language='en',  # 明确源语言可提升翻译准确性
        glossary=glossary
    )
    return result['translatedText']

# 测试调用
print(translate_paragraph_with_glossary(text))

方法2:预处理文本替换术语

手动替换文本中的英文专有名词为希伯来语译法后再翻译,适合临时需求:

def translate_paragraph_preprocess(text):
    term_map = {
        "Gran Canaria": "גרן קנריה",
        "TUI": "טוי"
    }
    # 替换所有目标术语
    for eng_term, heb_term in term_map.items():
        text = text.replace(eng_term, heb_term)
    
    client = translate.Client()
    result = client.translate(text, target_language='he', source_language='en')
    return result['translatedText']

# 测试调用
print(translate_paragraph_preprocess(text))

方法3:升级到翻译API v3版本

若需管理大量术语或更复杂的翻译规则,建议升级到谷歌翻译API v3,它支持上传和管理术语表资源,提供更灵活的术语控制能力。

内容的提问来源于stack exchange,提问作者DjangoD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 11:17:49