Referencia detallada de las funciones clave, tipos y objetos de configuración utilizados en AstroGlass.
useTranslations(locale)
Devuelve una función para obtener traducciones para el idioma (locale) dado.
Módulo: src/utils/i18n.ts
Firma:
function useTranslations(locale: Locale): (key: string) => string;Parámetros:
| Parámetro | Tipo | Descripción |
|---|---|---|
locale | Locale ('en' | 'ru') | El código de idioma para cargar las traducciones. |
Devuelve: Una función t(key: string): string que resuelve una clave en notación de puntos hacia su valor traducido. Si la clave no se encuentra, devuelve la propia clave y registra una advertencia en modo de desarrollo.
Uso:
---import { useTranslations } from '../utils/i18n';import { getLocaleFromUrl } from '../utils/locale-utils';
const locale = getLocaleFromUrl(Astro.url);const t = useTranslations(locale);---<h1>{t('hero.title')}</h1><p>{t('hero.subtitle')}</p>Comportamiento Clave:
- Las claves de
common.jsonse reparten en el nivel raíz (ej.,t('title')) - Todos los demás archivos usan su nombre de archivo como espacio de nombres (ej.,
t('hero.title'),t('pricing.plans.pro.name')) - Las claves faltantes devuelven la cadena de la clave en producción, y registran advertencias en desarrollo
getLocaleFromUrl(url)
Extrae el código de idioma a partir de la URL actual.
Módulo: src/utils/locale-utils.ts
Firma:
function getLocaleFromUrl(url: URL): Locale;Devuelve el prefijo de idioma de la ruta de la URL, con el valor predeterminado 'en' si no se encuentra ninguno.
buildNavLinks(locale, section)
Genera enlaces de navegación para la barra lateral de la documentación.
Módulo: src/utils/docs-nav.ts
Firma:
function buildNavLinks(locale: string, section?: string): NavLink[];Devuelve un arreglo de objetos de enlaces de navegación usados por el componente de la barra lateral de la documentación.
getEnabledThemes()
Devuelve todas las definiciones de temas habilitados.
Módulo: src/config/themes.ts
Firma:
function getEnabledThemes(): ThemeDefinition[];getThemeById(id)
Devuelve una definición de tema específica por su identificador (ID).
Módulo: src/config/themes.ts
Firma:
function getThemeById(id: string): ThemeDefinition | undefined;Tipo: ThemeDefinition
interface ThemeDefinition { id: string; // Slug de URL (ej., 'liquid', 'aurora') name: string; // Nombre a mostrar color: string; // Clases de gradiente de Tailwind icon: string; // Ícono Emoji sections: string[]; // Secciones habilitadas enabled: boolean; // Si el tema está activo premium: boolean; // Indicador Premium description: string; // Descripción en una línea}Tipo: LocaleConfig
interface LocaleConfig { code: string; // Código de idioma ISO name: string; // Nombre en inglés nativeName: string; // Nombre nativo flag: string; // Emoji de bandera direction: 'ltr' | 'rtl'; enabled: boolean;}Temas Disponibles
| ID | Nombre | Ícono |
|---|---|---|
liquid | Liquid | 💧 |
glass | Glass | 🪟 |
neo | Neo | ⚡ |
luxury | Luxury | 👑 |
minimal | Minimal | ✨ |
aurora | Aurora | 🌌 |