Raycast-Easydict
Raycast-Easydict copied to clipboard
WIP: feat: use deeplx to translate
可以正常搜索翻译,但是 action 是空的。那个ListDisplayItem还在研究,感觉好复杂呀,大佬你写的代码是不是有点儿太绕了,感觉没必要做这么多抽象
https://github.com/tisfeng/Raycast-Easydict/issues/56
不需要显示翻译原文。
中文翻译有问题。
如果译文过长,应该使用 detail 页面显示的,具体请看代码。
如果要重构,我建议可以先重构翻译服务结构,参考我另一个项目 Easydict ,写一个翻译服务基类,定义好各种协议方法,如服务名字,图标,支持的语言,翻译接口 translate 方法等,然后每个翻译服务都是一个子类重写就可以,这样结构会好很多。
例如这个 彩云小译 代码实现。
可以正常搜索翻译,但是 action 是空的
这个什么意思,没明白 😑
感觉好复杂呀,大佬你写的代码是不是有点儿太绕了,感觉没必要做这么多抽象
复杂吗,有可能,毕竟我对 ts 和 react 不熟悉,毕竟这是我第一个前端项目,看了一周 TS 入门教程,然后基于这个开源项目 raycast-Parrot 做的,代码很丑陋也正常。
虽然代码比较糟糕,功能比较多、比较杂,但这个项目我还是花了心思的,一些细节设计我觉得还是可以的。
如果你想优化或重构代码,我是非常欢迎的,但建议你先多使用它,熟悉一下已有的各项功能,然后在保持这些功能不被破坏的情况下进行重构优化。
如果你对一些功能不了解,或者有不同看法,或者想修改它,可以先开个 issue 我们讨论一下。
@tisfeng 感谢大佬写了这么多意见。我主要是发现有两个问题,一个是没有用async/await,全部使用Promise的callback,导致逻辑比较绕;一个是没有用现有react的各种生态。这个PR我再改一改哈
ok,代码层面请放心大胆优化,这个你应该比我了解,就不多说了。
另外,这个 PR 是实现 DeepL 网页接口,如果你想先做一些其他的代码结构优化,建议另外开 PR。
建议每个 PR 都只做一件事,保持简洁,如果一个 PR 分多个步骤,也要拆分为多个单独的 commit,这样我 review 也轻松点。
你好,请问这个 PR 还在继续吗 🥲