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

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

Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

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

    文件链接损坏,请在文件下方留言,我们将会及时更新来自备份服务器的新链接。

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

    We have a multi account detection system, and we will take strict measures against duplicate registrations! Tip: If your account has been inactive for more than 180 days, the system will automatically delete your account!

oksgo

Administrator

管理成员
贡献: 25%
注册
10 16, 2023
消息
1,351
G
354 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
以上内容以全部更新,不再与此方法相同。
 

相似主题

第 1 步:更新包存储库。 首先,您需要更新系统软件包以确保您拥有最新版本。打开终端并运行以下命令: 代码: 更新系统软件包有助于避免兼容性问题并确保您拥有最新的安全补丁。 步骤 2. 安装依赖项。 bpftool 需要多个依赖项才能正常工作。通过运行以下命令来安装它们: Bash 此命令将安装必要的软件包,包括用于克隆 bpftool 存储库的 Git、构建工具以及编译 bpftool...
0
6
0
第 1 部分:安装 Fail2ban 第 1 步:更新Debian 在安装 Fail2Ban 之前,您必须更新Debian操作系统。这可确保所有现有软件包都是最新的,并且您运行的是最新版本的软件。要更新系统,请在终端中运行以下命令: sudo apt update sudo apt upgrade 该命令 sudo apt update 从存储库中检索最新的软件包信息,并将sudo apt...
0
7
0
PHP 8.1 是 PHP 语言的重大更新。它包含许多新功能,许多高级框架需要服务器上有 PHP 8.1 才能运行所有功能。在开始安装之前首先要注意的是,Debian 9上的 PHP 8.1在下面的存储库中不再可用。 如果您需要 8+ 版本,最好将发行版更新到Debian 11 (bullseye) 或至少Debian 10 (buster),否则在Debian 9 上您将不得不满足于...
0
14
0
在 XenForo 中,文件的哈希值用于确保文件的完整性,特别是在安装或升级 XenForo 时,系统会检查文件的哈希值是否与官方提供的哈希值一致。如果你手动修改了 XenForo 的文件,系统可能会检测到文件的哈希值与原来的不匹配,进而可能导致警告或功能问题。 要修改 XenForo 文件的哈希值,通常需要更新 XenForo 的文件校验数据。以下是一些方法和步骤: 1.绕过哈希值校验...
0
16
0
在您的系统上,如果您安装了多个版本的 PHP(例如 PHP 8.1、8.0、7.4、7.3、7.2、7.1 和 5.6),则默认情况下只有一个版本作为 Apache2 中的 PHP 版本。但是,如果您需要使用特定版本的 PHP 来执行当前任务,则无需删除所有其他版本。您只需将 PHP 版本切换为 Apache 中的默认版本即可。 假设您在我们的Debian系统上安装了 PHP...
0
12
0
后退
顶部