使用Python利用谷歌翻译自动化翻译PO文件

Tutorial/教程 使用Python利用谷歌翻译自动化翻译PO文件

  • 主题发起人 主题发起人 oksgo
  • 开始时间 开始时间

欢迎客人!

• 开始前请阅读社区规则确保您顺利的熟悉本社区。注册用户可以提交资源,如果您有已发布资源的新版本,您可以随时更新版本!

• 文件链接损坏请在文件下方留言,我们将会及时更新来自备份服务器的新链接。如有其它问题请 提交工单 和我们联系!

• 我们尊重我们的用户,也希望您能进行愉快的交谈.

  • • 我们拥有多账户检测系统,对于重复注册我们将采取严厉措施!提示:如果您的账户超过180天处于非活动状态,系统将自动删除您的账户!

    • We have a multi-account detection system and will take strict measures against duplicate registrations!

    • Reminder: If your account remains inactive for more than 180 days, the system will automatically delete your account!

oksgo

Administrator

管理成员
贡献: 27%
注册
10 16, 2023
消息
1,494
G
6,316 G
  • 主题 作者
  • #1

步骤 1:安装Python​

快速通道:
  1. 下载Python
    • 访问 Python官方网站,或点击上方链接。
    • 下载适合你操作系统的版本(Windows、macOS或Linux)。
    • 安装时确保勾选“Add Python to PATH”选项。
  2. 验证安装
    • 打开命令行或终端,输入以下命令:
      代码:
      python --version
    • 如果正确安装,会显示Python的版本号。

步骤 2:安装所需库​

  1. 打开命令行/终端
  2. 安装googletrans和polib库
    代码:
    pip install googletrans==4.0.0-rc1 polib

步骤 3:准备PO文件​

  • 确保你有一个需要翻译的PO文件,在桌面新建一个文件夹并命名:new_folder (命名别的名字也可以,需要在代码中同步修改名称)
  • 把需要翻译的PO文件放在new_folder文件夹中

步骤 4:编写翻译脚本​

  1. 打开文本编辑器(如Notepad、VS Code或其他)。
  2. 创建一个新的Python文件,例如translate_po.py。
  3. 复制以下代码到你的Python文件中:(代码会自动在new_folder文件夹中寻找所有po文件并翻译)
代码:
import os
import glob
import polib
from googletrans import Translator

# 创建翻译器实例
translator = Translator()

# 新建文件夹路径
new_folder = r'C:\Users\aaa\Desktop\new_folder'
os.makedirs(new_folder, exist_ok=True)  # 创建新文件夹

# 获取新文件夹中的所有PO文件
po_files = glob.glob(os.path.join(new_folder, '*.po'))

# 创建翻译结果保存的文件夹
output_folder = r'C:\Users\aaa\Desktop\New-translate'
os.makedirs(output_folder, exist_ok=True)  # 如果不存在则创建

# 翻译每个PO文件
for po_file in po_files:
    po = polib.pofile(po_file)
    print(f"翻译文件: {os.path.basename(po_file)}")  # 打印正在翻译的文件名

    # 翻译每个条目
    for entry in po:
        if entry.msgid:  # 确保msgid不为空
            try:
                # 翻译msgid到中文
                translated_text = translator.translate(entry.msgid, dest='zh-cn').text
                entry.msgstr = translated_text  # 将翻译结果赋值给msgstr
                print(f"Translated: {entry.msgid} -> {entry.msgstr}")  # 调试信息
            except Exception as e:
                print(f"翻译失败: {e}")

    # 保存翻译后的PO文件到新文件夹,文件名与原文件名相同
    translated_file_path = os.path.join(output_folder, os.path.basename(po_file))
    po.save(translated_file_path)

print("翻译完成!")
保存文件

步骤 4:运行脚本​

  1. 返回命令提示符
  2. 导航到Python文件所在的目录。如果你将translate_po.py保存到桌面,可以输入:
    代码:
    cd C:\Users\aaa\Desktop
  3. 运行脚本
    代码:
    python translate_po.py
  4. 步骤 5:检查结果​

    • 脚本运行翻译结束后,查看桌面应该会生成一个名为New-translate文件夹。
    • 输出结果将会以同名文件存放在此文件夹中,打开它查看翻译结果。
你也可以创建一个批处理文件来直接实现翻译:
  • 在桌面上创建一个新的文本文件,并将其命名为 run_translate.bat(确保扩展名是 .bat)
  • 编辑批处理文件:右键单击该文件,选择“编辑”,然后将以下内容粘贴到文件中:
代码:
@echo off
python C:\Users\aaa\Desktop\new_folder\translate_po.py
pause
  • 请确保替换 C:\Users\aaa\Desktop\new_folder\translate_po.py 为你的实际脚本路径
  • 运行批处理文件:双击 run_translate.bat 文件,它将打开命令行并运行你的Python脚本
注意:因环境问题,你可能需要科学上网翻译。。(C:\Users\aaa\Desktop 修改为你的本机桌面路径,当然你也可以放在任意目录内。)
 
最后编辑:
  • 主题 作者
  • #2

更新内容​

  • 在循环中,使用 enumerate() 获取当前条目的索引。
  • 计算进度并格式化为百分比,显示当前进度。
PS:记得替换桌面路径。
 

附件

  • 主题 作者
  • #3
以上内容以全部更新,不再与此方法相同。
 

相似主题

oksgo 提交新资源: Python利用谷歌翻译自动化翻译PO文件为中文 - Python利用谷歌翻译自动化翻译PO文件为中文 本机下载安装: 阅读关于此资源更多信息...
8
47
0
提供PO/XML格式文件翻译服务 在本地化版块提交你需要的国家语言。 使用谷歌及百度翻译。
0
11
0
在 XenForo 中,文件的哈希值用于确保文件的完整性,特别是在安装或升级 XenForo 时,系统会检查文件的哈希值是否与官方提供的哈希值一致。如果你手动修改了 XenForo 的文件,系统可能会检测到文件的哈希值与原来的不匹配,进而可能导致警告或功能问题。 要修改 XenForo 文件的哈希值,通常需要更新 XenForo 的文件校验数据。以下是一些方法和步骤: 1.绕过哈希值校验...
0
20
0
后退
顶部