多语言支持

This commit is contained in:
ytc1012
2025-11-24 14:01:01 +08:00
parent bf21dba275
commit 57ef852863
32 changed files with 5255 additions and 36 deletions

View File

@@ -0,0 +1,330 @@
// 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 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:\n[URL de votre site web]/privacy';
@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 => 'العربية';
}