xiaoxx970 / chatgpt-in-terminal

Use ChatGPT in terminal
MIT License
201 stars 27 forks source link

Bug: 在配置默认lang之后每次启动都会显示switch信息 #45

Closed Ace-Radom closed 1 year ago

Ace-Radom commented 1 year ago

如题 我的config现在如下

[DEFAULT]
openai_api_key = sk-xxxx
openai_api_timeout = 30
auto_generate_title = True
chat_save_perfix = ./chat_history_
log_level = INFO
language = en

随后在每一次启动时 都会出现这样的情况

image

bug产生的原因是目前的逻辑是先按照locale信息初始化i18n 再读取config 但其实应该反过来 换句话说我觉得这是一个逻辑问题

https://github.com/xiaoxx970/chatgpt-in-terminal/blob/c5b1a1af3c132e23dafd50f8c33eaa1abfec3100/gpt_term/main.py#L1019-L1024 https://github.com/xiaoxx970/chatgpt-in-terminal/blob/c5b1a1af3c132e23dafd50f8c33eaa1abfec3100/gpt_term/main.py#L1032-L1038

我觉得config里的language设置的优先级应该是比读取的locale信息要高的 毕竟人家都去改config了肯定是想用自己设置的语言了 那么再输出一句switch就显得有些奇怪了 我一会儿开一个pr写一下修改后的逻辑 你可以到时候看一下

xiaoxx970 commented 1 year ago

可以你说的也对,虽然我一开始想的就是应该读取配置文件的lang并设置后提示用户已设置,不过这样的话设置了语言每次都提示确实有点烦。那可以就删除 https://github.com/xiaoxx970/chatgpt-in-terminal/blob/c5b1a1af3c132e23dafd50f8c33eaa1abfec3100/gpt_term/main.py#L1036 就可以了?

xiaoxx970 commented 1 year ago

不过你说的先后顺序反过来也行

Ace-Radom commented 1 year ago

可以你说的也对,虽然我一开始想的就是应该读取配置文件的lang并设置后提示用户已设置,不过这样的话设置了语言每次都提示确实有点烦。那可以就删除

https://github.com/xiaoxx970/chatgpt-in-terminal/blob/c5b1a1af3c132e23dafd50f8c33eaa1abfec3100/gpt_term/main.py#L1036

就可以了?

是的删掉这句就行 诶对哦我想复杂了 这样的话我就不开pr了 毕竟就改一句话

不过我测试一下看看这个获取本地locale会不会有很大性能损耗吧 如果有的话我就改一下先后顺序

额……没有 时间忽略不计(那么我老是觉得他卡是因为py解释器启动嘛……?不清楚了) 那么我就把那句switch输出删掉了 毕竟改顺序还牵扯到language配置不识别重新获取locale的问题 py还没有goto和label 顺便加几条注释

Ace-Radom commented 1 year ago

额顺便还有一个问题

image

我看要不就一起修了吧 在使用chat.py启动时候会遇到这种问题

xiaoxx970 commented 1 year ago

额顺便还有一个问题 image 我看要不就一起修了吧 在使用chat.py启动时候会遇到这种问题

你是说版本号吗?这个没问题只有本地运行脚本才会显示unknown