184 lines
16 KiB
Dart
184 lines
16 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
enum AppLanguage { pt, en, es }
|
|
|
|
class AppStrings {
|
|
static final ValueNotifier<AppLanguage> languageNotifier = ValueNotifier(AppLanguage.pt);
|
|
|
|
static AppLanguage get currentLanguage => languageNotifier.value;
|
|
|
|
static void setLanguage(String language) {
|
|
if (language == 'English') {
|
|
languageNotifier.value = AppLanguage.en;
|
|
} else if (language == 'Español') {
|
|
languageNotifier.value = AppLanguage.es;
|
|
} else {
|
|
languageNotifier.value = AppLanguage.pt;
|
|
}
|
|
}
|
|
|
|
static String get currentLanguageName {
|
|
switch (languageNotifier.value) {
|
|
case AppLanguage.en: return 'English';
|
|
case AppLanguage.es: return 'Español';
|
|
case AppLanguage.pt: return 'Português';
|
|
}
|
|
}
|
|
|
|
static String get _lang => languageNotifier.value.name;
|
|
|
|
static String _get(Map<String, String> 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"});
|
|
static String get profileUpdated => _get({'pt': "Perfil atualizado!", 'en': "Profile updated!", 'es': "¡Perfil actualizado!"});
|
|
|
|
// 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"});
|
|
}
|