export const locales = ['pt', 'en', 'es'] as const; export type Locale = (typeof locales)[number]; export const defaultLocale: Locale = 'pt'; export const localeNames: Record = { pt: 'Português', en: 'English', es: 'Español', }; export const localeFlags: Record = { pt: '🇧🇷', en: '🇺🇸', es: '🇪🇸', }; // Função para carregar traduções export async function getTranslations(locale: Locale) { try { const translations = await import(`@/locales/${locale}.json`); return translations.default; } catch { // Fallback para português const translations = await import(`@/locales/pt.json`); return translations.default; } } // Função para obter tradução por chave (ex: "nav.home") export function getNestedValue(obj: Record, path: string): string { const keys = path.split('.'); let current: unknown = obj; for (const key of keys) { if (current && typeof current === 'object' && key in current) { current = (current as Record)[key]; } else { return path; // Retorna a chave se não encontrar } } return typeof current === 'string' ? current : path; }