From a0a51110a5ce11d748851383e87adc331c7bd1ed Mon Sep 17 00:00:00 2001 From: Vincent Foulon Date: Tue, 29 Dec 2020 11:45:50 +0100 Subject: [PATCH] clear i18n code + revert back some other part of the code to its original state --- voxygen/src/hud/mod.rs | 4 +-- voxygen/src/i18n.rs | 37 +------------------------- voxygen/src/main.rs | 1 - voxygen/src/menu/char_selection/mod.rs | 2 +- voxygen/src/menu/main/mod.rs | 6 ++--- 5 files changed, 7 insertions(+), 43 deletions(-) diff --git a/voxygen/src/hud/mod.rs b/voxygen/src/hud/mod.rs index 1a9facf6d4..3662b0695d 100644 --- a/voxygen/src/hud/mod.rs +++ b/voxygen/src/hud/mod.rs @@ -1883,7 +1883,7 @@ impl Hud { tooltip_manager, &mut self.slot_manager, self.pulse, - &i18n, + i18n, &player_stats, &self.show, ) @@ -1966,7 +1966,7 @@ impl Hud { client, &self.imgs, &self.fonts, - &i18n, + i18n, &self.rot_imgs, tooltip_manager, &self.item_imgs, diff --git a/voxygen/src/i18n.rs b/voxygen/src/i18n.rs index ab952172e1..1dd910bd7d 100644 --- a/voxygen/src/i18n.rs +++ b/voxygen/src/i18n.rs @@ -56,7 +56,7 @@ pub struct RawLocalization { } /// Store internationalization data -#[derive(Debug, PartialEq, Serialize, Deserialize, Clone)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub struct Localization { /// A list of subdirectories to lookup for localization files @@ -237,41 +237,6 @@ impl assets::Compound for Localization { } } -/// Initializes and return a Localization with the given key -pub fn init_localization(asset_key: &str) -> Result { - // retrieve a Localization struct, clone it to allow writing - // for this, we load a special file called "_root.ron" - let mut asked_localization = Localization::load(&(asset_key.to_string() + "._root"))?.cloned(); - - // walk through files in the folder, collecting localization fragment to merge inside the asked_localization - for localization_asset in assets::load_dir::(asset_key)?.iter() { - asked_localization.string_map.extend(localization_asset.read().string_map.clone()); - asked_localization.vector_map.extend(localization_asset.read().vector_map.clone()); - } - // use the localization's subdirectory list to load fragments from there - for sub_directory in asked_localization.sub_directories.iter() { - for localization_asset in assets::load_dir::(&(asset_key.to_string() + "." + &sub_directory))?.iter() { - asked_localization.string_map.extend(localization_asset.read().string_map.clone()); - asked_localization.vector_map.extend(localization_asset.read().vector_map.clone()); - } - } - - // Update the text if UTF-8 to ASCII conversion is enabled - if asked_localization.convert_utf8_to_ascii { - for value in asked_localization.string_map.values_mut() { - *value = deunicode(value); - } - - for value in asked_localization.vector_map.values_mut() { - *value = value.iter().map(|s| deunicode(s)).collect(); - } - } - asked_localization.metadata.language_name = - deunicode(&asked_localization.metadata.language_name); - - Ok(asked_localization) -} - /// Load all the available languages located in the voxygen asset directory pub fn list_localizations() -> Vec { let mut languages = vec![]; diff --git a/voxygen/src/main.rs b/voxygen/src/main.rs index b35ad8e7a8..16e58b0505 100644 --- a/voxygen/src/main.rs +++ b/voxygen/src/main.rs @@ -157,7 +157,6 @@ fn main() { // Load the profile. let profile = Profile::load(); - let i18n = Localization::load(&i18n_asset_key(&settings.language.selected_language)) .unwrap_or_else(|error| { let selected_language = &settings.language.selected_language; diff --git a/voxygen/src/menu/char_selection/mod.rs b/voxygen/src/menu/char_selection/mod.rs index 76bede79f0..cc836594a5 100644 --- a/voxygen/src/menu/char_selection/mod.rs +++ b/voxygen/src/menu/char_selection/mod.rs @@ -162,7 +162,7 @@ impl PlayState for CharSelectionState { } // Tick the client (currently only to keep the connection alive). - let localized_strings = &global_state.i18n.read(); + let localized_strings = &*global_state.i18n.read(); match self.client.borrow_mut().tick( comp::ControllerInputs::default(), diff --git a/voxygen/src/menu/main/mod.rs b/voxygen/src/menu/main/mod.rs index 592c87a2d9..2cbd62d03d 100644 --- a/voxygen/src/menu/main/mod.rs +++ b/voxygen/src/menu/main/mod.rs @@ -261,9 +261,9 @@ impl PlayState for MainMenuState { MainMenuEvent::ChangeLanguage(new_language) => { global_state.settings.language.selected_language = new_language.language_identifier; - global_state.i18n = Localization::load_expect( - &i18n_asset_key(&global_state.settings.language.selected_language) - ); + global_state.i18n = Localization::load_expect(&i18n_asset_key( + &global_state.settings.language.selected_language + )); global_state.i18n.read().log_missing_entries(); self.main_menu_ui .update_language(global_state.i18n, &global_state.settings);