// Multi-language translations for Water Hammer Simulator const translations = { en: { // Main UI title: "Water Hammer Simulator", parameters_title: "System Parameters", results_title: "Results", // Parameter sections geometry: "GEOMETRY", operation: "OPERATION", fluid: "FLUID (SYRUP)", material: "PIPE MATERIAL", damper: "HYDROPNEUMATIC DAMPER", simulation: "SIMULATION", // Parameter labels pipe_length: "Pipe Length (m)", pipe_diameter: "Internal Diameter (mm)", wall_thickness: "Wall Thickness (mm)", flow_rate: "Flow Rate (L/h)", pump_pressure: "Pump Pressure (bar)", closure_time: "Valve Closure Time (s)", fluid_density: "Density (kg/m³)", fluid_temperature: "Temperature (°C)", bulk_modulus: "Bulk Modulus", roughness: "Roughness (mm)", young_modulus: "Young's Modulus (GPa)", damper_installed: "Damper Installed", damper_volume: "Total Volume (L)", damper_precharge: "N₂ Precharge (bar)", damper_gas_percentage: "Gas Percentage (%)", damper_position: "Position in Pipe (m)", simulation_time: "Simulation Time (s)", // Results sections calculated_parameters: "CALCULATED PARAMETERS", water_hammer: "WATER HAMMER", damper_results: "DAMPER PERFORMANCE", safety_evaluation: "SAFETY EVALUATION", // Result labels fluid_velocity: "Fluid Velocity", wave_speed: "Wave Speed", critical_time: "Critical Time", joukowsky_surge: "Joukowsky Surge", reduction_factor: "Reduction Factor", real_surge: "Real Surge", damper_efficiency: "Efficiency", effective_volume: "Effective Volume", // Chart labels pressure_time: "Pressure vs Time", flow_time: "Flow Rate vs Time", system_diagram: "System Diagram", start_point: "Start Point", mid_point: "Mid Point", end_point: "End Point", flow_rate: "Flow Rate", time_s: "Time (s)", time_ms: "Time (ms)", pressure_bar: "Pressure (bar)", flow_rate_lh: "Flow Rate (L/h)", // System components pump: "Pump", damper: "Damper", valve: "Valve", tank: "Tank", // PlantUML labels pressure_label: "Pressure", flow_label: "Flow", closure_time_label: "Closure Time", critical_time_label: "Critical Time", real_surge_label: "Real Surge", distances_label: "Distances", pipe_distance_label: "Pipe Distance", // Buttons and actions calculate: "Calculate", calculating: "Calculating...", reset: "Reset", export_results: "Export Results", export: "EXPORT", export_pdf: "Export as PDF", export_obsidian: "Export as Obsidian ZIP", exporting: "Generating export...", generate_diagram: "Generate System Diagram", system_diagram: "System Diagram", diagram_generate_hint: "Click \"Generate System Diagram\" to create detailed diagram", help: "Help", close: "Close", // Presets presets: "PRESETS", rapid_closure: "Rapid Closure", slow_closure: "Slow Closure", with_damper: "With Damper", critical_system: "Critical System", // Safety evaluation risk_level: "Risk Level", low: "Low", medium: "Medium", high: "High", warnings: "Warnings", recommendations: "Recommendations", // Messages parameters_saved: "Parameters saved successfully", calculation_complete: "Calculation completed", calculation_error: "Error during calculation", invalid_parameters: "Please check parameter values", preset_loaded: "Preset loaded", preset_error: "Error loading preset", parameters_reset: "Parameters reset to defaults", no_results_to_export: "No results to export", results_exported: "Results exported successfully", no_calculation: "No calculation performed yet", // Help content help_title: "Water Hammer Simulator Help", about_simulator: "About the Simulator", help_description: "This simulator calculates water hammer effects in syrup pumping systems. It analyzes pressure surges during valve closure and evaluates protection measures.", key_parameters: "Key Parameters", help_pipe_length: "Total length of the pipeline", help_closure_time: "Time taken for valve to close completely", help_damper: "Hydropneumatic device to reduce pressure surges", safety_guidelines: "Safety Guidelines", safety_1: "Keep pressure surges below 20 bar for safe operation", safety_2: "Use slower valve closure for high-pressure systems", safety_3: "Consider dampers for surge pressures above 10 bar", // Toast notifications success: "Success", error: "Error", warning: "Warning", info: "Information", welcome_message: "Water Hammer Simulator loaded successfully" }, es: { // Main UI title: "Simulador de Golpe de Ariete", parameters_title: "Parámetros del Sistema", results_title: "Resultados", // Parameter sections geometry: "GEOMETRÍA", operation: "OPERACIÓN", fluid: "FLUIDO (JARABE)", material: "MATERIAL DE TUBERÍA", damper: "AMORTIGUADOR HIDRONEUMÁTICO", simulation: "SIMULACIÓN", // Parameter labels pipe_length: "Longitud de Tubería (m)", pipe_diameter: "Diámetro Interno (mm)", wall_thickness: "Espesor de Pared (mm)", flow_rate: "Caudal (L/h)", pump_pressure: "Presión de Bomba (bar)", closure_time: "Tiempo de Cierre de Válvula (s)", fluid_density: "Densidad (kg/m³)", fluid_temperature: "Temperatura (°C)", bulk_modulus: "Módulo de Compresibilidad", roughness: "Rugosidad (mm)", young_modulus: "Módulo de Young (GPa)", damper_installed: "Amortiguador Instalado", damper_volume: "Volumen Total (L)", damper_precharge: "Precarga N₂ (bar)", damper_gas_percentage: "Porcentaje de Gas (%)", damper_position: "Posición en Tubería (m)", simulation_time: "Tiempo de Simulación (s)", // Results sections calculated_parameters: "PARÁMETROS CALCULADOS", water_hammer: "GOLPE DE ARIETE", damper_results: "RENDIMIENTO DEL AMORTIGUADOR", safety_evaluation: "EVALUACIÓN DE SEGURIDAD", // Result labels fluid_velocity: "Velocidad del Fluido", wave_speed: "Velocidad de Onda", critical_time: "Tiempo Crítico", joukowsky_surge: "Sobrepresión Joukowsky", reduction_factor: "Factor de Reducción", real_surge: "Sobrepresión Real", damper_efficiency: "Eficiencia", effective_volume: "Volumen Efectivo", // Chart labels pressure_time: "Presión vs Tiempo", flow_time: "Caudal vs Tiempo", system_diagram: "Diagrama del Sistema", start_point: "Punto Inicial", mid_point: "Punto Medio", end_point: "Punto Final", flow_rate: "Caudal", time_s: "Tiempo (s)", time_ms: "Tiempo (ms)", pressure_bar: "Presión (bar)", flow_rate_lh: "Caudal (L/h)", // System components pump: "Bomba", damper: "Amortiguador", valve: "Válvula", tank: "Tanque", // PlantUML labels pressure_label: "Presión", flow_label: "Caudal", closure_time_label: "Tiempo de Cierre", critical_time_label: "Tiempo Crítico", real_surge_label: "Sobrepresión Real", distances_label: "Distancias", pipe_distance_label: "Distancia de Tubería", // Buttons and actions calculate: "Calcular", calculating: "Calculando...", reset: "Reiniciar", export_results: "Exportar Resultados", export: "EXPORTAR", export_pdf: "Exportar como PDF", export_obsidian: "Exportar como ZIP Obsidian", exporting: "Generando exportación...", generate_diagram: "Generar Diagrama del Sistema", system_diagram: "Diagrama del Sistema", diagram_generate_hint: "Haz clic en \"Generar Diagrama del Sistema\" para crear un diagrama detallado", help: "Ayuda", close: "Cerrar", // Presets presets: "PREAJUSTES", rapid_closure: "Cierre Rápido", slow_closure: "Cierre Lento", with_damper: "Con Amortiguador", critical_system: "Sistema Crítico", // Safety evaluation risk_level: "Nivel de Riesgo", low: "Bajo", medium: "Medio", high: "Alto", warnings: "Advertencias", recommendations: "Recomendaciones", // Messages parameters_saved: "Parámetros guardados exitosamente", calculation_complete: "Cálculo completado", calculation_error: "Error durante el cálculo", invalid_parameters: "Por favor verifique los valores de parámetros", preset_loaded: "Preajuste cargado", preset_error: "Error cargando preajuste", parameters_reset: "Parámetros reiniciados a valores por defecto", no_results_to_export: "No hay resultados para exportar", results_exported: "Resultados exportados exitosamente", no_calculation: "Aún no se ha realizado ningún cálculo", // Help content help_title: "Ayuda del Simulador de Golpe de Ariete", about_simulator: "Acerca del Simulador", help_description: "Este simulador calcula los efectos del golpe de ariete en sistemas de bombeo de jarabe. Analiza las sobrepresiones durante el cierre de válvulas y evalúa medidas de protección.", key_parameters: "Parámetros Clave", help_pipe_length: "Longitud total de la tubería", help_closure_time: "Tiempo que toma la válvula en cerrar completamente", help_damper: "Dispositivo hidroneumático para reducir sobrepresiones", safety_guidelines: "Pautas de Seguridad", safety_1: "Mantener sobrepresiones por debajo de 20 bar para operación segura", safety_2: "Usar cierre más lento de válvula para sistemas de alta presión", safety_3: "Considerar amortiguadores para sobrepresiones superiores a 10 bar", // Toast notifications success: "Éxito", error: "Error", warning: "Advertencia", info: "Información", welcome_message: "Simulador de Golpe de Ariete cargado correctamente" }, it: { // Main UI title: "Simulatore Colpo d'Ariete", parameters_title: "Parametri del Sistema", results_title: "Risultati", // Parameter sections geometry: "GEOMETRIA", operation: "OPERAZIONE", fluid: "FLUIDO (SCIROPPO)", material: "MATERIALE TUBAZIONE", damper: "SMORZATORE IDROPNEUMATICO", simulation: "SIMULAZIONE", // Parameter labels pipe_length: "Lunghezza Tubazione (m)", pipe_diameter: "Diametro Interno (mm)", wall_thickness: "Spessore Parete (mm)", flow_rate: "Portata (L/h)", pump_pressure: "Pressione Pompa (bar)", closure_time: "Tempo Chiusura Valvola (s)", fluid_density: "Densità (kg/m³)", fluid_temperature: "Temperatura (°C)", bulk_modulus: "Modulo di Compressibilità", roughness: "Rugosità (mm)", young_modulus: "Modulo di Young (GPa)", damper_installed: "Smorzatore Installato", damper_volume: "Volume Totale (L)", damper_precharge: "Precarica N₂ (bar)", damper_gas_percentage: "Percentuale Gas (%)", damper_position: "Posizione in Tubazione (m)", simulation_time: "Tempo Simulazione (s)", // Results sections calculated_parameters: "PARAMETRI CALCOLATI", water_hammer: "COLPO D'ARIETE", damper_results: "PRESTAZIONI SMORZATORE", safety_evaluation: "VALUTAZIONE SICUREZZA", // Result labels fluid_velocity: "Velocità Fluido", wave_speed: "Velocità Onda", critical_time: "Tempo Critico", joukowsky_surge: "Sovrapressione Joukowsky", reduction_factor: "Fattore di Riduzione", real_surge: "Sovrapressione Reale", damper_efficiency: "Efficienza", effective_volume: "Volume Effettivo", // Chart labels pressure_time: "Pressione vs Tempo", flow_time: "Portata vs Tempo", system_diagram: "Schema del Sistema", start_point: "Punto Iniziale", mid_point: "Punto Medio", end_point: "Punto Finale", flow_rate: "Portata", time_s: "Tempo (s)", time_ms: "Tempo (ms)", pressure_bar: "Pressione (bar)", flow_rate_lh: "Portata (L/h)", // System components pump: "Pompa", damper: "Smorzatore", valve: "Valvola", tank: "Serbatoio", // PlantUML labels pressure_label: "Pressione", flow_label: "Portata", closure_time_label: "Tempo di Chiusura", critical_time_label: "Tempo Critico", real_surge_label: "Sovrapressione Reale", distances_label: "Distanze", pipe_distance_label: "Distanza Tubazione", // Buttons and actions calculate: "Calcola", calculating: "Calcolando...", reset: "Ripristina", export_results: "Esporta Risultati", export: "ESPORTA", export_pdf: "Esporta come PDF", export_obsidian: "Esporta come ZIP Obsidian", exporting: "Generazione esportazione...", generate_diagram: "Genera Diagramma del Sistema", system_diagram: "Diagramma del Sistema", diagram_generate_hint: "Clicca \"Genera Diagramma del Sistema\" per creare un diagramma dettagliato", help: "Aiuto", close: "Chiudi", // Presets presets: "PREIMPOSTAZIONI", rapid_closure: "Chiusura Rapida", slow_closure: "Chiusura Lenta", with_damper: "Con Smorzatore", critical_system: "Sistema Critico", // Safety evaluation risk_level: "Livello di Rischio", low: "Basso", medium: "Medio", high: "Alto", warnings: "Avvertenze", recommendations: "Raccomandazioni", // Messages parameters_saved: "Parametri salvati con successo", calculation_complete: "Calcolo completato", calculation_error: "Errore durante il calcolo", invalid_parameters: "Controllare i valori dei parametri", preset_loaded: "Preimpostazione caricata", preset_error: "Errore nel caricamento preimpostazione", parameters_reset: "Parametri ripristinati ai valori predefiniti", no_results_to_export: "Nessun risultato da esportare", results_exported: "Risultati esportati con successo", no_calculation: "Nessun calcolo ancora eseguito", // Help content help_title: "Aiuto Simulatore Colpo d'Ariete", about_simulator: "Informazioni sul Simulatore", help_description: "Questo simulatore calcola gli effetti del colpo d'ariete nei sistemi di pompaggio dello sciroppo. Analizza le sovrapressioni durante la chiusura delle valvole e valuta le misure di protezione.", key_parameters: "Parametri Chiave", help_pipe_length: "Lunghezza totale della tubazione", help_closure_time: "Tempo impiegato dalla valvola per chiudersi completamente", help_damper: "Dispositivo idropneumatico per ridurre le sovrapressioni", safety_guidelines: "Linee Guida di Sicurezza", safety_1: "Mantenere le sovrapressioni sotto i 20 bar per un funzionamento sicuro", safety_2: "Usare chiusura più lenta della valvola per sistemi ad alta pressione", safety_3: "Considerare smorzatori per sovrapressioni superiori a 10 bar", // Toast notifications success: "Successo", error: "Errore", warning: "Avvertimento", info: "Informazione", welcome_message: "Simulatore Colpo d'Ariete caricato con successo" }, fr: { // Main UI title: "Simulateur de Coup de Bélier", parameters_title: "Paramètres du Système", results_title: "Résultats", // Parameter sections geometry: "GÉOMÉTRIE", operation: "OPÉRATION", fluid: "FLUIDE (SIROP)", material: "MATÉRIAU DE CANALISATION", damper: "AMORTISSEUR HYDROPNEUMATIQUE", simulation: "SIMULATION", // Parameter labels pipe_length: "Longueur de Canalisation (m)", pipe_diameter: "Diamètre Interne (mm)", wall_thickness: "Épaisseur de Paroi (mm)", flow_rate: "Débit (L/h)", pump_pressure: "Pression de Pompe (bar)", closure_time: "Temps de Fermeture Vanne (s)", fluid_density: "Densité (kg/m³)", fluid_temperature: "Température (°C)", bulk_modulus: "Module de Compressibilité", roughness: "Rugosité (mm)", young_modulus: "Module de Young (GPa)", damper_installed: "Amortisseur Installé", damper_volume: "Volume Total (L)", damper_precharge: "Précharge N₂ (bar)", damper_gas_percentage: "Pourcentage Gaz (%)", damper_position: "Position dans Canalisation (m)", simulation_time: "Temps de Simulation (s)", // Results sections calculated_parameters: "PARAMÈTRES CALCULÉS", water_hammer: "COUP DE BÉLIER", damper_results: "PERFORMANCE AMORTISSEUR", safety_evaluation: "ÉVALUATION SÉCURITÉ", // Result labels fluid_velocity: "Vitesse Fluide", wave_speed: "Vitesse d'Onde", critical_time: "Temps Critique", joukowsky_surge: "Surpression Joukowsky", reduction_factor: "Facteur de Réduction", real_surge: "Surpression Réelle", damper_efficiency: "Efficacité", effective_volume: "Volume Effectif", // Chart labels pressure_time: "Pression vs Temps", flow_time: "Débit vs Temps", system_diagram: "Schéma du Système", start_point: "Point Initial", mid_point: "Point Milieu", end_point: "Point Final", flow_rate: "Débit", time_s: "Temps (s)", time_ms: "Temps (ms)", pressure_bar: "Pression (bar)", flow_rate_lh: "Débit (L/h)", // System components pump: "Pompe", damper: "Amortisseur", valve: "Vanne", tank: "Réservoir", // PlantUML labels pressure_label: "Pression", flow_label: "Débit", closure_time_label: "Temps de Fermeture", critical_time_label: "Temps Critique", real_surge_label: "Surpression Réelle", distances_label: "Distances", pipe_distance_label: "Distance Canalisation", // Buttons and actions calculate: "Calculer", calculating: "Calcul en cours...", reset: "Réinitialiser", export_results: "Exporter Résultats", export: "EXPORTER", export_pdf: "Exporter en PDF", export_obsidian: "Exporter en ZIP Obsidian", exporting: "Génération de l'export...", generate_diagram: "Générer Diagramme du Système", system_diagram: "Diagramme du Système", diagram_generate_hint: "Cliquez sur \"Générer Diagramme du Système\" pour créer un diagramme détaillé", help: "Aide", close: "Fermer", // Presets presets: "PRÉRÉGLAGES", rapid_closure: "Fermeture Rapide", slow_closure: "Fermeture Lente", with_damper: "Avec Amortisseur", critical_system: "Système Critique", // Safety evaluation risk_level: "Niveau de Risque", low: "Faible", medium: "Moyen", high: "Élevé", warnings: "Avertissements", recommendations: "Recommandations", // Messages parameters_saved: "Paramètres sauvegardés avec succès", calculation_complete: "Calcul terminé", calculation_error: "Erreur pendant le calcul", invalid_parameters: "Veuillez vérifier les valeurs des paramètres", preset_loaded: "Préréglage chargé", preset_error: "Erreur lors du chargement du préréglage", parameters_reset: "Paramètres réinitialisés aux valeurs par défaut", no_results_to_export: "Aucun résultat à exporter", results_exported: "Résultats exportés avec succès", no_calculation: "Aucun calcul encore effectué", // Help content help_title: "Aide Simulateur Coup de Bélier", about_simulator: "À propos du Simulateur", help_description: "Ce simulateur calcule les effets du coup de bélier dans les systèmes de pompage de sirop. Il analyse les surpressions pendant la fermeture des vannes et évalue les mesures de protection.", key_parameters: "Paramètres Clés", help_pipe_length: "Longueur totale de la canalisation", help_closure_time: "Temps pris par la vanne pour se fermer complètement", help_damper: "Dispositif hydropneumatique pour réduire les surpressions", safety_guidelines: "Directives de Sécurité", safety_1: "Maintenir les surpressions en dessous de 20 bar pour un fonctionnement sûr", safety_2: "Utiliser une fermeture plus lente de vanne pour les systèmes haute pression", safety_3: "Considérer des amortisseurs pour les surpressions au-dessus de 10 bar", // Toast notifications success: "Succès", error: "Erreur", warning: "Avertissement", info: "Information", welcome_message: "Simulateur de Coup de Bélier chargé avec succès" } };