3 分钟切好 GenericAgent 界面语言,重启还记得你
【免费下载链接】GenericAgentSelf-evolving agent: grows skill tree from 3.3K-line seed, achieving full system control with 6x less token consumption项目地址: https://gitcode.com/GitHub_Trending/pc/GenericAgent
刚装好 GenericAgent,为什么界面全是英文?反过来,系统明明是中文却弹出满屏英文提示,也很常见。这篇文章带你在 3 分钟内完成 GenericAgent 的界面语言切换与中文设置,并说清它是怎么自动检测系统语言的、扩展点藏在哪里。桌面版和终端 TUI 两种入口都能用,下次启动直接生效。
三步切到中文
先拿到项目并配好模型 Key:
git clone https://gitcode.com/GitHub_Trending/pc/GenericAgent cd GenericAgent把根目录的mykey_template.py复制为mykey.py,填入你的模型 API Key(依赖安装细节见 docs/installation.md,注意用 Python 3.11/3.12)。然后运行python launch.pyw启动。
- 桌面版:在设置面板的「语言」一项选「简体中文」;
- 终端 TUI:进入界面后输入切换命令即可:
/language zh /language en /language不带参数会弹出方向键选择菜单,当前语言前有●标记。界面整套翻成中文的那一刻,就算跑通了。
它怎么知道该用哪种语言
三级检测,找不到就默认英语
核心逻辑在 agentmain.py 第 2 行,进程启动时先定下全局变量:
os.environ.setdefault('GA_LANG', 'zh' if any(k in (locale.getlocale()[0] or '').lower() for k in ('zh', 'chinese')) else 'en')TUI 端更细一些:frontends/tui_v3.py的_detect_system_lang()依次查LC_ALL→LC_MESSAGES→LANG,值以zh开头判为中文,否则归为英文。启动时按「已保存设置 > 系统检测 > 默认 en」的顺序取最终值。
配置文件成对出现,一语言一套
语言不只影响按钮文字。系统提示词、工具定义、记忆模板都是中英两套文件:assets/sys_prompt.txt配assets/sys_prompt_en.txt,tools_schema.json配tools_schema_cn.json。agentmain.py 里用一行lang_suffix算出后缀再拼文件名——英文加_en,中文用原名。加一门语言的代价,就是多一套模板文件。
扩展点:离一门新语言只差两处定义
TUI 的支持列表就一行,切换后立刻持久化:
_SUPPORTED = ('zh', 'en') def set_lang(code: str) -> bool: _LANG = code _save_settings({'lang': code}) # 写入 temp/tui_v3_settings.json桌面端同理:frontends/desktop/static/i18n.js 里I18N是zh、en两张翻译表,HTML 元素用data-i18n标记,取词函数先查当前语言、缺词再回退英文。
进阶玩法
用环境变量一次性强制切换
GA_LANG=en python launch.pyw演示、截图或排查问题时不用动任何设置。agentmain.py用setdefault读它(环境变量已存在就不覆盖),frontends/slash_cmds.py 的_current_lang()也优先查它,所以 agent 进程和斜杠命令提示都会跟着走。
让斜杠命令提示自动跟随
切到中文后,/update、/review等命令的提示词也变成中文。原因是slash_cmds.py读的是同一个temp/tui_v3_settings.json,零额外配置。所以若中文界面里冒出某条英文命令提示,多半是那条提示还没翻译,按仓库贡献指引补上即可。
加第三门语言
想支持日文:把_SUPPORTED扩成三项,给_TIPS补一份译文,桌面端I18N加一张ja表,/language ja就能用了。检测、持久化、提示词链路全部复用现成机制,改动的代码不超过一个文件加一套模板。
常见问题
系统明明是中文,为什么默认还是英文?检测只认以zh开头的 locale。部分 WSL、容器环境没配LANG,locale.getlocale()返回空就落到英文。先echo $LANG确认,配好LANG=zh_CN.UTF-8或直接/language zh一次保存即可。
切换了语言,重启后又变回原来?语言选择写入temp/tui_v3_settings.json,而_save_settings对写失败是静默吞掉的(try/except后直接pass)。先确认temp/目录可写——只读挂载或权限受限时,切换在当次会话「看起来成功」,实际没落盘。
界面是中文,模型回答却是英文?两码事。回答语言跟着系统提示词走,assets/sys_prompt.txt与sys_prompt_en.txt是两份独立文件。想统一口吻,提问时就用和界面一致的语言。
不进界面,直接改文件能切语言吗?能。编辑temp/tui_v3_settings.json写入"lang": "zh",或导出GA_LANG环境变量,下次启动生效。
目前界面只有中英两门,但新增语言的门槛是一行元组加一套模板。等哪天 GenericAgent 冒出第三种界面语言,大概率就是I18N表和提示词模板各自多了一张ja或fr。
【免费下载链接】GenericAgentSelf-evolving agent: grows skill tree from 3.3K-line seed, achieving full system control with 6x less token consumption项目地址: https://gitcode.com/GitHub_Trending/pc/GenericAgent
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考