diff --git a/pagetop/src/app.rs b/pagetop/src/app.rs index 45ebc351..5654cea6 100644 --- a/pagetop/src/app.rs +++ b/pagetop/src/app.rs @@ -6,8 +6,6 @@ pub use actix_web_static_files::ResourceFiles; mod banner; -pub mod locale; - #[cfg(feature = "database")] pub mod db; diff --git a/pagetop/src/app/application.rs b/pagetop/src/app/application.rs index 28145164..97b9cf26 100644 --- a/pagetop/src/app/application.rs +++ b/pagetop/src/app/application.rs @@ -23,7 +23,7 @@ impl Application { LazyStatic::force(&global::TRACING); // Valida el identificador de idioma. - LazyStatic::force(&super::locale::LANGID); + LazyStatic::force(&global::LANGID); #[cfg(feature = "database")] // Conecta con la base de datos. diff --git a/pagetop/src/app/locale.rs b/pagetop/src/app/locale.rs deleted file mode 100644 index e6e1c4ef..00000000 --- a/pagetop/src/app/locale.rs +++ /dev/null @@ -1,22 +0,0 @@ -use crate::{global, trace, LazyStatic}; - -use unic_langid::LanguageIdentifier; - -/// Almacena el Identificador de Idioma Unicode -/// ([Unicode Language Identifier](https://unicode.org/reports/tr35/tr35.html#Unicode_language_identifier)) -/// de la aplicación, obtenido de `SETTINGS.app.language`. -pub static LANGID: LazyStatic = - LazyStatic::new(|| match global::SETTINGS.app.language.parse() { - Ok(language) => language, - Err(_) => { - trace::warn!( - "{}, {} \"{}\"! {}, {}", - "Failed to parse language", - "unrecognized Unicode Language Identifier", - global::SETTINGS.app.language, - "Using \"en-US\"", - "check the settings file", - ); - "en-US".parse().unwrap() - } - }); diff --git a/pagetop/src/global.rs b/pagetop/src/global.rs index ce687ff4..de87ceb5 100644 --- a/pagetop/src/global.rs +++ b/pagetop/src/global.rs @@ -1,10 +1,12 @@ -use crate::{pub_config, LazyStatic}; +use crate::{pub_config, trace, LazyStatic}; use serde::Deserialize; use tracing_appender::non_blocking::WorkerGuard; use tracing_subscriber::EnvFilter; +use unic_langid::LanguageIdentifier; + // CONFIGURACIÓN *********************************************************************************** #[derive(Debug, Deserialize)] @@ -189,3 +191,24 @@ pub(crate) static TRACING: LazyStatic = LazyStatic::new(|| { guard }); + +// LOCALIZACIÓN ************************************************************************************ + +/// Almacena el Identificador de Idioma Unicode +/// ([Unicode Language Identifier](https://unicode.org/reports/tr35/tr35.html#Unicode_language_identifier)) +/// de la aplicación, obtenido de `SETTINGS.app.language`. +pub static LANGID: LazyStatic = + LazyStatic::new(|| match SETTINGS.app.language.parse() { + Ok(language) => language, + Err(_) => { + trace::warn!( + "{}, {} \"{}\"! {}, {}", + "Failed to parse language", + "unrecognized Unicode Language Identifier", + SETTINGS.app.language, + "Using \"en-US\"", + "check the settings file", + ); + "en-US".parse().unwrap() + } + }); diff --git a/pagetop/src/locale.rs b/pagetop/src/locale.rs index 5b8b53da..9750d314 100644 --- a/pagetop/src/locale.rs +++ b/pagetop/src/locale.rs @@ -102,8 +102,8 @@ pub use fluent_templates::{static_loader as static_locale, Loader as Locale}; /// Permite integrar fácilmente localización en temas, módulos y componentes. macro_rules! pub_locale { ( $dir_locales:literal $(, $core_locales:literal)? ) => { + use $crate::global; use $crate::locale::*; - use $crate::app::locale::LANGID; static_locale! { static LOCALES = { @@ -118,7 +118,7 @@ macro_rules! pub_locale { #[allow(dead_code)] fn l(key: &str) -> String { - LOCALES.lookup(&LANGID, key).unwrap_or(key.to_string()) + LOCALES.lookup(&global::LANGID, key).unwrap_or(key.to_string()) } #[allow(dead_code)] @@ -126,7 +126,7 @@ macro_rules! pub_locale { key: &str, args: &std::collections::HashMap ) -> String { - LOCALES.lookup_with_args(&LANGID, key, args).unwrap_or(key.to_string()) + LOCALES.lookup_with_args(&global::LANGID, key, args).unwrap_or(key.to_string()) } #[allow(dead_code)] @@ -135,7 +135,7 @@ macro_rules! pub_locale { args: &std::collections::HashMap ) -> $crate::html::PreEscaped { $crate::html::PreEscaped( - LOCALES.lookup_with_args(&LANGID, key, args).unwrap_or(key.to_string()) + LOCALES.lookup_with_args(&global::LANGID, key, args).unwrap_or(key.to_string()) ) } };