enum AppLanguage { pt, en, es } class AppStrings { static AppLanguage _currentLanguage = AppLanguage.pt; static void setLanguage(String language) { if (language == 'English') { _currentLanguage = AppLanguage.en; } else if (language == 'Español') { _currentLanguage = AppLanguage.es; } else { _currentLanguage = AppLanguage.pt; } } static String get _lang => _currentLanguage.name; static String _get(Map values) => values[_lang] ?? values['pt']!; // Main Screen static String get complete => _get({'pt': "COMPLETO", 'en': "COMPLETE", 'es': "COMPLETO"}); static String get steps => _get({'pt': "PASSOS", 'en': "STEPS", 'es': "PASOS"}); static String get bpm => _get({'pt': "BPM", 'en': "BPM", 'es': "BPM"}); static String get kcal => _get({'pt': "K/CAL", 'en': "K/CAL", 'es': "K/CAL"}); static String get mapPreview => _get({'pt': "MAPA", 'en': "MAP", 'es': "MAPA"}); static String get settings => _get({'pt': "Configurações", 'en': "Settings", 'es': "Configuración"}); static String get groups => _get({'pt': "Grupos", 'en': "Groups", 'es': "Grupos"}); static String get history => _get({'pt': "Histórico", 'en': "History", 'es': "Historial"}); static String get notifications => _get({'pt': "Notificações", 'en': "Notifications", 'es': "Notificaciones"}); static String get profile => _get({'pt': "Perfil", 'en': "Profile", 'es': "Perfil"}); static String get welcome => _get({'pt': "Bem-vindo", 'en': "Welcome", 'es': "Bienvenido"}); static String get myActivities => _get({'pt': "Minhas Atividades", 'en': "My Activities", 'es': "Mis Actividades"}); static String get bestDistance => _get({'pt': "Melhor Distância", 'en': "Best Distance", 'es': "Mejor Distancia"}); static String get bestSpeed => _get({'pt': "Velocidade Máxima", 'en': "Max Speed", 'es': "Velocidad Máxima"}); static String get connectDevice => _get({'pt': "Conectar Dispositivo", 'en': "Connect Device", 'es': "Conectar Dispositivo"}); static String get viewMap => _get({'pt': "Ver Mapa", 'en': "View Map", 'es': "Ver Mapa"}); static String get dailyGoal => _get({'pt': "Meta Diária", 'en': "Daily Goal", 'es': "Meta Diaria"}); static String get startTraining => _get({'pt': "INICIAR TREINO", 'en': "START TRAINING", 'es': "INICIAR ENTRENAMIENTO"}); static String get generalActivity => _get({'pt': "ATIVIDADE GERAL", 'en': "GENERAL ACTIVITY", 'es': "ACTIVIDAD GENERAL"}); static String get personalRecords => _get({'pt': "RECORDS PESSOAIS", 'en': "PERSONAL RECORDS", 'es': "RÉCORDS PERSONALES"}); static String get stepsToday => _get({'pt': "passos hoje", 'en': "steps today", 'es': "pasos hoy"}); static String get setGoal => _get({'pt': "DEFINIR META", 'en': "SET GOAL", 'es': "DEFINIR META"}); static String get distance => _get({'pt': "DISTÂNCIA", 'en': "DISTANCE", 'es': "DISTANCIA"}); static String get time => _get({'pt': "TEMPO", 'en': "TIME", 'es': "TIEMPO"}); // Bluetooth Screen static String get bluetoothTitle => _get({'pt': "DISPOSITIVOS", 'en': "DEVICES", 'es': "DISPOSITIVOS"}); static String get bluetoothConnect => _get({'pt': "CONECTAR BLUETOOTH", 'en': "CONNECT BLUETOOTH", 'es': "CONECTAR BLUETOOTH"}); static String get stopSearch => _get({'pt': "PARAR BUSCA", 'en': "STOP SEARCH", 'es': "DETENER BÚSQUEDA"}); static String get startSearch => _get({'pt': "BUSCAR AGORA", 'en': "SEARCH NOW", 'es': "BUSCAR AHORA"}); static String get searching => _get({'pt': "STATUS: BUSCANDO...", 'en': "STATUS: SEARCHING...", 'es': "ESTADO: BUSCANDO..."}); static String get statusReady => _get({'pt': "STATUS: PRONTO", 'en': "STATUS: READY", 'es': "ESTADO: LISTO"}); static String get statusConnected => _get({'pt': "STATUS: CONECTADO", 'en': "STATUS: CONNECTED", 'es': "ESTADO: CONECTADO"}); static String get nearbyDevices => _get({'pt': "Dispositivos próximos", 'en': "Nearby devices", 'es': "Dispositivos cercanos"}); static String get active => _get({'pt': "ATIVO", 'en': "ACTIVE", 'es': "ACTIVO"}); static String get startSearchInstruction => _get({'pt': "Inicie a busca para conectar", 'en': "Start search to connect", 'es': "Inicie la búsqueda para conectar"}); static String get connect => _get({'pt': "CONECTAR", 'en': "CONNECT", 'es': "CONECTAR"}); static String get noDevicesFound => _get({'pt': "Nenhum dispositivo encontrado.", 'en': "No devices found.", 'es': "No se encontraron dispositivos."}); static String get foundDevices => _get({'pt': "Encontrados", 'en': "Found", 'es': "Encontrados"}); static String get oneDevice => _get({'pt': "1 Dispositivo", 'en': "1 Device", 'es': "1 Dispositivo"}); static String get permissionsDenied => _get({'pt': "Permissões de Bluetooth negadas.", 'en': "Bluetooth permissions denied.", 'es': "Permisos de Bluetooth denegados."}); static String get turnOnBluetooth => _get({'pt': "Ligue o Bluetooth para buscar dispositivos.", 'en': "Turn on Bluetooth to search for devices.", 'es': "Active el Bluetooth para buscar dispositivos."}); static String get scanError => _get({'pt': "Erro ao iniciar scan: ", 'en': "Error starting scan: ", 'es': "Error al iniciar el escaneo: "}); static String get stopScanError => _get({'pt': "Erro ao parar scan: ", 'en': "Error stopping scan: ", 'es': "Error al detener el escaneo: "}); static String get defaultDeviceName => _get({'pt': "Dispositivo", 'en': "Device", 'es': "Dispositivo"}); static String get connectingTo => _get({'pt': "Conectando a ", 'en': "Connecting to ", 'es': "Conectando a "}); static String get connectedSuccess => _get({'pt': "Conectado com sucesso!", 'en': "Connected successfully!", 'es': "¡Conectado con éxito!"}); static String get connectFail => _get({'pt': "Falha ao conectar: ", 'en': "Failed to connect: ", 'es': "Error al conectar: "}); static String get deviceIdPrefix => _get({'pt': "Disp. [", 'en': "Dev. [", 'es': "Disp. ["}); static String get unknownDevice => _get({'pt': "Dispositivo Desconhecido", 'en': "Unknown Device", 'es': "Dispositivo Desconhecido"}); static String get permissionsNeeded => _get({'pt': "Permissões Necessárias", 'en': "Permissions Needed", 'es': "Permisos Necesarios"}); static String get permissionsDeniedPermanent => _get({ 'pt': "As permissões de Bluetooth foram negadas permanentemente. Por favor, habilite-as nas configurações do sistema para continuar.", 'en': "Bluetooth permissions were permanently denied. Please enable them in system settings to continue.", 'es': "Los permisos de Bluetooth han sido denegados permanentemente. Por favor, habilítelos en la configuración del sistema para continuar." }); // Map Screen static String get mapTitleTracking => _get({'pt': "TRACKING ATIVO", 'en': "ACTIVE TRACKING", 'es': "SEGUIMIENTO ACTIVO"}); static String get mapTitlePlanning => _get({'pt': "PLANEJAR TRAJETO", 'en': "PLAN ROUTE", 'es': "PLANIFICAR TRAYECTO"}); static String get mapTitleRunning => _get({'pt': "CORRIDA", 'en': "RUN", 'es': "CARRERA"}); static String get mapPace => _get({'pt': "RITMO", 'en': "PACE", 'es': "RITMO"}); static String get mapRoute => _get({'pt': "TRAJETO", 'en': "ROUTE", 'es': "TRAYECTO"}); static String get mapTime => _get({'pt': "TEMPO", 'en': "TIME", 'es': "TIEMPO"}); static String get kmhUnit => _get({'pt': "KM/H", 'en': "KM/H", 'es': "KM/H"}); static String get kmUnit => _get({'pt': "KM", 'en': "KM", 'es': "KM"}); static String get metersUnit => _get({'pt': "m", 'en': "m", 'es': "m"}); static String get planningInstruction => _get({'pt': "Toque para definir Início e Fim", 'en': "Tap to set Start and Finish", 'es': "Toque para definir Inicio y Fin"}); static String get btnStop => _get({'pt': "PARAR", 'en': "STOP", 'es': "PARAR"}); static String get btnSimulate => _get({'pt': "SIMULAR", 'en': "SIMULATE", 'es': "SIMULAR"}); static String get btnStartRun => _get({'pt': "INICIAR CORRIDA", 'en': "START RUN", 'es': "INICIAR CARRERA"}); static String get btnStopRun => _get({'pt': "PARAR CORRIDA", 'en': "STOP RUN", 'es': "PARAR CARRERA"}); static String get startPoint => _get({'pt': "Partida", 'en': "Start", 'es': "Salida"}); static String get finishPoint => _get({'pt': "Chegada", 'en': "Finish", 'es': "Llegada"}); static String get markDestination => _get({'pt': "Marcar Destino", 'en': "Mark Destination", 'es': "Marcar Destino"}); static String get chooseRoute => _get({'pt': "Escolher Rota", 'en': "Choose Route", 'es': "Elegir Ruta"}); static String get confirmDestination => _get({'pt': "Confirmar Destino?", 'en': "Confirm Destination?", 'es': "¿Confirmar Destino?"}); static String get startRunQuestion => _get({'pt': "Iniciar Corrida?", 'en': "Start Run?", 'es': "¿Iniciar Carrera?"}); static String get startRunDescription => _get({'pt': "Deseja começar o monitoramento agora?", 'en': "Do you want to start monitoring now?", 'es': "¿Desea comenzar el monitoreo ahora?"}); static String get prepare => _get({'pt': "PREPARAR", 'en': "PREPARE", 'es': "PREPARAR"}); static String get maxSpeed => _get({'pt': "VELOCIDADE MÁX", 'en': "MAX SPEED", 'es': "VELOCIDAD MÁXIMA"}); static String get cancel => _get({'pt': "Cancelar", 'en': "Cancel", 'es': "Cancelar"}); static String get yes => _get({'pt': "Sim", 'en': "Yes", 'es': "Sí"}); static String get runFinished => _get({'pt': "Corrida Finalizada!", 'en': "Run Finished!", 'es': "¡Carrera Finalizada!"}); static String get totalDistance => _get({'pt': "Distância Total", 'en': "Total Distance", 'es': "Distancia Total"}); static String get totalTime => _get({'pt': "Tempo Total", 'en': "Total Time", 'es': "Tiempo Total"}); static String get close => _get({'pt': "Fechar", 'en': "Close", 'es': "Cerrar"}); static String get results => _get({'pt': "Resultados", 'en': "Results", 'es': "Resultados"}); // Auth Screens static String get entrar => _get({'pt': "ENTRAR", 'en': "LOGIN", 'es': "ENTRAR"}); static String get registrar => _get({'pt': "REGISTRAR", 'en': "REGISTER", 'es': "REGISTRAR"}); static String get appTitle => _get({'pt': "Run Vision Pro", 'en': "Run Vision Pro", 'es': "Run Vision Pro"}); // Shared Auth Strings static String get labelEmail => _get({'pt': "Email", 'en': "Email", 'es': "Email"}); static String get hintEmail => _get({'pt': "seu@email.com", 'en': "your@email.com", 'es': "tu@email.com"}); static String get validatorEmailEmpty => _get({'pt': "Por favor, insira seu email", 'en': "Please enter your email", 'es': "Por favor, introduce tu email"}); static String get validatorEmailInvalid => _get({'pt': "Email inválido", 'en': "Invalid email", 'es': "Email inválido"}); static String get labelPassword => _get({'pt': "Senha", 'en': "Password", 'es': "Contraseña"}); static String get hintPassword => _get({'pt': "••••••••", 'en': "••••••••", 'es': "••••••••"}); static String get validatorPasswordEmpty => _get({'pt': "Por favor, insira sua senha", 'en': "Please enter your password", 'es': "Por favor, introduce tu contraseña"}); static String get validatorPasswordLength => _get({'pt': "Senha deve ter pelo menos 6 caracteres", 'en': "Password must be at least 6 characters", 'es': "La contraseña debe tener al menos 6 caracteres"}); // Registrar Sheet static String get registerSuccess => _get({'pt': "Conta criada com sucesso! Verifique seu email.", 'en': "Account created successfully! Check your email.", 'es': "¡Cuenta creada con éxito! Revisa tu email."}); static String get registerTitle => _get({'pt': "Registrar", 'en': "Register", 'es': "Registrar"}); static String get labelName => _get({'pt': "Nome", 'en': "Name", 'es': "Nombre"}); static String get hintName => _get({'pt': "Seu nome completo", 'en': "Your full name", 'es': "Tu nombre completo"}); static String get validatorNameEmpty => _get({'pt': "Por favor, insira seu nome", 'en': "Please enter your name", 'es': "Por favor, introduce tu nombre"}); static String get validatorNameLength => _get({'pt': "Nome deve ter pelo menos 3 caracteres", 'en': "Name must be at least 3 characters", 'es': "El nombre debe tener al menos 3 caracteres"}); static String get labelConfirmPassword => _get({'pt': "Confirmar Senha", 'en': "Confirm Password", 'es': "Confirmar Contraseña"}); static String get validatorConfirmPasswordEmpty => _get({'pt': "Por favor, confirme sua senha", 'en': "Please confirm your password", 'es': "Por favor, confirma tu contraseña"}); static String get validatorConfirmPasswordMatch => _get({'pt': "Senhas não coincidem", 'en': "Passwords do not match", 'es': "Las contraseñas no coinciden"}); static String get btnRegister => _get({'pt': "Registrar", 'en': "Register", 'es': "Registrar"}); // Entrar Sheet static String get loginTitle => _get({'pt': "Entrar", 'en': "Login", 'es': "Entrar"}); static String get loginSuccess => _get({'pt': "Login realizado com sucesso!", 'en': "Login successful!", 'es': "¡Login realizado con éxito!"}); static String get resetPasswordEmailSent => _get({'pt': "Email de redefinição enviado!", 'en': "Reset email sent!", 'es': "¡Email de restablecimiento enviado!"}); static String get forgotPassword => _get({'pt': "Esqueceu a senha?", 'en': "Forgot password?", 'es': "¿Olvidaste la contraseña?"}); static String get btnLogin => _get({'pt': "Entrar", 'en': "Login", 'es': "Entrar"}); // Settings Screen static String get settingsTitle => _get({'pt': "CONFIGURAÇÕES", 'en': "SETTINGS", 'es': "CONFIGURACIÓN"}); static String get userPlaceholder => _get({'pt': "Usuário", 'en': "User", 'es': "Usuario"}); static String get editProfile => _get({'pt': "Editar perfil", 'en': "Edit profile", 'es': "Editar perfil"}); static String get adjustDateTime => _get({'pt': "Ajustar Data e Hora", 'en': "Adjust Date and Time", 'es': "Ajustar Fecha y Hora"}); static String get nightMode => _get({'pt': "Modo Noturno", 'en': "Night Mode", 'es': "Modo Nocturno"}); static String get language => _get({'pt': "Idioma", 'en': "Language", 'es': "Idioma"}); static String get accessibility => _get({'pt': "Acessibilidade", 'en': "Accessibility", 'es': "Accesibilidad"}); static String get privacySecurity => _get({'pt': "Privacidade e Segurança", 'en': "Privacy and Security", 'es': "Privacidad y Seguridad"}); static String get termsOfUse => _get({'pt': "Termos de Uso", 'en': "Terms of Use", 'es': "Términos de Uso"}); static String get about => _get({'pt': "Sobre", 'en': "About", 'es': "Sobre"}); static String get logout => _get({'pt': "Sair", 'en': "Logout", 'es': "Salir"}); static String get confirmLogout => _get({'pt': "Confirmar Logout", 'en': "Confirm Logout", 'es': "Confirmar Salida"}); static String get confirmLogoutMessage => _get({'pt': "Tem certeza que deseja sair?", 'en': "Are you sure you want to logout?", 'es': "¿Estás seguro de que quieres salir?"}); static String get selectLanguage => _get({'pt': "Selecionar Idioma", 'en': "Select Language", 'es': "Seleccionar Idioma"}); static String get version => _get({'pt': "Versão", 'en': "Version", 'es': "Versión"}); static String get appDescription => _get({'pt': "Aplicativo de corrida com estatísticas e mapas", 'en': "Running app with stats and maps", 'es': "Aplicación de carrera con estadísticas y mapas"}); static String get dateSelected => _get({'pt': "Data selecionada", 'en': "Date selected", 'es': "Fecha seleccionada"}); static String get btnOk => _get({'pt': "OK", 'en': "OK", 'es': "OK"}); static String get btnCancel => _get({'pt': "Cancelar", 'en': "Cancel", 'es': "Cancelar"}); static String get btnDefine => _get({'pt': "DEFINIR", 'en': "DEFINE", 'es': "DEFINIR"}); // Logado Screen static String get defineDailyGoal => _get({'pt': "Definir Meta Diária", 'en': "Set Daily Goal", 'es': "Definir Meta Diaria"}); static String get customGoal => _get({'pt': "Personalizado", 'en': "Custom", 'es': "Personalizado"}); static String get customGoalTitle => _get({'pt': "Meta Personalizada", 'en': "Custom Goal", 'es': "Meta Personalizada"}); }