Python 程序 : 在 golendict 中翻译句子,标注词组,语法纠错

简介:

本工具利用 GoldenDict 访问外部网站的功能,让您可以在句子中翻译和高亮生难词汇,并可选择将其添加到 Anki 记忆卡片中。

用法:

  1. 查句: 使用 GoldenDict 查询句子时,本工具会处理输出结果。
  2. 高亮: 在 GoldenDict 中显示的 HTML 页面会用粗体 高亮生难词汇。
  3. 语境释义: 将鼠标悬停在粗体 词汇上,即可显示其在当前句子中的释义。
  4. Anki 集成: 点击粗体 词汇,即可将其添加到指定的 Anki 牌组。记忆卡片将包含该词汇、其语境释义和原句。
  5. 自动发音:集成微软TTS自动发音

GoldenDict 辅助查词工具安装指南

一、 准备工作

  1. Anki 与 AnkiConnect 插件:
    • 确保 Anki 已经在后台运行。
    • 安装 AnkiConnect 插件 (插件 ID: 2055492159)。

二、 获取 API 密钥

您需要至少一个 API 密钥来使用翻译功能。以下提供两种选择:

  1. Gemini API :
  2. 第三方 API (例如: 硅基流动):
    • 访问硅基流动官网 或其他兼容 OpenAI 接口的平台注册并申请 API 密钥。

三、 配置 GoldenDict

  1. 打开 GoldenDict 的程序设置:

    • 打开 GoldenDict,点击菜单栏的 “编辑” → “词典” → “词典来源” → “网站”。
  2. 添加新的网址:

    • 点击 “添加” 按钮。
    • 启用: 勾选。
    • 名称: 填写一个您容易识别的名称,例如 “句子翻译工具”。
    • 地址: 填写 http://127.0.0.1:5000/?text=%GDWORD%
  3. 保存设置: 点击 “确定” 保存设置。

四、 运行
双击app.exe运行,保留这个进程在后台.

五、查询一个句子,点开右上角的齿轮,输入相关参数
如果是硅基流动 ,你的配置应该长这样:


如果是gemini,你的配置应该长这样:

更新:

1.修复anki template context中有" 导致无法正常显示的问题

anki front template
                <script>
                    // 获取字段内容
                   //var context = "{{Context}}";
                   var text = "{{Text}}";
                   var modifiedContextElement = document.getElementById("modifiedContext");
                        // 创建正则表达式,忽略大小写,全局匹配
                        var re = new RegExp(text, 'ig');
                        // 将匹配到的内容替换成加粗的HTML标签
                        var modifiedContext = modifiedContextElement.innerHTML.replaceAll(re, "<b>$&</b>");
                        // 将修改后的内容设置为元素的 textContent
                        modifiedContextElement.innerHTML = modifiedContext;

                </script>

2.新增一个实用的功能, 随手写英语,然后CTRL+C 检查语法错误…

  • 可选项1.goldendict 配置新增网站 http://127.0.0.1:5000/grammar_check?text=%GDWORD%
  • 可选项2.不用新配置网站,只需要在你要纠错的句子前面加上~. 比如 ~I have a apple
  1. 在设置内指定你想翻译的语言(没法做下拉框,goldendict渲染有问题会闪烁.)
  2. 中英互译模式,打开之后无视 destination_language选项, 输入英文则会翻译为中文,输入中文翻译为英文

下载地址:

翻译小程序_编译.zip.001 (19 MB)
翻译小程序_编译.zip.002 (19 MB)
翻译小程序_编译.zip.003 (8.5 MB)
翻译小程序_发布源码.zip (32.7 KB)

如果对您有帮助点个:+1:吧. 有bug可以回复反馈

7 个赞

能否考虑将anki中句子中的对当前 word 变成粗体,这样更一目了然。

请问解开的文档要如何使用?
还是要修改 mdx ?
谢谢。

你好, 我不是很明白你说的是什么意思,跟mdx无关,是在这里配置的.

没注意到 GoldenDict 还有这功能。
我再自己研究看看。
谢谢。

更新了,顶一下 :grin:

门槛过高,不如直接 Ctrl-C, Ctrl-V,左手 腾讯翻译,右手 ChatGPT。

添加好了直接用golendict的剪切板查词 ctrl c就行了呀 :face_holding_back_tears:

翻译水平我曾经比较过几十个翻译软件,简单易用的就是 ChatGPT 和 腾讯翻译。其他不是文字限长度就是广告,要么就是质量太拉跨、等待时间长等问题。

当然楼主大大这个是有其优势的,适合一次配置,多次翻译的场景。我个人没经历过,这些就没什么能说的了。

MacOS 上用不了exe。

源码已上传, 运行app.py

感谢你的分享。

1 个赞

d=====( ̄▽ ̄*)b

你好 bolabo123。
如何将 context_translation 的内容设置为越南语?
非常感谢。

1 个赞

你好 bolabo123。
在 destination_language 中设置后,已经有了越南语和法语的 context_translation。
非常感谢你。你真是太棒了!

1 个赞

你好,bolabo123。
该 Python 程序的所有功能都正常运行。如果可能的话,您可以添加以下功能:

  1. 为 Text 添加 destination_language。
  2. 为 Text 添加 Audio。
  3. 增加将 Text Audio 和 Context Audio 集成到 Anki 的功能。
    如果能添加上述功能,这个 Python 程序将是非常棒的!
    非常感谢您。