3dc85ebdcd
Stack de display extraído del monorepo: compositor teselante (Cuerpo smithay + Cerebro WM agnóstico), greeter PAM, portal XDG, CLI de control. Llimphi se consume por git desde su repo publicado; las hojas compartidas (format, auth-core, rimay-localize, wawa-config, app-bus) y el widget menubar van vendorizados. Sin el asistente IA (pluma-llm) ni la barra web wasm — el compositor no los necesita. cargo check --workspace pasa (18 crates, 0 warn). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
rimay-localize — localización (i18n) declarativa
Catálogos de cadenas por idioma + una API de lookup minimalista para las apps de
gioser. Los catálogos son datos (JSON) cargables en tiempo de ejecución; el
código pide una clave y un idioma y obtiene la cadena, con interpolación de
placeholders {nombre}.
Qué expone
Lang— etiqueta de idioma (BCP-47 simplificado).Catalog— mapa clave → cadena para un idioma.Localizer— colección de catálogos + idioma activo + fallback.- Lookup con sustitución de placeholders por argumentos con nombre.
Nota de naming
rimay es el dominio de lenguaje/voz; este crate es su utilidad de localización
transversal (no es parte del núcleo de rimay).
Estado (2026-05-31)
Hecho
- Carga de catálogos JSON por idioma.
- Lookup con idioma activo + fallback y tests.
- Interpolación de placeholders
{nombre}.
Pendiente
- Pluralización compleja (ICU) y reglas por idioma.
- Detección del idioma del sistema (hoy lo decide la app).
- Herramienta de extracción/validación de claves faltantes.
Lugar en el repo
shared/rimay-localize — utilidad i18n transversal para apps gioser.