#pragma once

#include <string>

/**
 * @brief 计算字符串的 MD5 哈希值
 * @param input 输入字符串
 * @return MD5 哈希值（十六进制字符串）
 */
std::string calculateMD5(const std::string& input);

/**
 * @brief URL 编码函数
 * @param str 输入字符串
 * @return URL 编码后的字符串
 */
std::string urlEncode(const std::string& str);

/**
 * @brief 解析百度翻译 API 返回的 JSON 结果
 * @param jsonResponse JSON 响应字符串
 * @return 翻译后的文本
 */
std::string parseTranslationResult(const std::string& jsonResponse, const std::string& text);

/**
 * @brief 使用百度翻译 API 翻译文本
 * @param appid1 百度翻译 API 的 AppID
 * @param secretkey1 百度翻译 API 的 密钥
 * @param text 要翻译的文本（英文）
 * @return 翻译后的文本（中文）
 */
std::string translateText(const std::string& appid1, const std::string& secretkey1, const std::string& text);

/**
 * @brief 翻译功能的简单包装
 * @param appid1 百度翻译 API 的 AppID
 * @param secretkey1 百度翻译 API 的 密钥
 * @param text 要翻译的英文文本
 * @return 翻译后的中文文本
 */
std::string translate(const std::string& appid1, const std::string& secretkey1, const std::string& text);