529 lines
14 KiB
Dart
529 lines
14 KiB
Dart
// ignore: unused_import
|
|
import 'package:intl/intl.dart' as intl;
|
|
import 'app_localizations.dart';
|
|
|
|
// ignore_for_file: type=lint
|
|
|
|
/// The translations for French (`fr`).
|
|
class AppLocalizationsFr extends AppLocalizations {
|
|
AppLocalizationsFr([String locale = 'fr']) : super(locale);
|
|
|
|
@override
|
|
String get appTitle => 'FocusBuddy';
|
|
|
|
@override
|
|
String get startFocusing => 'Commencer à se concentrer';
|
|
|
|
@override
|
|
String minutes(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: 'minutes',
|
|
one: 'minute',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String minutesValue(int count, Object minutes) {
|
|
return '$count $minutes';
|
|
}
|
|
|
|
@override
|
|
String get tapDistractionAnytime =>
|
|
'Appuyez sur \'Je me suis distrait\'\nà tout moment\n—sans culpabilité';
|
|
|
|
@override
|
|
String get history => 'Historique';
|
|
|
|
@override
|
|
String get settings => 'Paramètres';
|
|
|
|
@override
|
|
String get iGotDistracted => 'Je me suis distrait';
|
|
|
|
@override
|
|
String get pause => 'Pause';
|
|
|
|
@override
|
|
String get resume => 'Reprendre';
|
|
|
|
@override
|
|
String get stopSession => 'Arrêter la session';
|
|
|
|
@override
|
|
String get whatPulledYouAway => 'Qu\'est-ce qui vous a distrait?';
|
|
|
|
@override
|
|
String get skipThisTime => 'Passer cette fois';
|
|
|
|
@override
|
|
String get stopEarly => 'Arrêter plus tôt?';
|
|
|
|
@override
|
|
String stopEarlyMessage(int minutes, Object minuteText) {
|
|
return 'C\'est tout à fait normal — vous vous êtes concentré pendant $minutes $minuteText!';
|
|
}
|
|
|
|
@override
|
|
String get keepGoing => 'Continuer';
|
|
|
|
@override
|
|
String get yesStop => 'Oui, arrêter';
|
|
|
|
@override
|
|
String get distractionEncouragement => 'Ça arrive. Revenons en douceur.';
|
|
|
|
@override
|
|
String get focusComplete => 'Session de concentration terminée!';
|
|
|
|
@override
|
|
String get youFocusedFor => 'Vous vous êtes concentré pendant';
|
|
|
|
@override
|
|
String totalToday(int minutes) {
|
|
return 'Total aujourd\'hui: $minutes min';
|
|
}
|
|
|
|
@override
|
|
String distractionsCount(int count, Object times) {
|
|
return 'Distractions: $count $times';
|
|
}
|
|
|
|
@override
|
|
String times(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: 'fois',
|
|
one: 'fois',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String get startAnother => 'Commencer une autre';
|
|
|
|
@override
|
|
String get viewHistory => 'Voir l\'historique';
|
|
|
|
@override
|
|
String get yourFocusJourney => 'Votre parcours de concentration';
|
|
|
|
@override
|
|
String get noFocusSessionsYet =>
|
|
'Aucune session de concentration pour le moment';
|
|
|
|
@override
|
|
String get startFirstSession =>
|
|
'Commencez votre première session\npour voir vos progrès ici!';
|
|
|
|
@override
|
|
String get today => 'Aujourd\'hui';
|
|
|
|
@override
|
|
String sessions(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: '$count sessions',
|
|
one: '$count session',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String get completed => 'Terminée';
|
|
|
|
@override
|
|
String get stoppedEarly => 'Arrêtée tôt';
|
|
|
|
@override
|
|
String distractions(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: 'distractions',
|
|
one: 'distraction',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String get focusSettings => 'Paramètres de concentration';
|
|
|
|
@override
|
|
String get defaultFocusDuration => 'Durée de concentration par défaut';
|
|
|
|
@override
|
|
String get defaultLabel => 'Par défaut';
|
|
|
|
@override
|
|
String get about => 'À propos';
|
|
|
|
@override
|
|
String get privacyPolicy => 'Politique de confidentialité';
|
|
|
|
@override
|
|
String get termsOfService => 'Conditions d\'utilisation';
|
|
|
|
@override
|
|
String get aboutFocusBuddy => 'À propos de FocusBuddy';
|
|
|
|
@override
|
|
String get resetOnboarding => 'Réinitialiser l\'introduction';
|
|
|
|
@override
|
|
String get version => 'Version 1.0.0 (MVP)';
|
|
|
|
@override
|
|
String get privacyPolicyTitle => 'Politique de confidentialité';
|
|
|
|
@override
|
|
String get privacyPolicyContent =>
|
|
'FocusBuddy fonctionne à 100% hors ligne. Nous ne collectons ni votre nom, ni votre e-mail, ni votre localisation, ni vos données d\'utilisation. Toutes les sessions restent sur votre appareil.\n\nIl n\'y a pas de synchronisation cloud, pas de système de compte et pas de suivi analytique.\n\nPour la politique de confidentialité complète, visitez:\nhttps://ytc1012.github.io/focusbuddy-site/privacy-policy.html';
|
|
|
|
@override
|
|
String get termsOfServiceTitle => 'Conditions d\'utilisation';
|
|
|
|
@override
|
|
String get termsOfServiceContent =>
|
|
'FocusBuddy est fourni \"tel quel\" sans garanties. En utilisant cette application, vous acceptez de l\'utiliser à vos propres risques.\n\nCette application est conçue comme un outil de minuteur de concentration et ne garantit pas de résultats spécifiques. Toutes les données sont stockées localement sur votre appareil.\n\nPour les conditions d\'utilisation complètes, visitez:\nhttps://ytc1012.github.io/focusbuddy-site/terms-of-service.html';
|
|
|
|
@override
|
|
String get close => 'Fermer';
|
|
|
|
@override
|
|
String get aboutTitle => 'À propos de FocusBuddy';
|
|
|
|
@override
|
|
String get aboutSubtitle =>
|
|
'Un minuteur de concentration doux pour les esprits neurodivergents';
|
|
|
|
@override
|
|
String get aboutQuote =>
|
|
'\"La concentration ne consiste pas à ne jamais être distrait — c\'est revenir doucement à chaque fois.\"';
|
|
|
|
@override
|
|
String get aboutFeatures =>
|
|
'✨ Aucune punition pour les distractions\n💚 Encouragement plutôt que critique\n🔒 100% hors ligne et privé\n🌱 Fait avec soin';
|
|
|
|
@override
|
|
String get resetOnboardingTitle => 'Réinitialiser l\'introduction?';
|
|
|
|
@override
|
|
String get resetOnboardingMessage =>
|
|
'Cela affichera à nouveau les écrans d\'introduction lorsque vous redémarrerez l\'application.';
|
|
|
|
@override
|
|
String get cancel => 'Annuler';
|
|
|
|
@override
|
|
String get reset => 'Réinitialiser';
|
|
|
|
@override
|
|
String get onboardingReset =>
|
|
'Introduction réinitialisée. Redémarrez l\'application pour la revoir.';
|
|
|
|
@override
|
|
String get onboarding1Title => 'Concentrez-vous sans culpabilité';
|
|
|
|
@override
|
|
String get onboarding1Description =>
|
|
'Cette application est différente — elle ne vous punira pas pour avoir perdu votre concentration.\n\nParfaite pour le TDAH, l\'anxiété ou quiconque trouve les minuteurs traditionnels trop sévères.';
|
|
|
|
@override
|
|
String get onboarding2Title => 'Appuyez quand vous êtes distrait';
|
|
|
|
@override
|
|
String get onboarding2Description =>
|
|
'Nous vous rappellerons doucement de revenir.\n\nPas de honte. Pas de stress. Juste un rappel amical.';
|
|
|
|
@override
|
|
String get onboarding3Title => 'Suivez vos progrès';
|
|
|
|
@override
|
|
String get onboarding3Description =>
|
|
'Voyez comment vous vous améliorez, une session à la fois.\n\nChaque distraction n\'est qu\'une donnée — pas un échec.';
|
|
|
|
@override
|
|
String get skip => 'Passer';
|
|
|
|
@override
|
|
String get next => 'Suivant';
|
|
|
|
@override
|
|
String get getStarted => 'Commencer';
|
|
|
|
@override
|
|
String get notificationFocusInProgress => 'Session de concentration en cours';
|
|
|
|
@override
|
|
String notificationRemaining(String time) {
|
|
return '$time restant';
|
|
}
|
|
|
|
@override
|
|
String get notificationFocusCompleteTitle =>
|
|
'🎉 Session de concentration terminée!';
|
|
|
|
@override
|
|
String notificationFocusCompleteBodyNoDistractions(
|
|
int minutes,
|
|
Object minuteText,
|
|
) {
|
|
return 'Vous vous êtes concentré pendant $minutes $minuteText sans distractions!';
|
|
}
|
|
|
|
@override
|
|
String notificationFocusCompleteBody(int minutes, Object minuteText) {
|
|
return 'Vous vous êtes concentré pendant $minutes $minuteText. Super effort!';
|
|
}
|
|
|
|
@override
|
|
String get distractionPhoneNotification => 'Téléphone / Notification';
|
|
|
|
@override
|
|
String get distractionSocialMedia => 'Réseaux sociaux';
|
|
|
|
@override
|
|
String get distractionThoughts => 'Pensées / Rêverie';
|
|
|
|
@override
|
|
String get distractionOther => 'Autre';
|
|
|
|
@override
|
|
String get language => 'Langue';
|
|
|
|
@override
|
|
String get selectLanguage => 'Sélectionner la langue';
|
|
|
|
@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';
|
|
}
|