开发了个translator
开发了一个软件,将英文文本翻译成中文
功能介绍:
- 双击打开translate.exe
- 选择需要进行翻译的文本文件
- 等待翻译完成并且会生成文件名_translated.txt文件



功能实现逻辑:
- 使用阿里机器翻译API
- 用python实现文件读取及写入API返回翻译的结果
- 开发用户操作页面
- 将文件打包成EXE可执行文件
使用阿里机器翻译API
- 首先开通机器翻译服务

- 创建用户产生access_key_id和access_key_secret

用python实现文件读取及写入API返回翻译的结果
from alibabacloud_alimt20181012.client import Client as alimt20181012Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_alimt20181012 import models as alimt_20181012_models
from alibabacloud_tea_util import models as util_models
# 换成你账户产生的id和secret
ACCESS_KEY_ID = '123'
ACCESS_KEY_SECRET = '456'
def create_client(
access_key_id: str,
access_key_secret: str,
) -> alimt20181012Client:
config = open_api_models.Config(
access_key_id=access_key_id,
access_key_secret=access_key_secret
)
config.endpoint = f'mt.cn-hangzhou.aliyuncs.com'
return alimt20181012Client(config)
def translate(text,client):
translate_general_request = alimt_20181012_models.TranslateGeneralRequest(
format_type='text',
source_language='en',
target_language='zh',
source_text=text,
scene='general'
)
runtime = util_models.RuntimeOptions()
resp = client.translate_general_with_options(translate_general_request, runtime)
print(resp)
return resp.body.data.__dict__['translated']
def translate_file(file_path):
client = create_client(ACCESS_KEY_ID, ACCESS_KEY_SECRET)
# 生成翻译后的字幕文件名
translated_file_path = file_path.replace('.txt', f'_translated.txt')
# 打开原始文件和翻译后的文件
with open(file_path, 'r') as in_f, open(translated_file_path, 'w', encoding='utf-8') as out_f:
for line in in_f:
if line.strip() == "":
continue
translated_line = translate(line,client)
out_f.write(translated_line)
print(f'Translated file saved as {translated_file_path}')
if __name__ == '__main__':
translate_file('D:\\xxx.txt')
开发用户操作页面
# 修改上面的代码 新增界面操作
from tkinter import Tk
from tkinter.filedialog import askopenfilename
from tkinter import messagebox
# 获取用户选择的文件路径
def get_file_path():
# 创建一个根窗口,但不显示
root = Tk()
root.withdraw()
# 显示文件选择对话框,并返回用户选择的文件路径
file_path = askopenfilename()
return file_path
# 获取用户选择的文件路径并进行翻译
file_path = get_file_path()
if file_path:
translate_file(file_path)
messagebox.showinfo("翻译完成", "翻译已完成!")
将文件打包成EXE可执行文件
- 安装PyInstaller:打开命令提示符窗口,并运行以下命令安装PyInstaller:
pip install pyinstaller - 创建打包脚本:在您的Python文件所在的目录中创建一个名为build.py的新文件,并为其添加以下内容:
import PyInstaller.__main__ if __name__ == '__main__': PyInstaller.__main__.run([ 'your_script.py', # 您的Python文件名称 '--onefile', '--noconsole', # 如果您想隐藏控制台窗口 ]) - 打包代码:在命令提示符窗口中,切换到build.py所在的目录,并运行以下命令打包您的代码:
py -3 build.py