鱼C论坛

 找回密码
 立即注册
查看: 1003|回复: 5

整篇翻译 与 分句翻译 的问题

[复制链接]
发表于 2024-1-3 16:59:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
有一个多页的英文图片故事书,每页一句英语一个图片。想把英语句子的中文翻译放在英文句子的下面一行。

但如果按每页一句分句用google翻译的话,不够准确顺畅。(把句子集中在一起整篇翻译结果更准确顺畅。 )

有没有啥办法,既能整篇兼顾上下文翻译,又能按原句把对应的结果放在原句下面?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-1-3 17:01:02 | 显示全部楼层
你可以使用Python的Google翻译API(googletrans)来实现这个需求。首先,需要安装googletrans库:
pip install googletrans==4.0.0-rc1

然后,你可以按照以下步骤进行操作:

1. 导入所需库:
from googletrans import Translator

2. 创建一个Translator对象:
translator = Translator(service_urls=['translate.google.cn'])

3. 将整篇英文文本进行翻译并保存翻译结果:
english_text = "Your English text here"  # 替换为你的英文文本

translated_text = translator.translate(english_text, dest='zh-CN').text

在上面的代码中,我们将整个英文文本传递给`translate`函数,并指定目标语言为中文('zh-CN')。然后,我们通过`.text`获取翻译后的结果。

4. 分割原文本和翻译后的文本,并重新排列以匹配原文本的句子顺序:
original_sentences = english_text.split('\n')
translated_sentences = translated_text.split('\n')

result = ''
for original, translated in zip(original_sentences, translated_sentences):
    result += original + '\n' + translated + '\n'

在上面的代码中,我们使用`split`函数将原文本和翻译后的文本按行(每句一行)分割,并使用`zip`函数将它们按顺序重新排列。然后,我们通过迭代将原文本和翻译后的文本重新组合到一个字符串中。

最后,你可以使用`result`变量中的结果来进行进一步处理,比如将它写入一个新的文件或输出到控制台。

请注意,Google翻译API有一定的调用限制和速率限制,请确保遵守相关规定。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-3 18:17:47 | 显示全部楼层
有没有免费的 基于 chatgpt 技术的api?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-1-3 18:18:01 | 显示全部楼层
blackantt 发表于 2024-01-03 18:17
有没有免费的 基于 chatgpt 技术的api?


目前,OpenAI 提供了 GPT-3(Generative Pre-trained Transformer 3)模型,但是它并不是免费的。你需要使用 OpenAI 的 API 密钥来访问 GPT-3。在收费方面,你可以参考 OpenAI 的定价页面以了解相关信息。

然而,如果你正在寻找一个免费的聊天机器人 API,有一些其他的选择可供考虑。比如:

1. ChatterBot:一个基于 Python 的开源聊天机器人库,提供了各种语言的支持。你可以通过安装 `chatterbot` 库来使用它。

2. Pandorabots:这是一个针对聊天机器人开发者提供的平台,你可以在其上构建和部署聊天机器人。它有免费版和付费版,免费版有一些限制。

这些选项可能没有像 GPT-3 这样复杂和强大的语言生成能力,但对于一般的聊天机器人需求来说,它们是相对简单且易于使用的选择。记得根据你的具体需求选择最适合你的工具。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-4 14:03:52 | 显示全部楼层
FishC 发表于 2024-1-3 17:01
你可以使用Python的Google翻译API(googletrans)来实现这个需求。首先,需要安装googletrans库:

那如果每页有多句话,能否全文带上下文翻译后,再对每页的每句话做一个大致对应呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-1-4 14:04:09 | 显示全部楼层
blackantt 发表于 2024-01-04 14:03
那如果每页有多句话,能否全文带上下文翻译后,再对每 ...


是的,你可以全文带上下文翻译后,再对每页的每句话做一个大致对应。以下是实现这个需求的步骤:

1. 导入所需库:from googletrans import Translator

2. 创建一个Translator对象:translator = Translator(service_urls=[])

3. 读取英文文本,并将其按段落分割为一个列表:with open('english_text.txt', 'r', encoding='utf-8') as file:    english_text = file.read()paragraphs = english_text.split('\n\n')

4. 创建一个空的字典用于存储每个句子的翻译结果:translations = {}

5. 遍历每个段落,并将整个段落进行翻译:for paragraph in paragraphs:    translated_paragraph = translator.translate(paragraph, dest='zh-CN').text

6. 将翻译结果按句子分割为一个列表,并保存到字典中:sentences = translated_paragraph.split('.')for i, sentence in enumerate(sentences):    translations[i+1] = sentence.strip()

7. 读取每页的英文句子,并根据句子在原文中的位置找到对应的翻译结果:with open('page1_sentences.txt', 'r', encoding='utf-8') as file:    page1_sentences = file.readlines()translated_sentences = []for sentence in page1_sentences:    sentence_number = int(sentence.split(',')[0])    translated_sentence = translations[sentence_number]    translated_sentences.append(translated_sentence)

在上面的代码中,我们首先读取英文文本,并按段落分割,然后使用Google翻译API将整个段落进行翻译。接下来,我们将翻译结果按句子分割,并将每个句子的翻译结果保存到一个字典中。然后,我们读取每页的英文句子,并根据句子在原文中的位置找到对应的翻译结果。最后,你可以将`translated_sentences`列表中的句子输出到文件或进行其他操作。

请注意,上述代码中的英文文本和英文句子文件需要根据实际情况进行替换。此外,Google翻译API的使用限制仍然适用,请确保遵守相关规定。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-21 22:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表