Googletrans 的 translator() 没有将文本翻译成英文
translator() from Googletrans not translating the texts to English
我正在尝试将简短描述字段翻译成英文,因为有些行不是英文的。但是使用下面的代码我无法翻译。翻译列和原始列看起来完全一样。请查看输出的附件图像。
from googletrans import Translator
translator = Translator()
mask = data['Short description'] !='en'
data['Short description_translated'] = data['Short description']
f = lambda x: translator.translate(x, dest='en').text
data.loc[mask, 'Short description_translated'] = data.loc[mask, 'Short description'].apply(f)
print (data)
Output
您正在使用的 googletrans API 与 translate.google.com 是相同的服务。
Googletrans 不使用 official Google Translation API。它使用 Google 翻译 Ajax API。
您可以使用 Python 客户端库或 Google 官方翻译 API 中提供的 REST API。
您可以参考下面提到的代码。
使用 Python 客户端库:
from os import environ
from google.cloud import translate
project_id = environ.get("PROJECT_ID", "")
assert project_id
parent = f"projects/{project_id}"
client = translate.TranslationServiceClient()
sample_text = "Bonjour"
target_language_code = "en"
response = client.translate_text(
contents=[sample_text],
target_language_code=target_language_code,
parent=parent,
)
for translation in response.translations:
print(translation.translated_text)
使用 REST API:
创建一个 request.json 文件并使用下面提到的 curl 命令。
request.json
{
"q": ["Bonjour", "Merci"],
"target": "en"
}
卷曲命令
curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-
access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://translation.googleapis.com/language/translate/v2
我正在尝试将简短描述字段翻译成英文,因为有些行不是英文的。但是使用下面的代码我无法翻译。翻译列和原始列看起来完全一样。请查看输出的附件图像。
from googletrans import Translator
translator = Translator()
mask = data['Short description'] !='en'
data['Short description_translated'] = data['Short description']
f = lambda x: translator.translate(x, dest='en').text
data.loc[mask, 'Short description_translated'] = data.loc[mask, 'Short description'].apply(f)
print (data)
Output
您正在使用的 googletrans API 与 translate.google.com 是相同的服务。 Googletrans 不使用 official Google Translation API。它使用 Google 翻译 Ajax API。 您可以使用 Python 客户端库或 Google 官方翻译 API 中提供的 REST API。 您可以参考下面提到的代码。
使用 Python 客户端库:
from os import environ
from google.cloud import translate
project_id = environ.get("PROJECT_ID", "")
assert project_id
parent = f"projects/{project_id}"
client = translate.TranslationServiceClient()
sample_text = "Bonjour"
target_language_code = "en"
response = client.translate_text(
contents=[sample_text],
target_language_code=target_language_code,
parent=parent,
)
for translation in response.translations:
print(translation.translated_text)
使用 REST API:
创建一个 request.json 文件并使用下面提到的 curl 命令。
request.json
{
"q": ["Bonjour", "Merci"],
"target": "en"
}
卷曲命令
curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-
access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://translation.googleapis.com/language/translate/v2