feat: Add hero name translation utility function
This commit is contained in:
parent
a86dcb1bbc
commit
f24106bef1
2
dota.py
2
dota.py
@ -255,7 +255,7 @@ def serialize_match_for_discord(match_):
|
|||||||
if player['nickname']:
|
if player['nickname']:
|
||||||
player_name = f"**{player['nickname']}**"
|
player_name = f"**{player['nickname']}**"
|
||||||
|
|
||||||
desc = f"{player_name}(Lv.**{player['level']}** {player['hero']}): **{player['kills']}** 杀 **{player['deaths']}** 死 **{player['assists']}** 助 | **{utils.shorten_digits(player['total_gold'])}** 经济 | **{utils.shorten_digits(player['hero_damage'])}** 伤害 "
|
desc = f"{player_name}(Lv.**{player['level']}** {utils.get_hero_chinese_name(player['hero'])}): **{player['kills']}** 杀 **{player['deaths']}** 死 **{player['assists']}** 助 | **{utils.shorten_digits(player['total_gold'])}** 经济 | **{utils.shorten_digits(player['hero_damage'])}** 伤害 "
|
||||||
|
|
||||||
if player['is_radiant']:
|
if player['is_radiant']:
|
||||||
radiant.append(desc)
|
radiant.append(desc)
|
||||||
|
|||||||
140
utils.py
140
utils.py
@ -64,3 +64,143 @@ def shorten_digits(num):
|
|||||||
return '%.1fk' % (num / 1000)
|
return '%.1fk' % (num / 1000)
|
||||||
else:
|
else:
|
||||||
return str(num)
|
return str(num)
|
||||||
|
|
||||||
|
|
||||||
|
def get_hero_chinese_name(english_name):
|
||||||
|
"""将Dota英雄的英文名转换为中文名
|
||||||
|
Args:
|
||||||
|
english_name (str): 英雄的英文名称
|
||||||
|
Returns:
|
||||||
|
str: 英雄的中文名称,如果找不到对应的中文名则返回原英文名
|
||||||
|
"""
|
||||||
|
hero_name_map = {
|
||||||
|
"alchemist": "炼金术士",
|
||||||
|
"axe": "斧王",
|
||||||
|
"bristleback": "钢背兽",
|
||||||
|
"centaur_warrunner": "半人马战行者",
|
||||||
|
"chaos_knight": "混沌骑士",
|
||||||
|
"dawnbreaker": "破晓辰星",
|
||||||
|
"doom": "末日使者",
|
||||||
|
"dragon_knight": "龙骑士",
|
||||||
|
"earth_spirit": "大地之灵",
|
||||||
|
"earthshaker": "撼地者",
|
||||||
|
"elder_titan": "上古巨神",
|
||||||
|
"huskar": "哈斯卡",
|
||||||
|
"kunkka": "昆卡",
|
||||||
|
"legion_commander": "军团指挥官",
|
||||||
|
"lifestealer": "噬魂鬼",
|
||||||
|
"mars": "玛尔斯",
|
||||||
|
"night_stalker": "暗夜魔王",
|
||||||
|
"ogre_magi": "食人魔魔法师",
|
||||||
|
"omniknight": "全能骑士",
|
||||||
|
"primal_beast": "兽",
|
||||||
|
"pudge": "屠夫",
|
||||||
|
"slardar": "斯拉达",
|
||||||
|
"spirit_breaker": "裂魂人",
|
||||||
|
"sven": "斯温",
|
||||||
|
"tidehunter": "潮汐猎人",
|
||||||
|
"timbersaw": "伐木机",
|
||||||
|
"tiny": "小小",
|
||||||
|
"treant_protector": "树精卫士",
|
||||||
|
"tusk": "巨牙海民",
|
||||||
|
"underlord": "孽主",
|
||||||
|
"undying": "不朽尸王",
|
||||||
|
"wraith_king": "冥魂大帝",
|
||||||
|
"anti-mage": "敌法师",
|
||||||
|
"arc_warden": "天穹守望者",
|
||||||
|
"bloodseeker": "血魔",
|
||||||
|
"bounty_hunter": "赏金猎人",
|
||||||
|
"clinkz": "克林克兹",
|
||||||
|
"drow_ranger": "卓尔游侠",
|
||||||
|
"ember_spirit": "灰烬之灵",
|
||||||
|
"faceless_void": "虚空假面",
|
||||||
|
"gyrocopter": "矮人直升机",
|
||||||
|
"hoodwink": "森海飞霞",
|
||||||
|
"juggernaut": "主宰",
|
||||||
|
"kez": "凯",
|
||||||
|
"luna": "露娜",
|
||||||
|
"medusa": "美杜莎",
|
||||||
|
"meepo": "米波",
|
||||||
|
"monkey_king": "齐天大圣",
|
||||||
|
"morphling": "变体精灵",
|
||||||
|
"naga_siren": "娜迦海妖",
|
||||||
|
"phantom_assassin": "幻影刺客",
|
||||||
|
"phantom_lancer": "幻影长矛手",
|
||||||
|
"razor": "剃刀",
|
||||||
|
"riki": "力丸",
|
||||||
|
"shadow_fiend": "影魔",
|
||||||
|
"slark": "斯拉克",
|
||||||
|
"sniper": "狙击手",
|
||||||
|
"spectre": "幽鬼",
|
||||||
|
"templar_assassin": "圣堂刺客",
|
||||||
|
"terrorblade": "恐怖利刃",
|
||||||
|
"troll_warlord": "巨魔战将",
|
||||||
|
"ursa": "熊战士",
|
||||||
|
"viper": "冥界亚龙",
|
||||||
|
"weaver": "编织者",
|
||||||
|
"ancient_apparition": "远古冰魄",
|
||||||
|
"crystal_maiden": "水晶室女",
|
||||||
|
"death_prophet": "死亡先知",
|
||||||
|
"disruptor": "干扰者",
|
||||||
|
"enchantress": "魅惑魔女",
|
||||||
|
"grimstroke": "天涯墨客",
|
||||||
|
"jakiro": "杰奇洛",
|
||||||
|
"keeper_of_the_light": "光之守卫",
|
||||||
|
"leshrac": "拉席克",
|
||||||
|
"lich": "巫妖",
|
||||||
|
"lina": "莉娜",
|
||||||
|
"lion": "莱恩",
|
||||||
|
"muerta": "琼英碧灵",
|
||||||
|
"nature's_prophet": "先知",
|
||||||
|
"necrophos": "瘟疫法师",
|
||||||
|
"oracle": "神谕者",
|
||||||
|
"outworld_destroyer": "殁境神蚀者",
|
||||||
|
"puck": "帕克",
|
||||||
|
"pugna": "帕格纳",
|
||||||
|
"queen_of_pain": "痛苦女王",
|
||||||
|
"ringmaster": "百戏之王",
|
||||||
|
"rubick": "拉比克",
|
||||||
|
"shadow_demon": "暗影恶魔",
|
||||||
|
"shadow_shaman": "暗影萨满",
|
||||||
|
"silencer": "沉默术士",
|
||||||
|
"skywrath_mage": "天怒法师",
|
||||||
|
"storm_spirit": "风暴之灵",
|
||||||
|
"tinker": "修补匠",
|
||||||
|
"warlock": "术士",
|
||||||
|
"witch_doctor": "巫医",
|
||||||
|
"zeus": "宙斯",
|
||||||
|
"abaddon": "亚巴顿",
|
||||||
|
"bane": "祸乱之源",
|
||||||
|
"batrider": "蝙蝠骑士",
|
||||||
|
"beastmaster": "兽王",
|
||||||
|
"brewmaster": "酿酒大师",
|
||||||
|
"broodmother": "育母蜘蛛",
|
||||||
|
"chen": "陈",
|
||||||
|
"clockwerk": "发条技师",
|
||||||
|
"dark_seer": "黑暗贤者",
|
||||||
|
"dark_willow": "邪影芳灵",
|
||||||
|
"dazzle": "戴泽",
|
||||||
|
"enigma": "谜团",
|
||||||
|
"invoker": "祈求者",
|
||||||
|
"io": "艾欧",
|
||||||
|
"lone_druid": "德鲁伊",
|
||||||
|
"lycan": "狼人",
|
||||||
|
"magnus": "马格纳斯",
|
||||||
|
"marci": "玛西",
|
||||||
|
"mirana": "米拉娜",
|
||||||
|
"nyx_assassin": "司夜刺客",
|
||||||
|
"pangolier": "石鳞剑士",
|
||||||
|
"phoenix": "凤凰",
|
||||||
|
"sand_king": "沙王",
|
||||||
|
"snapfire": "电炎绝手",
|
||||||
|
"techies": "工程师",
|
||||||
|
"vengeful_spirit": "复仇之魂",
|
||||||
|
"venomancer": "剧毒术士",
|
||||||
|
"visage": "维萨吉",
|
||||||
|
"void_spirit": "虚无之灵",
|
||||||
|
"windranger": "风行者",
|
||||||
|
"winter_wyvern": "寒冬飞龙"
|
||||||
|
}
|
||||||
|
# 将英文名转换为小写并去除空格,用作字典键
|
||||||
|
key = english_name.lower().replace(' ', '_')
|
||||||
|
return hero_name_map.get(key, english_name)
|
||||||
Loading…
x
Reference in New Issue
Block a user