pagetop/src/locale/languages.rs
Manuel Cillero 6f82da220b 🐛 (web): HttpRequest clona ahora las extensiones
Documenta el nuevo comportamiento y aprovecha para pulir varios
comentarios y restringir visibilidad de símbolos internos.
2026-07-17 00:54:35 +02:00

29 lines
1.1 KiB
Rust

use crate::util;
use super::{LanguageIdentifier, langid};
use std::collections::HashMap;
use std::sync::LazyLock;
// Tabla de idiomas soportados por PageTop.
//
// Cada entrada asocia un código de idioma en minúsculas (por ejemplo, "en" o "es-es") con:
//
// - Su `LanguageIdentifier` canónico.
// - La clave de traducción definida en `src/locale/{lang}/languages.ftl` para mostrar su nombre en
// el idioma activo.
//
// Esto permite admitir alias de idioma como "en" o "es" y, al mismo tiempo, mantener un
// identificador de idioma canónico (por ejemplo, `langid!("en-US")` o `langid!("es-ES")`).
//
// Sólo lo usa `locale::definition`, en el mismo módulo `locale`.
pub(super) static LANGUAGES: LazyLock<HashMap<&str, (LanguageIdentifier, &str)>> =
LazyLock::new(|| {
util::kv![
"en" => ( langid!("en-US"), "english" ),
"en-gb" => ( langid!("en-GB"), "english_british" ),
"en-us" => ( langid!("en-US"), "english_united_states" ),
"es" => ( langid!("es-ES"), "spanish" ),
"es-es" => ( langid!("es-ES"), "spanish_spain" ),
]
});