xyc0123456789 / TranslatorUtil

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TranslatorUtil

苦于英语不佳,对现成工具不满意(特殊情况下复制文本后拼接困难),故自己简单造了个小轮子。 一个翻译源感觉够用了,加翻译源再说吧...

翻译逆向参考:https://github.com/ybsdegit/JS_reverse_translate

2023年1月16日更新 去huggingface找了一个翻译模型,辅助翻译还是够用的

2023年1月17日新增PdfToPdfWithoutImg来处理pdf,暂时未见cid的情况,使用方法参考main.py(参考项目EasyTrans的处理方法)

使用方法

python>=3.6

pip install -r requirements.txt

具体使用方法参考main.py中说明

if __name__ == '__main__':
    baiduTranslate = BaiduTranslateJS() 
#    baiduTranslate = BaiduSelenium()
    translaExe = Translator(baiduTranslate)

    mdGenerated = MdFileGenerater(r"文件夹路径")  # 根据传入的dirpath路径,检索文件夹下的pdf生成标题带链接的md文档

    translaExe.translateEnToCnWithDirFromPDF(r"文件夹路径")  # 翻译文件,根据开头#或者空行进行分段,输出至同路径下一个带时间戳的md文档

使用huggingface模型

鉴于逆向的翻译api在翻译文本数量过多时容易触发风控,十分不稳定,我去huggingface找了一个翻译模型

环境基于windows 10

1、根据实际情况安装pytorch

2、命令行运行pip install -r requirements.txt

3、运行util/huggingface_hub_snapshot_download.py文件下载模型数据到本地(这个方式下载快一些)。文件通常默认位于"C:\Users\xxx\.cache\huggingface\hub\models--Helsinki-NLP--opus-mt-en-zh\snapshots\***"

4、将上述路径填写至myModelPath变量即可。或者移动至目标路径后填写至myModelPath变量,或者也可以采取软链接的方式。

软链接方法

# 管理员模式打开cmd,输入下面命令。“\d”指生成的是文件夹的软链接
mklink /d "需要生成的软链接绝对路径" "C:\Users\xxx\.cache\huggingface\hub\models--Helsinki-NLP--opus-mt-en-zh\snapshots\4fb87f7104ee945399ea39e145fcbb957981b50a"

示例

if __name__ == '__main__':
    myModelPath = os.path.join(opusDirName, "opus_mt_en_zh") # 模型数据路径,自行修改
	opusMtTranslate = OpusMtEn2Zh(myModelPath, max_length=512)
	pdfToPdf = PdfToPdfWithoutImg(opusMtTranslate)
    dirPath = r"文件夹路径"
    mdGenerated = MdFileGenerater(dirPath)
    pdfToPdf.transferPdfWithDir(dirPath)

About

License:MIT License


Languages

Language:Python 100.0%