mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Improve i18n "get" performances by returning a &str
This commit is contained in:
parent
8aa1970fdf
commit
f60a68d96d
@ -48,10 +48,10 @@ impl VoxygenLocalization {
|
||||
///
|
||||
/// If the key is not present in the localization object
|
||||
/// then the key is returned.
|
||||
pub fn get(&self, key: &str) -> String {
|
||||
pub fn get<'a>(&'a self, key: &'a str) -> &'a str {
|
||||
match self.string_map.get(key) {
|
||||
Some(localized_text) => localized_text.to_owned(),
|
||||
None => key.to_string(),
|
||||
Some(localized_text) => localized_text,
|
||||
None => key,
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -128,7 +128,8 @@ impl PlayState for CharSelectionState {
|
||||
clock.get_last_delta(),
|
||||
|_| {},
|
||||
) {
|
||||
global_state.info_message = Some(localized_strings.get("common.connection_lost"));
|
||||
global_state.info_message =
|
||||
Some(localized_strings.get("common.connection_lost").to_owned());
|
||||
error!("[session] Failed to tick the scene: {:?}", err);
|
||||
|
||||
return PlayStateResult::Pop;
|
||||
|
@ -1135,13 +1135,13 @@ impl CharSelectionUi {
|
||||
self.imgs.slider_range,
|
||||
);
|
||||
let char_slider = move |prev_id,
|
||||
text: String,
|
||||
text: &str,
|
||||
text_id,
|
||||
max,
|
||||
selected_val,
|
||||
slider_id,
|
||||
ui_widgets: &mut UiCell| {
|
||||
Text::new(&text)
|
||||
Text::new(text)
|
||||
.down_from(prev_id, 22.0)
|
||||
.align_middle_x_of(prev_id)
|
||||
.font_size(18)
|
||||
|
@ -156,7 +156,7 @@ impl PlayState for MainMenuState {
|
||||
|
||||
if let Some(info) = global_state.info_message.take() {
|
||||
self.main_menu_ui
|
||||
.show_info(info, localized_strings.get("common.okay"));
|
||||
.show_info(info, localized_strings.get("common.okay").to_owned());
|
||||
}
|
||||
|
||||
// Draw the UI to the screen.
|
||||
|
@ -385,8 +385,8 @@ impl MainMenuUi {
|
||||
self.connect = true;
|
||||
self.connecting = Some(std::time::Instant::now());
|
||||
self.popup = Some(PopupData {
|
||||
msg: localized_strings.get("main.connecting") + "...",
|
||||
button_text: localized_strings.get("common.cancel"),
|
||||
msg: [localized_strings.get("main.connecting"), "..."].concat(),
|
||||
button_text: localized_strings.get("common.cancel").to_owned(),
|
||||
popup_type: PopupType::ConnectionInfo,
|
||||
});
|
||||
|
||||
@ -423,8 +423,8 @@ impl MainMenuUi {
|
||||
self.connect = true;
|
||||
self.connecting = Some(std::time::Instant::now());
|
||||
self.popup = Some(PopupData {
|
||||
msg: localized_strings.get("main.creating_world") + "...",
|
||||
button_text: localized_strings.get("common.cancel"),
|
||||
msg: [localized_strings.get("main.creating_world"), "..."].concat(),
|
||||
button_text: localized_strings.get("common.cancel").to_owned(),
|
||||
popup_type: PopupType::ConnectionInfo,
|
||||
});
|
||||
};
|
||||
|
@ -374,7 +374,8 @@ impl PlayState for SessionState {
|
||||
|
||||
// Perform an in-game tick.
|
||||
if let Err(err) = self.tick(clock.get_avg_delta()) {
|
||||
global_state.info_message = Some(localized_strings.get("common.connection_lost"));
|
||||
global_state.info_message =
|
||||
Some(localized_strings.get("common.connection_lost").to_owned());
|
||||
error!("[session] Failed to tick the scene: {:?}", err);
|
||||
|
||||
return PlayStateResult::Pop;
|
||||
|
Loading…
Reference in New Issue
Block a user