528 lines
13 KiB
Dart
528 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 German (`de`).
|
|
class AppLocalizationsDe extends AppLocalizations {
|
|
AppLocalizationsDe([String locale = 'de']) : super(locale);
|
|
|
|
@override
|
|
String get appTitle => 'FocusBuddy';
|
|
|
|
@override
|
|
String get startFocusing => 'Fokus starten';
|
|
|
|
@override
|
|
String minutes(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: 'Minuten',
|
|
one: 'Minute',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String minutesValue(int count, Object minutes) {
|
|
return '$count $minutes';
|
|
}
|
|
|
|
@override
|
|
String get tapDistractionAnytime =>
|
|
'Tippe jederzeit auf\n\'Ich wurde abgelenkt\'\n—ohne Schuldgefühle';
|
|
|
|
@override
|
|
String get history => 'Verlauf';
|
|
|
|
@override
|
|
String get settings => 'Einstellungen';
|
|
|
|
@override
|
|
String get iGotDistracted => 'Ich wurde abgelenkt';
|
|
|
|
@override
|
|
String get pause => 'Pausieren';
|
|
|
|
@override
|
|
String get resume => 'Fortsetzen';
|
|
|
|
@override
|
|
String get stopSession => 'Sitzung beenden';
|
|
|
|
@override
|
|
String get whatPulledYouAway => 'Was hat dich abgelenkt?';
|
|
|
|
@override
|
|
String get skipThisTime => 'Diesmal überspringen';
|
|
|
|
@override
|
|
String get stopEarly => 'Vorzeitig beenden?';
|
|
|
|
@override
|
|
String stopEarlyMessage(int minutes, Object minuteText) {
|
|
return 'Das ist völlig in Ordnung — du hast dich $minutes $minuteText konzentriert!';
|
|
}
|
|
|
|
@override
|
|
String get keepGoing => 'Weitermachen';
|
|
|
|
@override
|
|
String get yesStop => 'Ja, beenden';
|
|
|
|
@override
|
|
String get distractionEncouragement =>
|
|
'Das passiert. Lass uns sanft zurückkommen.';
|
|
|
|
@override
|
|
String get focusComplete => 'Fokussitzung abgeschlossen!';
|
|
|
|
@override
|
|
String get youFocusedFor => 'Du hast dich konzentriert für';
|
|
|
|
@override
|
|
String totalToday(int minutes) {
|
|
return 'Heute insgesamt: $minutes Min';
|
|
}
|
|
|
|
@override
|
|
String distractionsCount(int count, Object times) {
|
|
return 'Ablenkungen: $count $times';
|
|
}
|
|
|
|
@override
|
|
String times(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: 'Mal',
|
|
one: 'Mal',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String get startAnother => 'Noch eine starten';
|
|
|
|
@override
|
|
String get viewHistory => 'Verlauf anzeigen';
|
|
|
|
@override
|
|
String get yourFocusJourney => 'Deine Fokus-Reise';
|
|
|
|
@override
|
|
String get noFocusSessionsYet => 'Noch keine Fokussitzungen';
|
|
|
|
@override
|
|
String get startFirstSession =>
|
|
'Starte deine erste Sitzung,\num deinen Fortschritt hier zu sehen!';
|
|
|
|
@override
|
|
String get today => 'Heute';
|
|
|
|
@override
|
|
String sessions(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: '$count Sitzungen',
|
|
one: '$count Sitzung',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String get completed => 'Abgeschlossen';
|
|
|
|
@override
|
|
String get stoppedEarly => 'Vorzeitig beendet';
|
|
|
|
@override
|
|
String distractions(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: 'Ablenkungen',
|
|
one: 'Ablenkung',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String get focusSettings => 'Fokus-Einstellungen';
|
|
|
|
@override
|
|
String get defaultFocusDuration => 'Standard-Fokusdauer';
|
|
|
|
@override
|
|
String get defaultLabel => 'Standard';
|
|
|
|
@override
|
|
String get about => 'Über';
|
|
|
|
@override
|
|
String get privacyPolicy => 'Datenschutzrichtlinie';
|
|
|
|
@override
|
|
String get termsOfService => 'Nutzungsbedingungen';
|
|
|
|
@override
|
|
String get aboutFocusBuddy => 'Über FocusBuddy';
|
|
|
|
@override
|
|
String get resetOnboarding => 'Einführung zurücksetzen';
|
|
|
|
@override
|
|
String get version => 'Version 1.0.0 (MVP)';
|
|
|
|
@override
|
|
String get privacyPolicyTitle => 'Datenschutzrichtlinie';
|
|
|
|
@override
|
|
String get privacyPolicyContent =>
|
|
'FocusBuddy funktioniert zu 100% offline. Wir sammeln weder deinen Namen, E-Mail, Standort noch Nutzungsdaten. Alle Sitzungen bleiben auf deinem Gerät.\n\nEs gibt keine Cloud-Synchronisation, kein Kontosystem und keine Analyse-Verfolgung.\n\nFür die vollständige Datenschutzrichtlinie besuche:\nhttps://ytc1012.github.io/focusbuddy-site/privacy-policy.html';
|
|
|
|
@override
|
|
String get termsOfServiceTitle => 'Nutzungsbedingungen';
|
|
|
|
@override
|
|
String get termsOfServiceContent =>
|
|
'FocusBuddy wird \"wie besehen\" ohne Garantien bereitgestellt. Durch die Nutzung dieser App erklärst du dich damit einverstanden, sie auf eigenes Risiko zu verwenden.\n\nDiese App ist als Fokus-Timer-Tool konzipiert und garantiert keine spezifischen Ergebnisse. Alle Daten werden lokal auf deinem Gerät gespeichert.\n\nFür die vollständigen Nutzungsbedingungen besuche:\nhttps://ytc1012.github.io/focusbuddy-site/terms-of-service.html';
|
|
|
|
@override
|
|
String get close => 'Schließen';
|
|
|
|
@override
|
|
String get aboutTitle => 'Über FocusBuddy';
|
|
|
|
@override
|
|
String get aboutSubtitle =>
|
|
'Ein sanfter Fokus-Timer für neurodivergente Köpfe';
|
|
|
|
@override
|
|
String get aboutQuote =>
|
|
'\"Fokus bedeutet nicht, niemals abgelenkt zu werden — sondern jedes Mal sanft zurückzukommen.\"';
|
|
|
|
@override
|
|
String get aboutFeatures =>
|
|
'✨ Keine Bestrafung für Ablenkungen\n💚 Ermutigung statt Kritik\n🔒 100% offline und privat\n🌱 Mit Sorgfalt gemacht';
|
|
|
|
@override
|
|
String get resetOnboardingTitle => 'Einführung zurücksetzen?';
|
|
|
|
@override
|
|
String get resetOnboardingMessage =>
|
|
'Dies zeigt die Einführungsbildschirme erneut an, wenn du die App neu startest.';
|
|
|
|
@override
|
|
String get cancel => 'Abbrechen';
|
|
|
|
@override
|
|
String get reset => 'Zurücksetzen';
|
|
|
|
@override
|
|
String get onboardingReset =>
|
|
'Einführung zurückgesetzt. Starte die App neu, um sie erneut zu sehen.';
|
|
|
|
@override
|
|
String get onboarding1Title => 'Fokus ohne Schuldgefühle';
|
|
|
|
@override
|
|
String get onboarding1Description =>
|
|
'Diese App ist anders — sie bestraft dich nicht für Ablenkungen.\n\nPerfekt für ADHS, Angst oder jeden, der traditionelle Timer zu hart findet.';
|
|
|
|
@override
|
|
String get onboarding2Title => 'Tippe, wenn du abgelenkt wirst';
|
|
|
|
@override
|
|
String get onboarding2Description =>
|
|
'Wir erinnern dich sanft daran, zurückzukommen.\n\nKeine Scham. Kein Stress. Nur eine freundliche Erinnerung.';
|
|
|
|
@override
|
|
String get onboarding3Title => 'Verfolge deinen Fortschritt';
|
|
|
|
@override
|
|
String get onboarding3Description =>
|
|
'Sieh, wie du dich von Sitzung zu Sitzung verbesserst.\n\nJede Ablenkung ist nur ein Datenpunkt — kein Versagen.';
|
|
|
|
@override
|
|
String get skip => 'Überspringen';
|
|
|
|
@override
|
|
String get next => 'Weiter';
|
|
|
|
@override
|
|
String get getStarted => 'Los geht\'s';
|
|
|
|
@override
|
|
String get notificationFocusInProgress => 'Fokussitzung läuft';
|
|
|
|
@override
|
|
String notificationRemaining(String time) {
|
|
return '$time verbleibend';
|
|
}
|
|
|
|
@override
|
|
String get notificationFocusCompleteTitle => '🎉 Fokussitzung abgeschlossen!';
|
|
|
|
@override
|
|
String notificationFocusCompleteBodyNoDistractions(
|
|
int minutes,
|
|
Object minuteText,
|
|
) {
|
|
return 'Du hast dich $minutes $minuteText ohne Ablenkungen konzentriert!';
|
|
}
|
|
|
|
@override
|
|
String notificationFocusCompleteBody(int minutes, Object minuteText) {
|
|
return 'Du hast dich $minutes $minuteText konzentriert. Tolle Leistung!';
|
|
}
|
|
|
|
@override
|
|
String get distractionPhoneNotification => 'Handy / Benachrichtigung';
|
|
|
|
@override
|
|
String get distractionSocialMedia => 'Soziale Medien';
|
|
|
|
@override
|
|
String get distractionThoughts => 'Gedanken / Tagträumen';
|
|
|
|
@override
|
|
String get distractionOther => 'Anderes';
|
|
|
|
@override
|
|
String get language => 'Sprache';
|
|
|
|
@override
|
|
String get selectLanguage => 'Sprache auswählen';
|
|
|
|
@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';
|
|
}
|