Skip to main content

btcli_lib/
extract_help.rs

1// Copyright (C) 2026 S.A. (@snoware)
2//
3// This Source Code Form is subject to the terms of the Mozilla Public
4// License, v. 2.0. If a copy of the MPL was not distributed with this
5// file, You can obtain one at https://mozilla.org/MPL/2.0/.
6
7//! Help information module for btcli
8//! Contains language lists, error codes and special messages
9
10use crate::fancy_egg::get_random_blessing;
11
12const HELP_INFO: &str = r#"=== btcli - 百度翻译命令行工具帮助信息 ===
13
14【常见语种列表】
15名称        代码    名称        代码    名称        代码
16自动检测    auto   中文        zh      英语         en
17粤语        yue    文言文      wyw     日语         jp
18韩语        kor    法语        fra     西班牙语     spa
19泰语        th     阿拉伯语     ara     俄语        ru
20葡萄牙语     pt     德语        de      意大利语     it
21希腊语      el     荷兰语       nl      波兰语       pl
22保加利亚语   bul    爱沙尼亚语    est     丹麦语      dan
23芬兰语      fin    捷克语       cs      罁马尼亚语    rom
24斯洛文尼亚语 slo    瑞典语       swe     匈牙利语      hu
25繁体中文    cht    越南语       vie
26
27【错误码列表】
28错误码    含义              解决方案
2952000    成功              
3052001    请求超时            检查传入的 q 参数是否是正常文本,以及 from 或 to 参数是否在支持的语种列表中
3152002    系统错误            请重试
3252003    未授权用户           请检查appid是否正确,或是否已开通对应服务服务是否开通
3354000    必填参数为空          请检查是否漏传、误传参数
3454001    签名错误            请检查签名生成方法是否有误
3554003    访问频率受限          请降低您的调用频率,或在管理控制台进行身份认证后切换为高级版/尊享版
3654004    账户余额不足          请前往管理控制台为账户充值。如后台显示还有余额,说明当天用量计费金额已超过账户余额
3754005    长query请求频繁       请降低长度大于1万字节query的发送频率,3s后再试
3858000    客户端IP非法         检查开发者信息页面填写的对应服务器IP地址是否正确,如服务器为动态IP,建议留空不填
3958001    译文语言方向不支持      检查译文语言是否在语言列表里,个人标准版和高级版支持28个常见语种,企业尊享版支持全部语种
4058002    服务当前已关闭         请前往管理控制台开启服务
4158003    此IP已被封禁          同一IP当日使用多个APPID发送翻译请求,则该IP将被封禁当日请求权限,次日解封。请勿将APPID和密钥填写到第三方软件中。
4290107    认证未通过或未生效       请前往我的认证查看认证进度
4320003    请求内容存在安全风险     请检查请求文本是否涉及反动,暴力等相关内容
44
45【其他信息】
46- API可通过百度翻译开放平台申请
47- 文本、cli翻译放在寒假哦
48- 代码本人全部重看
49- S.A. 2026-1-20 与你同往
50"#;
51
52/// 获取帮助信息
53pub fn get_help_info() -> String {
54    let blessing = get_random_blessing();
55    format!("{}\n{}", HELP_INFO, &blessing)
56}
57
58#[cfg(test)]
59mod tests {
60    use super::*;
61
62    #[test]
63    fn test_get_help_info() {
64        let help = get_help_info();
65        assert!(help.contains("百度翻译命令行工具"));
66    }
67
68    #[test]
69    fn test_get_randomized_help_info() {
70        let help = get_help_info();
71        assert!(help.contains("随机数字: "));
72    }
73}