production: docker + nginx config for rf-flux.com
Deploy to VPS / deploy (push) Has been cancelled

This commit is contained in:
2026-03-20 13:46:05 -05:00
parent b275b19f08
commit fc24313f15
187 changed files with 20977 additions and 767 deletions
+32
View File
@@ -0,0 +1,32 @@
/**
* Traduce dinámicamente cualquier objeto de la base de datos (Prisma)
* leyendo su campo `translationsJson`.
* * @param item El objeto original de la base de datos (ej: una Noticia o Aplicación)
* @param locale El idioma actual de la URL (ej: 'it', 'es', 'vec')
* @returns El mismo objeto, pero con sus campos sobreescritos en el idioma correcto.
*/
export function getLocalizedData<T extends { translationsJson?: string | null }>(item: T, locale: string): T {
// 1. Si el idioma es el maestro (inglés) o no hay traducciones, devolvemos el original
if (locale === 'en' || !item.translationsJson) {
return item;
}
try {
// 2. Desempaquetamos el JSON de traducciones
const translations = JSON.parse(item.translationsJson);
// 3. Buscamos si existe el idioma que pide el usuario (ej: translations['it'])
const localeData = translations[locale];
if (localeData) {
// 4. Fusionamos el objeto original con las traducciones.
// Lo que esté traducido sobrescribe al original. Lo que no, queda en inglés.
return { ...item, ...localeData };
}
} catch (error) {
console.error("Error parsing translations JSON for item:", item, error);
}
// Fallback de seguridad: Si algo falla, siempre mostramos inglés
return item;
}