598 lines
15 KiB
Dart
598 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 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 => 'Niveau';
|
|
|
|
@override
|
|
String get checked => 'Vérifié';
|
|
|
|
@override
|
|
String get checkIn => 'S\'enregistrer';
|
|
|
|
@override
|
|
String get earnedPoints => 'Gagné:';
|
|
|
|
@override
|
|
String get basePoints => 'Points de base';
|
|
|
|
@override
|
|
String get honestyBonus => 'Bonus d\'honnêteté';
|
|
|
|
@override
|
|
String totalPoints(int count) {
|
|
return 'Total des points: $count ⚡';
|
|
}
|
|
|
|
@override
|
|
String distractionsRecorded(int count, Object distractionText) {
|
|
return '($count $distractionText enregistrées)';
|
|
}
|
|
|
|
@override
|
|
String get achievementUnlocked => '🎖️ Succès débloqué!';
|
|
|
|
@override
|
|
String bonusPoints(int points) {
|
|
return '+$points Points ⚡';
|
|
}
|
|
|
|
@override
|
|
String checkInSuccess(int points) {
|
|
return 'Enregistrement réussi! +$points points ⚡';
|
|
}
|
|
|
|
@override
|
|
String get weeklyStreakBonus => '🎉 Bonus de série hebdomadaire!';
|
|
|
|
@override
|
|
String get newAchievementUnlocked => '🎖️ Nouveau succès débloqué!';
|
|
|
|
@override
|
|
String get alreadyCheckedIn =>
|
|
'Vous vous êtes déjà enregistré aujourd\'hui! Revenez demain 📅';
|
|
|
|
@override
|
|
String get checkInCalendar => 'Calendrier d\'enregistrement 📅';
|
|
|
|
@override
|
|
String get checkInToday => '📅 S\'enregistrer aujourd\'hui';
|
|
|
|
@override
|
|
String get checkedInToday => '✓ Enregistré aujourd\'hui';
|
|
|
|
@override
|
|
String get currentStreak => '🔥 Série actuelle';
|
|
|
|
@override
|
|
String get longestStreak => '🏆 Plus longue série';
|
|
|
|
@override
|
|
String get days => 'jours';
|
|
|
|
@override
|
|
String daysCount(int count) {
|
|
return '$count jours';
|
|
}
|
|
|
|
@override
|
|
String get achievements => 'Succès 🎖️';
|
|
|
|
@override
|
|
String get viewAllAchievements => 'Voir tous les succès';
|
|
|
|
@override
|
|
String get allAchievementsComingSoon =>
|
|
'Écran complet des succès bientôt disponible!';
|
|
|
|
@override
|
|
String get profile => 'Profil';
|
|
|
|
@override
|
|
String get focuser => 'Concentrateur';
|
|
|
|
@override
|
|
String pointsToNextLevel(int points, int level) {
|
|
return '$points points jusqu\'au niveau $level';
|
|
}
|
|
|
|
@override
|
|
String get achievement_first_session_name => 'Débutant en concentration';
|
|
|
|
@override
|
|
String get achievement_first_session_desc =>
|
|
'Complétez votre première session de concentration';
|
|
|
|
@override
|
|
String get achievement_sessions_10_name => 'Premiers pas';
|
|
|
|
@override
|
|
String get achievement_sessions_10_desc =>
|
|
'Complétez 10 sessions de concentration';
|
|
|
|
@override
|
|
String get achievement_sessions_50_name => 'Passionné de concentration';
|
|
|
|
@override
|
|
String get achievement_sessions_50_desc =>
|
|
'Complétez 50 sessions de concentration';
|
|
|
|
@override
|
|
String get achievement_sessions_100_name => 'Maître de la concentration';
|
|
|
|
@override
|
|
String get achievement_sessions_100_desc =>
|
|
'Complétez 100 sessions de concentration';
|
|
|
|
@override
|
|
String get achievement_honest_bronze_name => 'Tracker honnête · Bronze';
|
|
|
|
@override
|
|
String get achievement_honest_bronze_desc =>
|
|
'Enregistrez 50 distractions honnêtement';
|
|
|
|
@override
|
|
String get achievement_honest_silver_name => 'Tracker honnête · Argent';
|
|
|
|
@override
|
|
String get achievement_honest_silver_desc =>
|
|
'Enregistrez 200 distractions honnêtement';
|
|
|
|
@override
|
|
String get achievement_honest_gold_name => 'Tracker honnête · Or';
|
|
|
|
@override
|
|
String get achievement_honest_gold_desc =>
|
|
'Enregistrez 500 distractions honnêtement';
|
|
|
|
@override
|
|
String get achievement_marathon_name => 'Coureur de marathon';
|
|
|
|
@override
|
|
String get achievement_marathon_desc =>
|
|
'Accumulez 10 heures de temps de concentration';
|
|
|
|
@override
|
|
String get achievement_century_name => 'Club du siècle';
|
|
|
|
@override
|
|
String get achievement_century_desc =>
|
|
'Accumulez 100 heures de temps de concentration';
|
|
|
|
@override
|
|
String get achievement_master_name => 'Grand maître de la concentration';
|
|
|
|
@override
|
|
String get achievement_master_desc =>
|
|
'Accumulez 1000 heures de temps de concentration';
|
|
|
|
@override
|
|
String get achievement_persistence_star_name => 'Étoile de la persévérance';
|
|
|
|
@override
|
|
String get achievement_persistence_star_desc =>
|
|
'Enregistrez-vous pendant 7 jours consécutifs';
|
|
|
|
@override
|
|
String get achievement_monthly_habit_name => 'Habitude mensuelle';
|
|
|
|
@override
|
|
String get achievement_monthly_habit_desc =>
|
|
'Enregistrez-vous pendant 30 jours consécutifs';
|
|
|
|
@override
|
|
String get achievement_centurion_name => 'Centurion';
|
|
|
|
@override
|
|
String get achievement_centurion_desc =>
|
|
'Enregistrez-vous pendant 100 jours consécutifs';
|
|
|
|
@override
|
|
String get achievement_year_warrior_name => 'Guerrier de l\'année';
|
|
|
|
@override
|
|
String get achievement_year_warrior_desc =>
|
|
'Enregistrez-vous pendant 365 jours consécutifs';
|
|
|
|
@override
|
|
String get total => 'Total';
|
|
|
|
@override
|
|
String get status => 'Statut';
|
|
|
|
@override
|
|
String get pointsBreakdown => 'Répartition des points';
|
|
|
|
@override
|
|
String get focusTimePoints => 'Temps de concentration';
|
|
|
|
@override
|
|
String get focusTimePointsDesc => '1 point par minute de concentration';
|
|
|
|
@override
|
|
String get honestyBonusLabel => 'Bonus d\'honnêteté';
|
|
|
|
@override
|
|
String get honestyBonusDesc =>
|
|
'Points supplémentaires pour l\'enregistrement des distractions';
|
|
|
|
@override
|
|
String get checkInPoints => 'Enregistrement quotidien';
|
|
|
|
@override
|
|
String get checkInPointsDesc =>
|
|
'Points de base pour l\'enregistrement quotidien';
|
|
|
|
@override
|
|
String get streakBonus => 'Bonus de série';
|
|
|
|
@override
|
|
String streakBonusDesc(int days) {
|
|
return '$days enregistrements consécutifs';
|
|
}
|
|
|
|
@override
|
|
String get achievementBonusLabel => 'Bonus de succès';
|
|
|
|
@override
|
|
String get weekdayS => 'D';
|
|
|
|
@override
|
|
String get weekdayM => 'L';
|
|
|
|
@override
|
|
String get weekdayT => 'M';
|
|
|
|
@override
|
|
String get weekdayW => 'M';
|
|
|
|
@override
|
|
String get weekdayTh => 'J';
|
|
|
|
@override
|
|
String get weekdayF => 'V';
|
|
|
|
@override
|
|
String get weekdaySa => 'S';
|
|
}
|