【问题标题】:google translate api does not return apostrophe as apostrophe in pythongoogle translate api不会将撇号作为python中的撇号返回
【发布时间】:2019-06-13 07:56:46
【问题描述】:

我正在尝试使用谷歌翻译 api,如下所示。翻译似乎没问题,除了以' instaead 返回的撇号字符。

是否有可能解决这些问题?我当然可以进行后期处理,但我不知道是否有其他特殊角色面临同样的问题。

这就是我现在执行翻译的方式:

import pandas as pd
import six
from google.cloud import translate
# Instantiates a client
#translate_client = translate.Client()
"""Translates text into the target language.

Target must be an ISO 639-1 language code.
See https://g.co/cloud/translate/v2/translate-reference#supported_languages
"""
translate_client_en_de = translate.Client(target_language="de")
translate_client_de_en = translate.Client(target_language="en")

target1="de"
target2="en"
#if isinstance(text, six.binary_type):
#    text = text.decode('utf-8')
fname ='fname.tsv'
df = pd.read_table(fname,sep='\t')

for i,row in df.iterrows():
    text =  row['Text']
    de1 = translate_client_en_de.translate(
        text, target_language=target1)
    text2 = de1['translatedText']
    en2 = translate_client_de_en.translate(
        text2, target_language=target2)
    text3 = en2['translatedText']
    print(text)
    print(text2)
    print(text3)
    print('----------')
    break

样本输出:

西蒙的建议

Simon's 之后的建议

【问题讨论】:

标签: python google-cloud-platform google-translate


【解决方案1】:

我是这样解决的:

问题:

问题是您需要指定您使用的是纯文本而不是 HTML 文本。 查看此处的文档:https://googleapis.dev/python/translation/latest/client.html,查找“翻译”属性和“格式_”参数。

解决方案:

只需添加参数'format_='text'。就我而言,我是这样写的:

result = translate_client.translate(text, target_language=target, format_='text')

它运行良好,现在 api 正确返回撇号:

在我得到:“你好,我们好久没见面了”之前。

现在我得到:'你好,我们好久没见面了'

【讨论】:

    猜你喜欢
    • 2017-03-27
    • 1970-01-01
    • 1970-01-01
    • 2011-10-06
    • 1970-01-01
    • 1970-01-01
    • 2019-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多