zqso
2022 年12 月 6 日 01:23
326
记得猫大 @manateelazycat 有个小功能是既标记unknown同时查词的,可以去翻翻他词典部分的配置。
zqso
2022 年12 月 6 日 07:53
327
zqso:
关于“ran out of input"的补充信息:
/Users/z/Library/Python/3.10/bin/trans "test"
Traceback (most recent call last):
File "/Users/z/Library/Python/3.10/bin/trans", line 8, in <module>
sys.exit(main())
File "/Users/z/Library/Python/3.10/lib/python/site-packages/google_translate/cli/__init__.py", line 107, in main
trans(args)
File "/Users/z/Library/Python/3.10/lib/python/site-packages/google_translate/cli/__init__.py", line 50, in trans
translation = translate(
File "/Users/z/Library/Python/3.10/lib/python/site-packages/google_translate/__init__.py", line 34, in translate
data = request.request_trans(
File "/Users/z/Library/Python/3.10/lib/python/site-packages/google_translate/request.py", line 71, in procedure
cache_data = pickle.load(cache)
EOFError: Ran out of input
ginqi7
2022 年12 月 6 日 08:31
328
感觉你这真的可能是被 google 限流了。阅读太勤奋。
zqso
2022 年12 月 6 日 09:41
329
我也不知道会被限多久,也不想和quota limit作斗争,我还要学习呢。于是找到了这个:
GitHub - ssut/py-googletrans: (unofficial) Googletrans: Free and Unlimited Google translate API for Python. Translates totally free of charge. (这位大佬不更新了,一年半没活动了)
有两个fork更新得比较勤奋,不知道能不能用:
GitHub - Lolimipsu/googletrans-mxloli: A modified version of a fork of googletrans
GitHub - Leg3ndary/aiogtrans: Updated googletrans because there's more stuff I want
折腾了半天没折腾明白,哎,为了不折腾而变得折腾的生活呀哈哈
更新:搞定了,无Quota限制方案(高亮部分),不保证稳定有效,自己先在分支里测试一下子:
from googletrans import Translator
translator = Translator()
translated = translator.translate(text=word, dest='zh-CN')
return translated.text
再次更新:返回的都是单字,不知道为啥,继续排查。
高亮以上是google_translate的,以下是googletrans的:
继续更新:返回的是正常的翻译,但是渲染的时候只保留了首字母。
最后更新:因为这个词典返回的是string,不是list, 加个split()变列表, 解决了。
from googletrans import Translator
translator = Translator()
translated = translator.translate(text=word, dest='zh-CN')
return translated.text.split()
2 个赞
我理解 D-O 是按这两个 txt 来决定标注渲染的,那个 json 应该是保留的当前机器查词结果;因为我要在不同机器上用,所以是会把最新的合并到另一台机器上的这两个 txt 上;
3我没太理解
有个突出感受是Super作者需要Super用户,你是配得上 qinqi7 的
你俩谁出个视频来展示下使用效果就好啦
zqso
2022 年12 月 6 日 13:47
331
只会elisp, 但被迫学习python的感觉你懂么 :摊手:
heisaari:
最新的合并到另一台机器上的这两个 txt 上
Dropbox大法好,谁用谁知道。
ginqi7
2022 年12 月 6 日 14:18
332
大佬强无敌。坐等你明天接着刷文章,但没有被限流的好消息。
zqso
2022 年12 月 6 日 14:57
333
@ginqi7 有新的问题出现了,现在d-o不认我的原来的 dictionary.json, knownwords.txt 了,强行替换进去就被删掉清零。这还怎么好好学习
@ginqi7 我一直没有明白 dictionary-overlay 为什么一定要定期从内存 snapshot 到文件呢?
插件和人都可以写文件就好了, 只是程序每次执行的时候重新读一下文件 (这个在本地其实都很快), 这样设计对用户来说, 体验会更好一点。
ginqi7
2022 年12 月 6 日 15:12
335
先 exits d-o ,然后再手动修改 dictionary.json, knownwords.txt 文件。
ginqi7
2022 年12 月 6 日 15:18
336
当初不想每次单词更新,就写入、读取文件。所以用定时更新的方式,当时想不要在dictionary-overlay 运行时手动更改文件。
不过确实不太友好。可以做一个小改动。每次更新文件时,先读一下文件,然后再和内存里的数据合并再写入。
zqso
2022 年12 月 6 日 16:06
338
knownwords.txt 成功灌进去了,但dictionary.json没能成功。
猫大总有不同的好思路,期待一下新的合并机制 @gingi7
今天在 edx.org 试了下, eww 抽取不出来主要内容,有解决办法么
其实就是不要提前做过于精巧的设计, 架构设计前期抓大放小, 然后根据需求的展开自动去扩展框架。
这样开发效率最高, 复杂度和灵活度也很强。
4 个赞
ginqi7
2022 年12 月 7 日 03:10
341
committed 02:59AM - 07 Dec 22 UTC
to avoid overwrite the manual modify by user.
新增了一个提交,在保存dictionary.json 文件时,会先合并文件json和内存中的json,然后再保存。
不过,knownwords.txt 和 unknownwords.txt 没有使用相同的机制,因为json文件是增量的,这两个txt文件,可能会再内存中删除。使用合并的方式不合适。所以没有根本上解决这个问题。
所以在 README 里加上了。
1 个赞
zqso
2022 年12 月 8 日 16:21
343
@ginqi7 目前的情况是,如果emacs崩溃,unknownwords.txt和dictionary.json 有可能会被清空。(Dropbox保命
ginqi7
2022 年12 月 8 日 16:44
344
这么神奇的吗。。那看来还是要找个时间,改掉这个定时同步的逻辑。