i18n YAML + 4 idiomas + docs wiki + releases full pages
Strings movidas a YAML por idioma. 4 idiomas equal — ES, EN, DE, RU. Docs es ahora wiki con sidebar. Cada release tiene página propia con detalles.
Nuevo i18n basado en YAML
- Cada string vive en
apps/site/src/locales/<lang>/<ns>.yaml— un archivo por namespace. - Drop un YAML, ejecutá
bun run i18n:build, listo. Cero hardcoded strings en código nuevo. - 309 keys en ES + EN con paridad obligatoria (unit test
i18n.test.ts), 97 en DE/RU bootstrap, GN sparse. - Cadena de fallback: locale → EN → ES → key (last-ditch). EN canonical.
- API
t(key)igual que antes — sin breaking changes en callsites.
Nuevo Cuatro idiomas equal — ES / EN / DE / RU
- Auto-detect del navegador sin sesgo al español:
de→ DE,ru→ RU,es→ ES, fallback EN. - Cuatro botones en el switcher de idioma del topbar y flying-menu (antes solo 2).
- Aria-labels traducidas en cada idioma para el screen reader del usuario.
- Spec §17 (multi-lang strategy) — target inicial: comunidades expat en Paraguay (alemana, inglesa, rusa) + local.
Nuevo Documentación como wiki
/docs/ahora es vista wiki con sidebar de navegación a la izquierda (no más cards).- Categorías: Perfil & visibilidad · Gamification · Herramientas · Sistema · Roadmap.
- Cada feature mantiene su página propia
/docs/<slug>/. - Buscador de docs viene con Pagefind en próximo release.
Nuevo Releases — páginas completas
/releases/ahora muestra cards completas con todo el contenido (no mini-cards).- Cada release tiene su URL propia
/releases/<slug>/— link compartible, indexable. - Soporte para secciones tipadas: Nuevo / Mejorado / Arreglado / Próximamente.
- Slots para GIFs por sección (próximamente: pipeline Playwright→ffmpeg para auto-recordings).
Arreglado Demo banner stuck bug + tests
.ps-demo-banner { display: flex }sobrescribía el UA[hidden]{display:none}, dejando el banner visible siempre.- Fix:
.ps-demo-banner[hidden] { display: none !important }. - Suite
tests/e2e/demo-mode.common.spec.ts— 9 scenarios × 2 viewports = 18 tests, todos passing. - Sticky in-demo navigation: links a
/me/* /p/* /specialists/* /clients/*auto-reciben?demo=1; los demás cortan demo.
Arreglado Botones — focus-visible unificado
- Una sola regla CSS cubre
.cl-btn, .ps-lang-btn, .ps-theme-btn, .ps-tab, .gt-btn, .ps-demo-banner__exitconoutline: 2px solid var(--ps-acc); outline-offset: 2px. - Hover separado del focus-visible (antes mismo selector — accesibilidad pobre).
Arreglado Dark theme en componentes nuevos
- Todos los
cl-*(Button, Card, BadgePill, ProfileHeader, etc.) ahora usan tokens--ps-*deglobal.cssen vez de colores hardcoded. - Demo banner y guided-tour respetan el tema activo.
Próximamente Próximo
- Pagefind search en /docs/ + /releases/.
- Email digest suscripción mensual.
- In-app toast cuando hay release nuevo desde la última visita.
- Recording pipeline: Playwright → ffmpeg → WebP GIFs auto-embedded en release notes.