找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 23|回复: 0

[分享] 聊天翻译器源代码 (国际服AI语言翻译)

[复制链接]
  • TA的每日心情
    慵懒
    2025-1-1 15:14
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 12 小时前 | 显示全部楼层 |阅读模式

    这是一款专为 CS 服务器开发的 AI 智能聊天翻译插件,可帮助玩家在游戏内实现跨语言实时交流。
    插件默认界面与提示文本为中文,你可根据需求将文本翻译或本地化至其他语言(或英文),以获得更佳使用体验。插件文本结构清晰,修改十分简便。
    该插件目前接入DeepSeek AI 接口进行翻译,但并不局限于此。你也可轻松切换至 ChatGPT、谷歌 Gemini 等其他模型,集成方式简单,仅需修改 API 地址与密钥即可。
    若服务器性能充足,还可本地部署大模型运行,既能获得更快的响应速度,也能完全省去 Token 计费成本。

    功能介绍
    • 自动识别聊天消息语种,实时完成翻译
    • 可通过指令直接翻译自身发言并发送
    • 可查看并翻译其他玩家的聊天记录
    • 可为指定玩家开启自动翻译(例如仅翻译外籍玩家发言)
    • 所有操作均在游戏内通过简易菜单完成,玩家无需复杂设置


    缓存系统
    多数 AI 服务按 Token 用量计费,在活跃服务器中,重复翻译会快速增加成本,为此插件内置了缓存机制:
    • 相同消息若已翻译过,将直接复用历史结果(缓存将轮询写入数组20条)
    • 不会重复发起 API 请求
    • 大幅降低 Token 消耗
    • 同时提升翻译响应速度
    • 对实际服务器中玩家常用语句重复出现的场景尤为实用


    指令
    • /trans 或 /translate:打开主菜单(包含玩家列表、聊天记录、自动翻译设置)
    • /st <消息内容>:翻译你的发言并以目标语言发送
    • /t:快速打开翻译菜单


    插件支持轻松拓展中英以外的更多语种。目前插件主打中英互译,主要为解决全球 KZ 服务器中普遍存在的语言沟通障碍问题。
    若需支持更多语言,操作十分简单 —— 翻译逻辑已统一封装,仅需调整提示词或语种处理部分即可。

    总而言之,这款插件的设计目标很明确:
    让国际 KZ 服务器的交流更顺畅,消除语言壁垒,让不同地区的玩家更自然地互动;无论你使用云端 AI 服务,还是本地自建模型,都能实现这一目的。


    AMXX 编译版本 >=1.8.2
    Json module 1.9+


    以下是实施的一些关键部分供参考:
    1. #define API_URL "https://api.deepseek.com/chat/completions"
    2. #define API_KEY "API-KEY"
    复制代码
    1. stock build_request_body(const text[], lang, output[], outlen)
    2. {
    3.     new JSON:root = json_init_object();
    4.     json_object_set_string(root, "model", "deepseek-chat");

    5.     new JSON:messages = json_init_array();
    6.     new JSON:msg = json_init_object();

    7.     json_object_set_string(msg, "role", "user");

    8.     new prompt[320];
    9.     if (lang == LANG_ZH) {
    10.         formatex(prompt, charsmax(prompt),
    11.             "请自动检测语言把下面文本翻译成简体中文,只输出翻译结果,不要解释,不要添加多余内容:\n%s",
    12.             text);
    13.     } else {
    14.         formatex(prompt, charsmax(prompt),
    15.             "请自动检测语言把下面文本翻译成英文,只输出翻译结果,不要解释,不要添加多余内容:\n%s",
    16.             text);
    17.     }
    18.     json_object_set_string(msg, "content", prompt);

    19.     json_array_append_value(messages, msg);

    20.     json_object_set_value(root, "messages", messages);
    21.     json_object_set_real(root, "temperature", 0.1);
    22.     json_object_set_number(root, "max_tokens", 120);
    23.     json_object_set_bool(root, "stream", false);

    24.     json_serial_to_string(root, output, outlen, false);
    25.     json_free(root);
    26. }
    复制代码


    下载链接:




    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表