mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Merge branch 'juliancoffee/improve_death_localization' into 'master'
Add possibility to translate buff outcomes See merge request veloren/veloren!2192
This commit is contained in:
commit
fec33c83dd
@ -3,6 +3,11 @@
|
||||
/// Localization for "global" English
|
||||
(
|
||||
string_map: {
|
||||
// Debuff outcomes
|
||||
"hud.outcome.burning": "died of: burning",
|
||||
"hud.outcome.curse": "died of: curse",
|
||||
"hud.outcome.bleeding": "died of: bleeding",
|
||||
|
||||
// Chat outputs
|
||||
"hud.chat.online_msg": "[{name}] is online now",
|
||||
"hud.chat.offline_msg": "[{name}] went offline",
|
||||
@ -12,15 +17,15 @@
|
||||
"hud.chat.fall_kill_msg": "[{name}] died from fall damage",
|
||||
"hud.chat.suicide_msg": "[{name}] died from self-inflicted wounds",
|
||||
|
||||
"hud.chat.pvp_buff_kill_msg": "[{victim}] died of {buff} caused by [{attacker}]",
|
||||
"hud.chat.died_of_pvp_buff_msg": "[{victim}] {died_of_buff} caused by [{attacker}]",
|
||||
"hud.chat.pvp_melee_kill_msg": "[{attacker}] defeated [{victim}]",
|
||||
"hud.chat.pvp_ranged_kill_msg": "[{attacker}] shot [{victim}]",
|
||||
"hud.chat.pvp_explosion_kill_msg": "[{attacker}] blew up [{victim}]",
|
||||
"hud.chat.pvp_energy_kill_msg": "[{attacker}] killed [{victim}] with magic",
|
||||
|
||||
"hud.chat.nonexistent_buff_kill_msg": "[{victim}] died of {buff}",
|
||||
"hud.chat.died_of_buff_nonexistent_msg": "[{victim}] {died_of_buff}",
|
||||
|
||||
"hud.chat.npc_buff_kill_msg": "[{victim}] died of {buff} caused by {attacker}",
|
||||
"hud.chat.died_of_npc_buff_msg": "[{victim}] {died_of_buff} caused by {attacker}",
|
||||
"hud.chat.npc_melee_kill_msg": "{attacker} killed [{victim}]",
|
||||
"hud.chat.npc_ranged_kill_msg": "{attacker} shot [{victim}]",
|
||||
"hud.chat.npc_explosion_kill_msg": "{attacker} blew up [{victim}]",
|
||||
|
@ -3,6 +3,10 @@
|
||||
/// Localization for Ukrainian
|
||||
(
|
||||
string_map: {
|
||||
// Outcomes
|
||||
"hud.outcome.bleeding": "померли від обескровлення",
|
||||
"hud.outcome.burning": "згоріли живцем",
|
||||
"hud.outcome.curse": "померли від прокльону",
|
||||
// Chat outputs
|
||||
"hud.chat.online_msg": "[{name}] зайшли на сервер",
|
||||
"hud.chat.offline_msg": "[{name}] вийшли з серверу",
|
||||
@ -12,15 +16,15 @@
|
||||
"hud.chat.fall_kill_msg": "[{name}] померли від падіння",
|
||||
"hud.chat.suicide_msg": "[{name}] померли від самозаподіяних ран",
|
||||
|
||||
"hud.chat.pvp_buff_kill_msg": "[{attacker}] вбили [{victim}]",
|
||||
"hud.chat.died_of_pvp_buff_msg": "[{victim}] {died_of_buff} через [{attacker}]",
|
||||
"hud.chat.pvp_melee_kill_msg": "[{attacker}] перемогли [{victim}]",
|
||||
"hud.chat.pvp_ranged_kill_msg": "[{attacker}] застрелили [{victim}]",
|
||||
"hud.chat.pvp_explosion_kill_msg": "[{attacker}] підірвали [{victim}]",
|
||||
"hud.chat.pvp_energy_kill_msg": "[{attacker}] вбили [{victim}] магією",
|
||||
|
||||
"hud.chat.nonexistent_buff_kill_msg": "[{victim}] померли від: {buff}",
|
||||
"hud.chat.died_of_buff_nonexistent_msg": "[{victim}] {died_of_buff}",
|
||||
|
||||
"hud.chat.npc_buff_kill_msg": "[{victim}] померли від: {buff} через: {attacker}",
|
||||
"hud.chat.died_of_npc_buff_msg": "[{victim}] {died_of_buff} через {attacker}",
|
||||
"hud.chat.npc_melee_kill_msg": "{attacker} вбили [{victim}]",
|
||||
"hud.chat.npc_ranged_kill_msg": "{attacker} застрелили [{victim}]",
|
||||
"hud.chat.npc_explosion_kill_msg": "{attacker} підірвали [{victim}]",
|
||||
|
@ -2362,45 +2362,13 @@ impl Client {
|
||||
}
|
||||
} else {
|
||||
match kill_source {
|
||||
KillSource::Player(attacker_uid, KillType::Buff(buff_kind)) => message
|
||||
.replace("{attacker}", &alias_of_uid(attacker_uid))
|
||||
.replace("{buff}", format!("{:?}", buff_kind).to_lowercase().as_str())
|
||||
.replace("{victim}", &alias_of_uid(victim)),
|
||||
KillSource::Player(attacker_uid, KillType::Melee) => message
|
||||
KillSource::Player(attacker_uid, _) => message
|
||||
.replace("{attacker}", &alias_of_uid(attacker_uid))
|
||||
.replace("{victim}", &alias_of_uid(victim)),
|
||||
KillSource::Player(attacker_uid, KillType::Projectile) => message
|
||||
.replace("{attacker}", &alias_of_uid(attacker_uid))
|
||||
.replace("{victim}", &alias_of_uid(victim)),
|
||||
KillSource::Player(attacker_uid, KillType::Explosion) => message
|
||||
.replace("{attacker}", &alias_of_uid(attacker_uid))
|
||||
.replace("{victim}", &alias_of_uid(victim)),
|
||||
KillSource::Player(attacker_uid, KillType::Energy) => message
|
||||
.replace("{attacker}", &alias_of_uid(attacker_uid))
|
||||
.replace("{victim}", &alias_of_uid(victim)),
|
||||
KillSource::Player(attacker_uid, KillType::Other) => message
|
||||
.replace("{attacker}", &alias_of_uid(attacker_uid))
|
||||
.replace("{victim}", &alias_of_uid(victim)),
|
||||
KillSource::NonExistent(KillType::Buff(buff_kind)) => message
|
||||
.replace("{buff}", format!("{:?}", buff_kind).to_lowercase().as_str())
|
||||
.replace("{victim}", &alias_of_uid(victim)),
|
||||
KillSource::NonPlayer(attacker_name, KillType::Buff(buff_kind)) => message
|
||||
.replace("{attacker}", attacker_name)
|
||||
.replace("{buff}", format!("{:?}", buff_kind).to_lowercase().as_str())
|
||||
.replace("{victim}", &alias_of_uid(victim)),
|
||||
KillSource::NonPlayer(attacker_name, KillType::Melee) => message
|
||||
.replace("{attacker}", attacker_name)
|
||||
.replace("{victim}", &alias_of_uid(victim)),
|
||||
KillSource::NonPlayer(attacker_name, KillType::Projectile) => message
|
||||
.replace("{attacker}", attacker_name)
|
||||
.replace("{victim}", &alias_of_uid(victim)),
|
||||
KillSource::NonPlayer(attacker_name, KillType::Explosion) => message
|
||||
.replace("{attacker}", attacker_name)
|
||||
.replace("{victim}", &alias_of_uid(victim)),
|
||||
KillSource::NonPlayer(attacker_name, KillType::Energy) => message
|
||||
.replace("{attacker}", attacker_name)
|
||||
.replace("{victim}", &alias_of_uid(victim)),
|
||||
KillSource::NonPlayer(attacker_name, KillType::Other) => message
|
||||
KillSource::NonExistent(KillType::Buff(_)) => {
|
||||
message.replace("{victim}", &alias_of_uid(victim))
|
||||
},
|
||||
KillSource::NonPlayer(attacker_name, _) => message
|
||||
.replace("{attacker}", attacker_name)
|
||||
.replace("{victim}", &alias_of_uid(victim)),
|
||||
KillSource::Environment(environment) => message
|
||||
|
@ -6,7 +6,7 @@ use crate::{i18n::Localization, ui::fonts::Fonts, GlobalState};
|
||||
use client::{cmd, Client};
|
||||
use common::comp::{
|
||||
chat::{KillSource, KillType},
|
||||
ChatMode, ChatMsg, ChatType,
|
||||
BuffKind, ChatMode, ChatMsg, ChatType,
|
||||
};
|
||||
use common_net::msg::validate_chat_msg;
|
||||
use conrod_core::{
|
||||
@ -385,10 +385,11 @@ impl<'a> Widget for Chat<'a> {
|
||||
.get("hud.chat.offline_msg")
|
||||
.to_string(),
|
||||
ChatType::Kill(kill_source, _) => match kill_source {
|
||||
KillSource::Player(_, KillType::Buff(_)) => self
|
||||
.localized_strings
|
||||
.get("hud.chat.pvp_buff_kill_msg")
|
||||
.to_string(),
|
||||
KillSource::Player(_, KillType::Buff(buffkind)) => insert_killing_buff(
|
||||
*buffkind,
|
||||
self.localized_strings,
|
||||
self.localized_strings.get("hud.chat.died_of_pvp_buff_msg"),
|
||||
),
|
||||
KillSource::Player(_, KillType::Melee) => self
|
||||
.localized_strings
|
||||
.get("hud.chat.pvp_melee_kill_msg")
|
||||
@ -409,14 +410,17 @@ impl<'a> Widget for Chat<'a> {
|
||||
.localized_strings
|
||||
.get("hud.chat.pvp_other_kill_msg")
|
||||
.to_string(),
|
||||
KillSource::NonExistent(KillType::Buff(_)) => self
|
||||
.localized_strings
|
||||
.get("hud.chat.nonexistent_buff_kill_msg")
|
||||
.to_string(),
|
||||
KillSource::NonPlayer(_, KillType::Buff(_)) => self
|
||||
.localized_strings
|
||||
.get("hud.chat.npc_buff_kill_msg")
|
||||
.to_string(),
|
||||
KillSource::NonExistent(KillType::Buff(buffkind)) => insert_killing_buff(
|
||||
*buffkind,
|
||||
self.localized_strings,
|
||||
self.localized_strings
|
||||
.get("hud.chat.died_of_buff_nonexistent_msg"),
|
||||
),
|
||||
KillSource::NonPlayer(_, KillType::Buff(buffkind)) => insert_killing_buff(
|
||||
*buffkind,
|
||||
self.localized_strings,
|
||||
self.localized_strings.get("hud.chat.died_of_npc_buff_msg"),
|
||||
),
|
||||
KillSource::NonPlayer(_, KillType::Melee) => self
|
||||
.localized_strings
|
||||
.get("hud.chat.npc_melee_kill_msg")
|
||||
@ -618,3 +622,24 @@ fn render_chat_line(chat_type: &ChatType<String>, imgs: &Imgs) -> (Color, conrod
|
||||
ChatType::Meta => (INFO_COLOR, imgs.chat_command_info_small),
|
||||
}
|
||||
}
|
||||
|
||||
fn insert_killing_buff(buff: BuffKind, localized_strings: &Localization, template: &str) -> String {
|
||||
let buff_outcome = match buff {
|
||||
BuffKind::Burning => localized_strings.get("hud.outcome.burning"),
|
||||
BuffKind::Bleeding => localized_strings.get("hud.outcome.bleeding"),
|
||||
BuffKind::Cursed => localized_strings.get("hud.outcome.curse"),
|
||||
BuffKind::Regeneration
|
||||
| BuffKind::Saturation
|
||||
| BuffKind::Potion
|
||||
| BuffKind::CampfireHeal
|
||||
| BuffKind::IncreaseMaxEnergy
|
||||
| BuffKind::IncreaseMaxHealth
|
||||
| BuffKind::Invulnerability
|
||||
| BuffKind::ProtectingWard => {
|
||||
tracing::error!("Player was killed by a positive buff!");
|
||||
localized_strings.get("hud.outcome.mysterious")
|
||||
},
|
||||
};
|
||||
|
||||
template.replace("{died_of_buff}", buff_outcome)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user