✨ [minimal] Añade macros declarativas a utilidades
- Incorpora nuevo *crate* `pagetop-minimal` con macros básicas para operaciones con cadenas, bloques de texto o colecciones clave-valor. - Refactoriza código para usar `util::join!` y `util::join_pair!` en la concatenación de cadenas. - Normaliza la gestión de localización usando `util::kv!` para los argumentos con pares clave-valor. - Actualizada documentación y archivos README para reflejar la nueva estructura y funcionalidades.
This commit is contained in:
parent
b7c356b2e0
commit
7b23e9c1ea
25 changed files with 504 additions and 154 deletions
|
|
@ -91,7 +91,7 @@
|
|||
|
||||
use crate::html::{Markup, PreEscaped};
|
||||
use crate::service::HttpRequest;
|
||||
use crate::{global, hm, AutoDefault};
|
||||
use crate::{global, util, AutoDefault};
|
||||
|
||||
pub use fluent_templates;
|
||||
pub use unic_langid::{CharacterDirection, LanguageIdentifier};
|
||||
|
|
@ -110,7 +110,7 @@ use std::fmt;
|
|||
// Asocia cada identificador de idioma (como "en-US") con su respectivo [`LanguageIdentifier`] y la
|
||||
// clave en *locale/.../languages.ftl* para obtener el nombre del idioma según la localización.
|
||||
static LANGUAGES: LazyLock<HashMap<&str, (LanguageIdentifier, &str)>> = LazyLock::new(|| {
|
||||
hm![
|
||||
util::kv![
|
||||
"en" => ( langid!("en-US"), "english" ),
|
||||
"en-gb" => ( langid!("en-GB"), "english_british" ),
|
||||
"en-us" => ( langid!("en-US"), "english_united_states" ),
|
||||
|
|
@ -411,7 +411,7 @@ impl L10n {
|
|||
self
|
||||
}
|
||||
|
||||
/// Añade varios argumentos a la traducción de una sola vez (p. ej. usando la macro [`hm!`],
|
||||
/// Añade varios argumentos a la traducción de una vez (p. ej. usando la macro [`util::kv!`],
|
||||
/// también vec![("k", "v")], incluso un array de duplas u otras colecciones).
|
||||
pub fn with_args<I, K, V>(mut self, args: I) -> Self
|
||||
where
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue