529 lines
13 KiB
Dart
529 lines
13 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 => 'Points';
|
|
|
|
@override
|
|
String get level => 'Level';
|
|
|
|
@override
|
|
String get checked => 'Checked';
|
|
|
|
@override
|
|
String get checkIn => 'Check In';
|
|
|
|
@override
|
|
String get earnedPoints => 'Earned:';
|
|
|
|
@override
|
|
String get basePoints => 'Base Points';
|
|
|
|
@override
|
|
String get honestyBonus => 'Honesty Bonus';
|
|
|
|
@override
|
|
String totalPoints(int count) {
|
|
return 'Total Points: $count ⚡';
|
|
}
|
|
|
|
@override
|
|
String distractionsRecorded(int count, Object distractionText) {
|
|
return '($count $distractionText recorded)';
|
|
}
|
|
|
|
@override
|
|
String get achievementUnlocked => '🎖️ Achievement Unlocked!';
|
|
|
|
@override
|
|
String bonusPoints(int points) {
|
|
return '+$points Points ⚡';
|
|
}
|
|
|
|
@override
|
|
String checkInSuccess(int points) {
|
|
return 'Check-in successful! +$points points ⚡';
|
|
}
|
|
|
|
@override
|
|
String get weeklyStreakBonus => '🎉 Weekly streak bonus!';
|
|
|
|
@override
|
|
String get newAchievementUnlocked => '🎖️ New achievement unlocked!';
|
|
|
|
@override
|
|
String get alreadyCheckedIn =>
|
|
'You have already checked in today! Come back tomorrow 📅';
|
|
|
|
@override
|
|
String get checkInCalendar => 'Check-In Calendar 📅';
|
|
|
|
@override
|
|
String get checkInToday => '📅 Check In Today';
|
|
|
|
@override
|
|
String get checkedInToday => '✓ Checked In Today';
|
|
|
|
@override
|
|
String get currentStreak => '🔥 Current Streak';
|
|
|
|
@override
|
|
String get longestStreak => '🏆 Longest Streak';
|
|
|
|
@override
|
|
String get days => 'days';
|
|
|
|
@override
|
|
String daysCount(int count) {
|
|
return '$count days';
|
|
}
|
|
|
|
@override
|
|
String get achievements => 'Achievements 🎖️';
|
|
|
|
@override
|
|
String get viewAllAchievements => 'View All Achievements';
|
|
|
|
@override
|
|
String get allAchievementsComingSoon =>
|
|
'Full achievements screen coming soon!';
|
|
|
|
@override
|
|
String get profile => 'Profile';
|
|
|
|
@override
|
|
String get focuser => 'Focuser';
|
|
|
|
@override
|
|
String pointsToNextLevel(int points, int level) {
|
|
return '$points points to Level $level';
|
|
}
|
|
|
|
@override
|
|
String get achievement_first_session_name => 'Focus Newbie';
|
|
|
|
@override
|
|
String get achievement_first_session_desc =>
|
|
'Complete your first focus session';
|
|
|
|
@override
|
|
String get achievement_sessions_10_name => 'Getting Started';
|
|
|
|
@override
|
|
String get achievement_sessions_10_desc => 'Complete 10 focus sessions';
|
|
|
|
@override
|
|
String get achievement_sessions_50_name => 'Focus Enthusiast';
|
|
|
|
@override
|
|
String get achievement_sessions_50_desc => 'Complete 50 focus sessions';
|
|
|
|
@override
|
|
String get achievement_sessions_100_name => 'Focus Master';
|
|
|
|
@override
|
|
String get achievement_sessions_100_desc => 'Complete 100 focus sessions';
|
|
|
|
@override
|
|
String get achievement_honest_bronze_name => 'Honest Tracker · Bronze';
|
|
|
|
@override
|
|
String get achievement_honest_bronze_desc =>
|
|
'Record 50 distractions honestly';
|
|
|
|
@override
|
|
String get achievement_honest_silver_name => 'Honest Tracker · Silver';
|
|
|
|
@override
|
|
String get achievement_honest_silver_desc =>
|
|
'Record 200 distractions honestly';
|
|
|
|
@override
|
|
String get achievement_honest_gold_name => 'Honest Tracker · Gold';
|
|
|
|
@override
|
|
String get achievement_honest_gold_desc => 'Record 500 distractions honestly';
|
|
|
|
@override
|
|
String get achievement_marathon_name => 'Marathon Runner';
|
|
|
|
@override
|
|
String get achievement_marathon_desc => 'Accumulate 10 hours of focus time';
|
|
|
|
@override
|
|
String get achievement_century_name => 'Century Club';
|
|
|
|
@override
|
|
String get achievement_century_desc => 'Accumulate 100 hours of focus time';
|
|
|
|
@override
|
|
String get achievement_master_name => 'Focus Grandmaster';
|
|
|
|
@override
|
|
String get achievement_master_desc => 'Accumulate 1000 hours of focus time';
|
|
|
|
@override
|
|
String get achievement_persistence_star_name => 'Persistence Star';
|
|
|
|
@override
|
|
String get achievement_persistence_star_desc =>
|
|
'Check in for 7 consecutive days';
|
|
|
|
@override
|
|
String get achievement_monthly_habit_name => 'Monthly Habit';
|
|
|
|
@override
|
|
String get achievement_monthly_habit_desc =>
|
|
'Check in for 30 consecutive days';
|
|
|
|
@override
|
|
String get achievement_centurion_name => 'Centurion';
|
|
|
|
@override
|
|
String get achievement_centurion_desc => 'Check in for 100 consecutive days';
|
|
|
|
@override
|
|
String get achievement_year_warrior_name => 'Year Warrior';
|
|
|
|
@override
|
|
String get achievement_year_warrior_desc =>
|
|
'Check in for 365 consecutive days';
|
|
}
|