物品模板本地化表为不同语言的客户端提供物品名称和描述的翻译。这个表允许服务器为不同语言的玩家显示本地化的物品信息,包括装备、消耗品、任务物品等。
字段名 | 类型 | 属性 | 键 | 默认值 | 描述 |
---|---|---|---|---|---|
ID | int(10) unsigned | 不为空 | 主键 | 0 | 物品模板ID,对应item_template.entry |
locale | varchar(4) | 不为空 | 主键 | 语言代码 | |
Name | text | 可为空 | NULL | 本地化的物品名称 | |
Description | text | 可为空 | NULL | 本地化的物品描述 | |
VerifiedBuild | int(11) | 可为空 | NULL | 验证的客户端版本号 |
物品模板的唯一标识符,必须对应item_template表中的entry字段。
示例值: 1, 100, 1234, 25000
语言代码,指定此本地化文本适用的语言版本。
常见语言代码:
物品在指定语言中的名称。这个名称会覆盖item_template表中的name字段。
示例翻译:
物品在指定语言中的描述文本。这个描述会覆盖item_template表中的description字段。
示例描述:
"一把经过多年使用而变得破损的短剑,但仍然可以在战斗中发挥作用。"
"柔软的亚麻布,可以用来制作基础的布甲装备。"
"恢复少量生命值的基础药水,冒险者的必备物品。"
记录验证此本地化文本的客户端版本号。
武器、护甲、饰品等可装备的物品:
可以使用或消耗的物品:
用于制造和合成的材料:
-- 为基础武器添加中文名称和描述
INSERT INTO item_template_locale (ID, locale, Name, Description, VerifiedBuild) VALUES
(25, 'zhCN', '破损的短剑', '一把经过多年使用而变得破损的短剑,但仍然可以在战斗中发挥作用。', 12340),
(37, 'zhCN', '破旧的斧头', '一把锈迹斑斑的斧头,刃口已经不太锋利,但依然能够造成伤害。', 12340),
(36, 'zhCN', '破损的法杖', '一根古老的法杖,虽然外表破损,但仍然蕴含着微弱的魔法力量。', 12340);
-- 为药水和食物添加中文翻译
INSERT INTO item_template_locale (ID, locale, Name, Description, VerifiedBuild) VALUES
(118, 'zhCN', '次级治疗药水', '恢复少量生命值的基础药水,冒险者的必备物品。', 12340),
(159, 'zhCN', '清爽的泉水', '清澈甘甜的泉水,能够恢复法力值。', 12340),
(117, 'zhCN', '干硬的面包', '虽然有些干硬,但能够提供基本的营养和饱腹感。', 12340);
SELECT itl.ID, it.name as original_name, itl.Name as localized_name, it.Quality
FROM item_template_locale itl
JOIN item_template it ON itl.ID = it.entry
WHERE itl.locale = 'zhCN' AND it.Quality >= 2 -- 品质2以上(绿色及以上)
ORDER BY it.Quality DESC, itl.ID;
SELECT it.entry, it.name, it.Quality, it.class, it.subclass
FROM item_template it
LEFT JOIN item_template_locale itl ON it.entry = itl.ID AND itl.locale = 'zhCN'
WHERE itl.ID IS NULL
AND it.name IS NOT NULL
AND (it.Quality >= 2 OR it.class IN (0, 2, 4)) -- 高品质或武器、护甲、消耗品
ORDER BY it.Quality DESC, it.class, it.entry;
SELECT it.class,
CASE it.class
WHEN 0 THEN '消耗品'
WHEN 1 THEN '容器'
WHEN 2 THEN '武器'
WHEN 4 THEN '护甲'
WHEN 7 THEN '材料'
WHEN 9 THEN '配方'
WHEN 15 THEN '杂项'
ELSE CONCAT('类型', it.class)
END as class_name,
COUNT(*) as total_items,
COUNT(itl.ID) as translated_items,
ROUND(COUNT(itl.ID) * 100.0 / COUNT(*), 2) as translation_percentage
FROM item_template it
LEFT JOIN item_template_locale itl ON it.entry = itl.ID AND itl.locale = 'zhCN'
WHERE it.name IS NOT NULL
GROUP BY it.class
ORDER BY translation_percentage DESC;
-- 为常见材料批量添加中文翻译
INSERT INTO item_template_locale (ID, locale, Name, Description, VerifiedBuild)
SELECT it.entry, 'zhCN',
CASE it.name
WHEN 'Linen Cloth' THEN '亚麻布'
WHEN 'Wool Cloth' THEN '毛料'
WHEN 'Silk Cloth' THEN '丝绸'
WHEN 'Mageweave Cloth' THEN '魔纹布'
WHEN 'Runecloth' THEN '符文布'
WHEN 'Copper Ore' THEN '铜矿石'
WHEN 'Tin Ore' THEN '锡矿石'
WHEN 'Iron Ore' THEN '铁矿石'
WHEN 'Mithril Ore' THEN '秘银矿石'
WHEN 'Thorium Ore' THEN '瑟银矿石'
ELSE CONCAT(it.name, '(需翻译)')
END,
CASE it.name
WHEN 'Linen Cloth' THEN '柔软的亚麻布,可以用来制作基础的布甲装备。'
WHEN 'Wool Cloth' THEN '温暖的羊毛布料,比亚麻布更加厚实。'
WHEN 'Silk Cloth' THEN '光滑的丝绸布料,制作精美装备的上等材料。'
WHEN 'Copper Ore' THEN '含有铜元素的矿石,是制作基础金属装备的原料。'
WHEN 'Iron Ore' THEN '坚硬的铁矿石,可以冶炼成铁锭制作装备。'
ELSE '需要添加描述'
END,
12340
FROM item_template it
LEFT JOIN item_template_locale itl ON it.entry = itl.ID AND itl.locale = 'zhCN'
WHERE itl.ID IS NULL
AND it.class = 7 -- 材料类
AND it.name IN ('Linen Cloth', 'Wool Cloth', 'Silk Cloth', 'Mageweave Cloth', 'Runecloth', 'Copper Ore', 'Tin Ore', 'Iron Ore', 'Mithril Ore', 'Thorium Ore');
Sword → 剑
Axe → 斧
Mace → 锤
Dagger → 匕首
Staff → 法杖
Wand → 魔杖
Bow → 弓
Crossbow → 弩
Gun → 枪
Shield → 盾牌
Polearm → 长柄武器
Fist Weapon → 拳套武器
Helmet → 头盔
Shoulder → 护肩
Chest → 胸甲
Bracers → 护腕
Gloves → 手套
Belt → 腰带
Legs → 护腿
Boots → 靴子
Cloak → 斗篷
Ring → 戒指
Necklace → 项链
Trinket → 饰品
Potion → 药水
Food → 食物
Drink → 饮料
Scroll → 卷轴
Bandage → 绷带
Elixir → 药剂
Flask → 合剂
Oil → 油类
Poison → 毒药
检查以下几点:
建议:
建议优先翻译: