593 lines
15 KiB
Dart
593 lines
15 KiB
Dart
// ignore: unused_import
|
|
import 'package:intl/intl.dart' as intl;
|
|
import 'app_localizations.dart';
|
|
|
|
// ignore_for_file: type=lint
|
|
|
|
/// The translations for Spanish Castilian (`es`).
|
|
class AppLocalizationsEs extends AppLocalizations {
|
|
AppLocalizationsEs([String locale = 'es']) : super(locale);
|
|
|
|
@override
|
|
String get appTitle => 'FocusBuddy';
|
|
|
|
@override
|
|
String get startFocusing => 'Comenzar a concentrarse';
|
|
|
|
@override
|
|
String minutes(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: 'minutos',
|
|
one: 'minuto',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String minutesValue(int count, Object minutes) {
|
|
return '$count $minutes';
|
|
}
|
|
|
|
@override
|
|
String get tapDistractionAnytime =>
|
|
'Toca \'Me distraje\'\nen cualquier momento\n—sin culpa';
|
|
|
|
@override
|
|
String get history => 'Historial';
|
|
|
|
@override
|
|
String get settings => 'Configuración';
|
|
|
|
@override
|
|
String get iGotDistracted => 'Me distraje';
|
|
|
|
@override
|
|
String get pause => 'Pausar';
|
|
|
|
@override
|
|
String get resume => 'Reanudar';
|
|
|
|
@override
|
|
String get stopSession => 'Detener sesión';
|
|
|
|
@override
|
|
String get whatPulledYouAway => '¿Qué te distrajo?';
|
|
|
|
@override
|
|
String get skipThisTime => 'Omitir esta vez';
|
|
|
|
@override
|
|
String get stopEarly => '¿Detener antes de tiempo?';
|
|
|
|
@override
|
|
String stopEarlyMessage(int minutes, Object minuteText) {
|
|
return 'Está bien — ¡te concentraste durante $minutes $minuteText!';
|
|
}
|
|
|
|
@override
|
|
String get keepGoing => 'Continuar';
|
|
|
|
@override
|
|
String get yesStop => 'Sí, detener';
|
|
|
|
@override
|
|
String get distractionEncouragement => 'Sucede. Volvamos suavemente.';
|
|
|
|
@override
|
|
String get focusComplete => '¡Sesión de concentración completa!';
|
|
|
|
@override
|
|
String get youFocusedFor => 'Te concentraste durante';
|
|
|
|
@override
|
|
String totalToday(int minutes) {
|
|
return 'Total hoy: $minutes min';
|
|
}
|
|
|
|
@override
|
|
String distractionsCount(int count, Object times) {
|
|
return 'Distracciones: $count $times';
|
|
}
|
|
|
|
@override
|
|
String times(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: 'veces',
|
|
one: 'vez',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String get startAnother => 'Comenzar otra';
|
|
|
|
@override
|
|
String get viewHistory => 'Ver historial';
|
|
|
|
@override
|
|
String get yourFocusJourney => 'Tu viaje de concentración';
|
|
|
|
@override
|
|
String get noFocusSessionsYet => 'Aún no hay sesiones de concentración';
|
|
|
|
@override
|
|
String get startFirstSession =>
|
|
'¡Comienza tu primera sesión\npara ver tu progreso aquí!';
|
|
|
|
@override
|
|
String get today => 'Hoy';
|
|
|
|
@override
|
|
String sessions(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: '$count sesiones',
|
|
one: '$count sesión',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String get completed => 'Completada';
|
|
|
|
@override
|
|
String get stoppedEarly => 'Detenida antes de tiempo';
|
|
|
|
@override
|
|
String distractions(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: 'distracciones',
|
|
one: 'distracción',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String get focusSettings => 'Configuración de concentración';
|
|
|
|
@override
|
|
String get defaultFocusDuration => 'Duración de concentración predeterminada';
|
|
|
|
@override
|
|
String get defaultLabel => 'Predeterminado';
|
|
|
|
@override
|
|
String get about => 'Acerca de';
|
|
|
|
@override
|
|
String get privacyPolicy => 'Política de privacidad';
|
|
|
|
@override
|
|
String get termsOfService => 'Términos de servicio';
|
|
|
|
@override
|
|
String get aboutFocusBuddy => 'Acerca de FocusBuddy';
|
|
|
|
@override
|
|
String get resetOnboarding => 'Restablecer introducción';
|
|
|
|
@override
|
|
String get version => 'Versión 1.0.0 (MVP)';
|
|
|
|
@override
|
|
String get privacyPolicyTitle => 'Política de privacidad';
|
|
|
|
@override
|
|
String get privacyPolicyContent =>
|
|
'FocusBuddy funciona 100% sin conexión. No recopilamos tu nombre, correo electrónico, ubicación ni datos de uso. Todas las sesiones permanecen en tu dispositivo.\n\nNo hay sincronización en la nube, sistema de cuentas ni seguimiento de análisis.\n\nPara la política de privacidad completa, visita:\nhttps://ytc1012.github.io/focusbuddy-site/privacy-policy.html';
|
|
|
|
@override
|
|
String get termsOfServiceTitle => 'Términos de servicio';
|
|
|
|
@override
|
|
String get termsOfServiceContent =>
|
|
'FocusBuddy se proporciona \"tal cual\" sin garantías. Al usar esta aplicación, aceptas usarla bajo tu propio riesgo.\n\nEsta aplicación está diseñada como una herramienta de temporizador de concentración y no garantiza resultados específicos. Todos los datos se almacenan localmente en tu dispositivo.\n\nPara los términos de servicio completos, visita:\nhttps://ytc1012.github.io/focusbuddy-site/terms-of-service.html';
|
|
|
|
@override
|
|
String get close => 'Cerrar';
|
|
|
|
@override
|
|
String get aboutTitle => 'Acerca de FocusBuddy';
|
|
|
|
@override
|
|
String get aboutSubtitle =>
|
|
'Un temporizador suave de concentración para mentes neurodivergentes';
|
|
|
|
@override
|
|
String get aboutQuote =>
|
|
'\"La concentración no se trata de nunca distraerse, sino de volver suavemente cada vez que lo haces.\"';
|
|
|
|
@override
|
|
String get aboutFeatures =>
|
|
'✨ Sin castigos por distracciones\n💚 Aliento en lugar de críticas\n🔒 100% sin conexión y privado\n🌱 Hecho con cuidado';
|
|
|
|
@override
|
|
String get resetOnboardingTitle => '¿Restablecer introducción?';
|
|
|
|
@override
|
|
String get resetOnboardingMessage =>
|
|
'Esto mostrará las pantallas de introducción nuevamente cuando reinicies la aplicación.';
|
|
|
|
@override
|
|
String get cancel => 'Cancelar';
|
|
|
|
@override
|
|
String get reset => 'Restablecer';
|
|
|
|
@override
|
|
String get onboardingReset =>
|
|
'Introducción restablecida. Reinicia la aplicación para verla nuevamente.';
|
|
|
|
@override
|
|
String get onboarding1Title => 'Concéntrate sin culpa';
|
|
|
|
@override
|
|
String get onboarding1Description =>
|
|
'Esta aplicación es diferente: no te castigará por perder la concentración.\n\nPerfecta para TDAH, ansiedad o cualquiera que encuentre los temporizadores tradicionales demasiado duros.';
|
|
|
|
@override
|
|
String get onboarding2Title => 'Toca cuando te distraigas';
|
|
|
|
@override
|
|
String get onboarding2Description =>
|
|
'Te recordaremos suavemente que vuelvas.\n\nSin vergüenza. Sin estrés. Solo un recordatorio amable.';
|
|
|
|
@override
|
|
String get onboarding3Title => 'Rastrea tu progreso';
|
|
|
|
@override
|
|
String get onboarding3Description =>
|
|
'Observa cómo mejoras, una sesión a la vez.\n\nCada distracción es solo datos, no un fracaso.';
|
|
|
|
@override
|
|
String get skip => 'Omitir';
|
|
|
|
@override
|
|
String get next => 'Siguiente';
|
|
|
|
@override
|
|
String get getStarted => 'Comenzar';
|
|
|
|
@override
|
|
String get notificationFocusInProgress =>
|
|
'Sesión de concentración en progreso';
|
|
|
|
@override
|
|
String notificationRemaining(String time) {
|
|
return '$time restante';
|
|
}
|
|
|
|
@override
|
|
String get notificationFocusCompleteTitle =>
|
|
'🎉 ¡Sesión de concentración completa!';
|
|
|
|
@override
|
|
String notificationFocusCompleteBodyNoDistractions(
|
|
int minutes,
|
|
Object minuteText,
|
|
) {
|
|
return '¡Te concentraste durante $minutes $minuteText sin distracciones!';
|
|
}
|
|
|
|
@override
|
|
String notificationFocusCompleteBody(int minutes, Object minuteText) {
|
|
return 'Te concentraste durante $minutes $minuteText. ¡Gran esfuerzo!';
|
|
}
|
|
|
|
@override
|
|
String get distractionPhoneNotification => 'Teléfono / Notificación';
|
|
|
|
@override
|
|
String get distractionSocialMedia => 'Redes sociales';
|
|
|
|
@override
|
|
String get distractionThoughts => 'Pensamientos / Soñar despierto';
|
|
|
|
@override
|
|
String get distractionOther => 'Otro';
|
|
|
|
@override
|
|
String get language => 'Idioma';
|
|
|
|
@override
|
|
String get selectLanguage => 'Seleccionar idioma';
|
|
|
|
@override
|
|
String get english => 'English';
|
|
|
|
@override
|
|
String get chinese => '中文';
|
|
|
|
@override
|
|
String get japanese => '日本語';
|
|
|
|
@override
|
|
String get korean => '한국어';
|
|
|
|
@override
|
|
String get spanish => 'Español';
|
|
|
|
@override
|
|
String get german => 'Deutsch';
|
|
|
|
@override
|
|
String get french => 'Français';
|
|
|
|
@override
|
|
String get portuguese => 'Português';
|
|
|
|
@override
|
|
String get russian => 'Русский';
|
|
|
|
@override
|
|
String get hindi => 'हिन्दी';
|
|
|
|
@override
|
|
String get indonesian => 'Bahasa Indonesia';
|
|
|
|
@override
|
|
String get italian => 'Italiano';
|
|
|
|
@override
|
|
String get arabic => 'العربية';
|
|
|
|
@override
|
|
String get points => 'Puntos';
|
|
|
|
@override
|
|
String get level => 'Nivel';
|
|
|
|
@override
|
|
String get checked => 'Registrado';
|
|
|
|
@override
|
|
String get checkIn => 'Registrarse';
|
|
|
|
@override
|
|
String get earnedPoints => 'Ganado:';
|
|
|
|
@override
|
|
String get basePoints => 'Puntos Base';
|
|
|
|
@override
|
|
String get honestyBonus => 'Bono de Honestidad';
|
|
|
|
@override
|
|
String totalPoints(int count) {
|
|
return 'Puntos Totales: $count ⚡';
|
|
}
|
|
|
|
@override
|
|
String distractionsRecorded(int count, Object distractionText) {
|
|
return '($count $distractionText registradas)';
|
|
}
|
|
|
|
@override
|
|
String get achievementUnlocked => '🎖️ ¡Logro Desbloqueado!';
|
|
|
|
@override
|
|
String bonusPoints(int points) {
|
|
return '+$points Puntos ⚡';
|
|
}
|
|
|
|
@override
|
|
String checkInSuccess(int points) {
|
|
return '¡Registro exitoso! +$points puntos ⚡';
|
|
}
|
|
|
|
@override
|
|
String get weeklyStreakBonus => '🎉 ¡Bono de racha semanal!';
|
|
|
|
@override
|
|
String get newAchievementUnlocked => '🎖️ ¡Nuevo logro desbloqueado!';
|
|
|
|
@override
|
|
String get alreadyCheckedIn => '¡Ya te registraste hoy! Vuelve mañana 📅';
|
|
|
|
@override
|
|
String get checkInCalendar => 'Calendario de Registro 📅';
|
|
|
|
@override
|
|
String get checkInToday => '📅 Registrarse Hoy';
|
|
|
|
@override
|
|
String get checkedInToday => '✓ Registrado Hoy';
|
|
|
|
@override
|
|
String get currentStreak => '🔥 Racha Actual';
|
|
|
|
@override
|
|
String get longestStreak => '🏆 Racha Más Larga';
|
|
|
|
@override
|
|
String get days => 'días';
|
|
|
|
@override
|
|
String daysCount(int count) {
|
|
return '$count días';
|
|
}
|
|
|
|
@override
|
|
String get achievements => 'Logros 🎖️';
|
|
|
|
@override
|
|
String get viewAllAchievements => 'Ver Todos los Logros';
|
|
|
|
@override
|
|
String get allAchievementsComingSoon =>
|
|
'¡Pantalla completa de logros próximamente!';
|
|
|
|
@override
|
|
String get profile => 'Perfil';
|
|
|
|
@override
|
|
String get focuser => 'Enfocador';
|
|
|
|
@override
|
|
String pointsToNextLevel(int points, int level) {
|
|
return '$points puntos para Nivel $level';
|
|
}
|
|
|
|
@override
|
|
String get achievement_first_session_name => 'Novato del Enfoque';
|
|
|
|
@override
|
|
String get achievement_first_session_desc =>
|
|
'Completa tu primera sesión de enfoque';
|
|
|
|
@override
|
|
String get achievement_sessions_10_name => 'Comenzando';
|
|
|
|
@override
|
|
String get achievement_sessions_10_desc => 'Completa 10 sesiones de enfoque';
|
|
|
|
@override
|
|
String get achievement_sessions_50_name => 'Entusiasta del Enfoque';
|
|
|
|
@override
|
|
String get achievement_sessions_50_desc => 'Completa 50 sesiones de enfoque';
|
|
|
|
@override
|
|
String get achievement_sessions_100_name => 'Maestro del Enfoque';
|
|
|
|
@override
|
|
String get achievement_sessions_100_desc =>
|
|
'Completa 100 sesiones de enfoque';
|
|
|
|
@override
|
|
String get achievement_honest_bronze_name => 'Registrador Honesto · Bronce';
|
|
|
|
@override
|
|
String get achievement_honest_bronze_desc =>
|
|
'Registra 50 distracciones honestamente';
|
|
|
|
@override
|
|
String get achievement_honest_silver_name => 'Registrador Honesto · Plata';
|
|
|
|
@override
|
|
String get achievement_honest_silver_desc =>
|
|
'Registra 200 distracciones honestamente';
|
|
|
|
@override
|
|
String get achievement_honest_gold_name => 'Registrador Honesto · Oro';
|
|
|
|
@override
|
|
String get achievement_honest_gold_desc =>
|
|
'Registra 500 distracciones honestamente';
|
|
|
|
@override
|
|
String get achievement_marathon_name => 'Corredor de Maratón';
|
|
|
|
@override
|
|
String get achievement_marathon_desc =>
|
|
'Acumula 10 horas de tiempo de enfoque';
|
|
|
|
@override
|
|
String get achievement_century_name => 'Club del Siglo';
|
|
|
|
@override
|
|
String get achievement_century_desc =>
|
|
'Acumula 100 horas de tiempo de enfoque';
|
|
|
|
@override
|
|
String get achievement_master_name => 'Gran Maestro del Enfoque';
|
|
|
|
@override
|
|
String get achievement_master_desc =>
|
|
'Acumula 1000 horas de tiempo de enfoque';
|
|
|
|
@override
|
|
String get achievement_persistence_star_name => 'Estrella de Persistencia';
|
|
|
|
@override
|
|
String get achievement_persistence_star_desc =>
|
|
'Regístrate durante 7 días consecutivos';
|
|
|
|
@override
|
|
String get achievement_monthly_habit_name => 'Hábito Mensual';
|
|
|
|
@override
|
|
String get achievement_monthly_habit_desc =>
|
|
'Regístrate durante 30 días consecutivos';
|
|
|
|
@override
|
|
String get achievement_centurion_name => 'Centurión';
|
|
|
|
@override
|
|
String get achievement_centurion_desc =>
|
|
'Regístrate durante 100 días consecutivos';
|
|
|
|
@override
|
|
String get achievement_year_warrior_name => 'Guerrero del Año';
|
|
|
|
@override
|
|
String get achievement_year_warrior_desc =>
|
|
'Regístrate durante 365 días consecutivos';
|
|
|
|
@override
|
|
String get total => 'Total';
|
|
|
|
@override
|
|
String get status => 'Estado';
|
|
|
|
@override
|
|
String get pointsBreakdown => 'Desglose de Puntos';
|
|
|
|
@override
|
|
String get focusTimePoints => 'Tiempo de Enfoque';
|
|
|
|
@override
|
|
String get focusTimePointsDesc => '1 punto por minuto de enfoque';
|
|
|
|
@override
|
|
String get honestyBonusLabel => 'Bono de Honestidad';
|
|
|
|
@override
|
|
String get honestyBonusDesc => 'Puntos extra por registrar distracciones';
|
|
|
|
@override
|
|
String get checkInPoints => 'Registro Diario';
|
|
|
|
@override
|
|
String get checkInPointsDesc => 'Puntos base por primer registro del día';
|
|
|
|
@override
|
|
String get streakBonus => 'Bono de Racha';
|
|
|
|
@override
|
|
String streakBonusDesc(int days) {
|
|
return '$days registros consecutivos';
|
|
}
|
|
|
|
@override
|
|
String get achievementBonusLabel => 'Bono de Logro';
|
|
|
|
@override
|
|
String get weekdayS => 'D';
|
|
|
|
@override
|
|
String get weekdayM => 'L';
|
|
|
|
@override
|
|
String get weekdayT => 'M';
|
|
|
|
@override
|
|
String get weekdayW => 'X';
|
|
|
|
@override
|
|
String get weekdayTh => 'J';
|
|
|
|
@override
|
|
String get weekdayF => 'V';
|
|
|
|
@override
|
|
String get weekdaySa => 'S';
|
|
}
|