creature_template_locale - 生物模板本地化表

生物模板本地化表为不同语言的客户端提供生物名称和子名称的翻译。这个表允许服务器为不同语言的玩家显示本地化的生物信息。

表结构

字段名 类型 属性 默认值 描述
entry int(10) unsigned 不为空 主键 0 生物模板ID,对应creature_template.entry
locale varchar(4) 不为空 主键 语言代码
Name text 可为空 NULL 本地化的生物名称
Title text 可为空 NULL 本地化的生物称号/子名称
VerifiedBuild int(11) 可为空 NULL 验证的客户端版本号

字段详解

entry

生物模板的唯一标识符,必须对应creature_template表中的entry字段。

示例值: 1, 100, 1234, 50000

locale

语言代码,指定此本地化文本适用的语言版本。

常见语言代码:

Name

生物在指定语言中的名称。这个名称会覆盖creature_template表中的name字段。

示例翻译:

Title

生物在指定语言中的称号或子名称。通常显示在生物名称下方。

示例称号:

VerifiedBuild

记录验证此本地化文本的客户端版本号。

语言支持

主要支持的语言

AzerothCore支持多种语言的本地化:

语言优先级

当玩家客户端请求特定语言时:

  1. 首先查找对应语言的本地化文本
  2. 如果没有找到,使用默认的英语文本
  3. 如果英语文本也没有,使用creature_template中的原始文本

创建示例

添加中文本地化

-- 为暴风城守卫添加中文名称
INSERT INTO creature_template_locale (entry, locale, Name, Title, VerifiedBuild)
VALUES (1423, 'zhCN', '暴风城守卫', '城市守护者', 12340);

-- 为铁炉堡守卫添加中文名称
INSERT INTO creature_template_locale (entry, locale, Name, Title, VerifiedBuild)
VALUES (5595, 'zhCN', '铁炉堡守卫', '矮人战士', 12340);

添加多语言支持

-- 为同一个生物添加多种语言的翻译
INSERT INTO creature_template_locale (entry, locale, Name, Title, VerifiedBuild) VALUES
(1234, 'zhCN', '森林守护者', '自然之友', 12340),
(1234, 'zhTW', '森林守護者', '自然之友', 12340),
(1234, 'frFR', 'Gardien de la Forêt', 'Ami de la Nature', 12340),
(1234, 'deDE', 'Waldhüter', 'Freund der Natur', 12340);

查询示例

查找特定语言的本地化文本

SELECT ctl.entry, ct.name as original_name, ctl.Name as localized_name, ctl.Title
FROM creature_template_locale ctl
JOIN creature_template ct ON ctl.entry = ct.entry
WHERE ctl.locale = 'zhCN'
ORDER BY ctl.entry;

查找缺少中文翻译的生物

SELECT ct.entry, ct.name, ct.subname
FROM creature_template ct
LEFT JOIN creature_template_locale ctl ON ct.entry = ctl.entry AND ctl.locale = 'zhCN'
WHERE ctl.entry IS NULL
AND ct.name IS NOT NULL
ORDER BY ct.entry;

统计各语言的翻译数量

SELECT locale, COUNT(*) as translation_count
FROM creature_template_locale
GROUP BY locale
ORDER BY translation_count DESC;

批量操作示例

批量添加常见NPC的中文翻译

-- 批量添加守卫类NPC的中文翻译
INSERT INTO creature_template_locale (entry, locale, Name, Title, VerifiedBuild)
SELECT ct.entry, 'zhCN',
       CASE
           WHEN ct.name LIKE '%Guard%' THEN REPLACE(ct.name, 'Guard', '守卫')
           WHEN ct.name LIKE '%Defender%' THEN REPLACE(ct.name, 'Defender', '守护者')
           ELSE CONCAT(ct.name, '(需翻译)')
       END,
       CASE
           WHEN ct.subname LIKE '%Weapon Master%' THEN '武器大师'
           WHEN ct.subname LIKE '%Innkeeper%' THEN '旅店老板'
           ELSE ct.subname
       END,
       12340
FROM creature_template ct
LEFT JOIN creature_template_locale ctl ON ct.entry = ctl.entry AND ctl.locale = 'zhCN'
WHERE ctl.entry IS NULL
AND (ct.name LIKE '%Guard%' OR ct.name LIKE '%Defender%');

翻译指南

名称翻译原则

称号翻译建议

常见翻译对照

职业类

Guard → 守卫
Warrior → 战士
Mage → 法师
Priest → 牧师
Rogue → 盗贼
Hunter → 猎人
Paladin → 圣骑士
Warlock → 术士
Shaman → 萨满
Druid → 德鲁伊

功能类

Vendor → 商人
Trainer → 训练师
Innkeeper → 旅店老板
Flight Master → 飞行管理员
Banker → 银行家
Auctioneer → 拍卖师
Repair → 修理商
Blacksmith → 铁匠

相关表

常见问题

本地化文本不显示怎么办?

检查以下几点:

如何确定客户端使用的语言代码?

可以通过以下方式确定:

是否需要为所有生物添加本地化?

建议优先翻译:

注意事项