表概述

acore_string表是AzerothCore的核心字符串本地化系统,存储所有核心级别(非模块)的系统消息文本。每个entry对应一条系统消息,content_default为英文默认文本,各locale_xx列提供对应语言翻译。

主键为 entry,覆盖8种语言。支持占位符(如%s, %d)用于动态替换玩家名、数值等参数。

表结构

字段名数据类型默认值说明
entryINT UNSIGNED0字符串唯一标识(主键)
content_defaultTEXTNOT NULL默认英文文本
locale_koKRTEXTNULL韩文翻译
locale_frFRTEXTNULL法文翻译
locale_deDETEXTNULL德文翻译
locale_zhCNTEXTNULL简体中文翻译
locale_zhTWTEXTNULL繁体中文翻译
locale_esESTEXTNULL西班牙文翻译
locale_esMXTEXTNULL墨西哥西班牙文翻译
locale_ruRUTEXTNULL俄文翻译

重要字段详解

entry (字符串编号)

2000-2010范围内为服务器启动/关闭消息,3000+为游戏内系统提示。常见条目示例:

  • 2000 - 服务器关闭警告
  • 3000 - GM在线提示
  • 3001 - 重启倒计时

实战案例

为中文客户端自定义系统消息
UPDATE acore_string
SET locale_zhCN = '服务器将在%s分钟后维护,请做好准备!'
WHERE entry = 10001;
查询所有缺少中文翻译的字符串
SELECT entry, content_default
FROM acore_string
WHERE locale_zhCN IS NULL OR locale_zhCN = ''
ORDER BY entry;

常见问题

Q: 修改后如何生效?

A: 使用 .reload acore_string GM命令即可热加载,无需重启服务器。

Q: 模块字符串放在哪?

A: 模块自有字符串存储在module_string表中,不在acore_string。核心级别的系统消息才使用此表。