diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/ComfyUI_Text_Translation_zh_CN.iml b/.idea/ComfyUI_Text_Translation_zh_CN.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/.idea/ComfyUI_Text_Translation_zh_CN.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..639900d --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..b2b6c89 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/README.md b/README.md index cc02fdc..2af0292 100644 --- a/README.md +++ b/README.md @@ -1,108 +1,115 @@ -# 文本翻译 +# 文本翻译 该自定义节点扩展 适用于 [ComfyUI](https://github.com/comfyanonymous/ComfyUI)。 -可以自动识别输入的语言类型,并将其翻译成英语输出。 +可以自动识别输入的语言类型,并将其翻译成英语。 ## 效果如下 ## 说明 -- 本节点采用了[腾讯翻译API](https://cloud.tencent.com/product/tmt)进行文本翻译。 -- 我认为许多人可能会需要使用这种类型的节点,但目前尚未找到相关的开放资源,因此我将其与大家分享。 +- 该节点采用了[腾讯翻译API](https://cloud.tencent.com/product/tmt)进行文本翻译。 +- 可能会许多人需要使用这种类型的节点,但我目前尚未找到相关的开放资源,所以把这个分享给大家。 - 鉴于当前为个人使用的节点,暂时仅支持一个翻译API。如果将来有更多用户使用,可以考虑添加更多API支持。 -- 由于我日常并不经常使用Python,并且刚刚接触了这门语言和ComfyUI自定义节点,所以可能存在一些未知的BUG。但目前为止,我自己使用时尚未遇到过BUG。 -- 随着使用这个节点,我将会对它进行修改、新增和完善。 +- 因为日常并不经常使用Python,且刚刚接触了这个语言和ComfyUI自定义节点,所以可能存在一些未知的BUG。但目前为止,自己使用过程中尚未遇到过BUG。 +- 随着使用这个节点,我将会对它进行修改、新增以及完善。 - 如果这对你有所帮助,可以给一个小星星呀~ ## 开始正文 ### 1、节点介绍 - (1)节点有两个文本输入和一个翻译启用开关 +(1)节点有两个文本输入和一个翻译启用开关 - 翻译开关:开启(enabled);关闭(disabled) +翻译开关:开启(enabled);关闭(disabled) - (2)开启翻译后,如果在 “需翻译文本” 位置输入的内容不含有汉字,则不会调用 翻译API(避免浪费资源)。 +(2)开启翻译后,如果在 “需翻译文本” 位置输入的内容不含有汉字,则不会调用 翻译API(避免浪费资源)。 + +(3)如果想不显示“不需要翻译文本”的输入框,在该节点上点击鼠标右键,把将 text_normal 转换成输入模式即可,并不会影响功能。 + +`text_trans 为需要翻译的文本` `text_normal 为无需翻译的文本` - (3)如果想不显示“不需要翻译文本”的输入框,在该节点上点击鼠标右键,把将 text_normal 转换成输入模式即可,并不会影响功能。 - - text_trans 为需要翻译的文本;text_normal 为无需翻译的文本。 - (4)添加节点,在   utils  中 +(4)添加该节点,可以在   utils  中选择,也可以双击鼠标左键搜索 `TencentTextTranslation`。 - (5)如果想要查看翻译后的文本,你可以在打开ComfyUI时弹出来的终端上查看。 +(5)如果想要查看翻译后的文本,你可以在打开ComfyUI时弹出来的终端上查看。 - 当然你也可以选择在   .node/tencent_translation.py   文件中,把输出语句前加 “#” 注释掉。 +当然你也可以选择在   .node/tencent_translation.py   文件中,把输出语句前加 “#” 注释掉。 - - (不显示它,用处不大。建议保留,可用于检查文本翻译是否正常。) - 如果在有这个输出语句的前提下,终端上没有显示,那么会是这个翻译API或代码有问题,可以向我反馈。当然请求翻译API时有问题也会在终端上显示。 +(不显示它,用处不大。建议保留,可用于检查文本翻译是否正常。) - (6)如果你想修改翻译后的语言类型等功能,可在代码里修改。想要达到   WebUI   中可实时翻译或点击翻译的效果,该节点目前做不到,因为我不了解js脚本。 +如果在有这个输出语句的前提下,终端上没有显示,那么会是这个翻译API或代码有问题,可以向我反馈。当然请求翻译API时有问题也会在终端上显示。 - (7)代码里有注释,方便理解 +(6)如果你想修改翻译后的语言类型等功能,可在代码里修改。想要达到   WebUI   中可实时翻译或点击翻译的效果,该节点目前做不到,因为我不了解js脚本。 + +(7)代码里有注释,便于理解。 ### 2、安装 - (1)获取 [腾讯翻译API](https://cloud.tencent.com/product/tmt) 密钥 +(1)获取 [腾讯翻译API](https://cloud.tencent.com/product/tmt) 密钥(API接口说明:[腾讯翻译API文档](https://cloud.tencent.com/document/api/551/15619)) - 在浏览器搜索   “腾讯机器翻译”   或点击   [腾讯翻译](https://cloud.tencent.com/product/tmt)   前往, - 登录自己的账号后依次点击  头像  >> 访问管理  >> API密钥管理 >> 创建密钥 >> 复制密钥  +在浏览器搜索   “腾讯机器翻译”   或点击   [腾讯翻译](https://cloud.tencent.com/product/tmt)   前往, + +登录自己的账号后依次点击  头像  >> 访问管理  >> API密钥管理 >> 创建密钥 >> 复制密钥  - (2)配置密钥 +(2)配置密钥 + + 1) 直接写在代码里,在   .node/tencent_translation.py   文件中,在`cred = credential.Credential("secretId", "secretKey")`这里填上你的密钥( "secretId"  和  "secretKey" )这种有泄露密钥的风险,不推荐,但简单。 - <1> 直接写在代码里,在   .node/tencent_translation.py   文件中,这里填上你的密钥( "secretId"  和  "secretKey" )这种有泄露密钥的风险,不推荐,但简单。 - - <2> 放在环境变量里,添加`TENCENTCLOUD_SECRET_ID`和`TENCENTCLOUD_SECRET_KEY`,稍微多些步骤,但安全。(请在启动ComfyUI前设置好,若已启动 - 需要重启 ComfyUI) + 2) 放在环境变量里,添加`TENCENTCLOUD_SECRET_ID`和`TENCENTCLOUD_SECRET_KEY`,稍微多些步骤,但安全。(请在启动ComfyUI前设置好,若已启动 +需要重启 ComfyUI) - 可在终端使用 `echo %环境变量名称%` 查看是否设置正确 +可在终端使用 `echo %环境变量名称%` 查看环境变量是否设置正确。 - (3) 添加   腾讯翻译SDK (详情可见:[腾讯翻译SDK文档](https://cloud.tencent.com/document/sdk/Python)、 - [腾讯翻译API文档](https://cloud.tencent.com/document/api/551/15619))。 - -请先确定你的 ComfyUI 使用的 Python 环境在哪里,勿将SDK添加错位置,否则无效。 +(3) 安装   腾讯翻译SDK  (更多安装介绍:[腾讯翻译SDK文档](https://cloud.tencent.com/document/sdk/Python))。 + +请先确定你使用的 ComfyUI 的 Python 目录在哪里,在终端中切换到该目录下,输入以下命令: ``` pip install --upgrade tencentcloud-sdk-python ``` +或者使用国内镜像 + ``` + pip install -i https://mirrors.tencent.com/pypi/simple/ --upgrade tencentcloud-sdk-python + ``` - (4)添加该节点 +(勿将SDK添加错位置,否则无效) - <1> 克隆本项目 +(4)添加该节点到 ComfyUI + + 1) 克隆本项目 ``` cd custom_nodes ``` - + ``` git clone https://github.com/TFL-TFL/ComfyUI_Text_Translation_zh_CN.git ``` - <2> 直接下载ZIP + 2) 直接下载ZIP - 下载解压后放入`custom_nodes`内 +下载解压后放入`custom_nodes`内 - 重启ComfyUI +重启ComfyUI ### 3、其他 - 我对比了阿里、百度、有道、腾讯这些翻译API,其中腾讯每月免费可用的量是最大的,所以选择用它。 +我对比了阿里、百度、有道、腾讯这些翻译API,其中腾讯每月免费可用的量是最大的,所以选择用它。 - 至于为什么没有选择免费的API,只是觉得这些API稳定性稍差,便没有考虑。 +至于为什么没有选择免费的API,只是觉得这些API稳定性稍差,便没有考虑。