积分、成就系统
This commit is contained in:
@@ -231,5 +231,305 @@
|
||||
"hindi": "हिन्दी (Hindi)",
|
||||
"indonesian": "Bahasa Indonesia (Indonesian)",
|
||||
"italian": "Italiano (Italian)",
|
||||
"arabic": "العربية (Arabic)"
|
||||
"arabic": "العربية (Arabic)",
|
||||
|
||||
"points": "Points",
|
||||
"@points": {
|
||||
"description": "Points label"
|
||||
},
|
||||
|
||||
"level": "Level",
|
||||
"@level": {
|
||||
"description": "Level label"
|
||||
},
|
||||
|
||||
"checked": "Checked",
|
||||
"@checked": {
|
||||
"description": "Already checked in today"
|
||||
},
|
||||
|
||||
"checkIn": "Check In",
|
||||
"@checkIn": {
|
||||
"description": "Check in button text"
|
||||
},
|
||||
|
||||
"earnedPoints": "Earned:",
|
||||
"@earnedPoints": {
|
||||
"description": "Points earned label on complete screen"
|
||||
},
|
||||
|
||||
"basePoints": "Base Points",
|
||||
"@basePoints": {
|
||||
"description": "Base points from focus time"
|
||||
},
|
||||
|
||||
"honestyBonus": "Honesty Bonus",
|
||||
"@honestyBonus": {
|
||||
"description": "Bonus points for recording distractions"
|
||||
},
|
||||
|
||||
"totalPoints": "Total Points: {count} ⚡",
|
||||
"@totalPoints": {
|
||||
"description": "Total accumulated points",
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"distractionsRecorded": "({count} {distractionText} recorded)",
|
||||
"@distractionsRecorded": {
|
||||
"description": "Number of distractions recorded",
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"type": "int"
|
||||
},
|
||||
"distractionText": {}
|
||||
}
|
||||
},
|
||||
|
||||
"achievementUnlocked": "🎖️ Achievement Unlocked!",
|
||||
"@achievementUnlocked": {
|
||||
"description": "Achievement unlocked title"
|
||||
},
|
||||
|
||||
"bonusPoints": "+{points} Points ⚡",
|
||||
"@bonusPoints": {
|
||||
"description": "Bonus points awarded",
|
||||
"placeholders": {
|
||||
"points": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"checkInSuccess": "Check-in successful! +{points} points ⚡",
|
||||
"@checkInSuccess": {
|
||||
"description": "Check-in success message",
|
||||
"placeholders": {
|
||||
"points": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"weeklyStreakBonus": "🎉 Weekly streak bonus!",
|
||||
"@weeklyStreakBonus": {
|
||||
"description": "Weekly streak bonus message"
|
||||
},
|
||||
|
||||
"newAchievementUnlocked": "🎖️ New achievement unlocked!",
|
||||
"@newAchievementUnlocked": {
|
||||
"description": "New achievement unlocked message"
|
||||
},
|
||||
|
||||
"alreadyCheckedIn": "You have already checked in today! Come back tomorrow 📅",
|
||||
"@alreadyCheckedIn": {
|
||||
"description": "Already checked in message"
|
||||
},
|
||||
|
||||
"checkInCalendar": "Check-In Calendar 📅",
|
||||
"@checkInCalendar": {
|
||||
"description": "Check-in calendar section title"
|
||||
},
|
||||
|
||||
"checkInToday": "📅 Check In Today",
|
||||
"@checkInToday": {
|
||||
"description": "Check in today button"
|
||||
},
|
||||
|
||||
"checkedInToday": "✓ Checked In Today",
|
||||
"@checkedInToday": {
|
||||
"description": "Already checked in today status"
|
||||
},
|
||||
|
||||
"currentStreak": "🔥 Current Streak",
|
||||
"@currentStreak": {
|
||||
"description": "Current check-in streak label"
|
||||
},
|
||||
|
||||
"longestStreak": "🏆 Longest Streak",
|
||||
"@longestStreak": {
|
||||
"description": "Longest check-in streak label"
|
||||
},
|
||||
|
||||
"days": "days",
|
||||
"@days": {
|
||||
"description": "Days label"
|
||||
},
|
||||
|
||||
"daysCount": "{count} days",
|
||||
"@daysCount": {
|
||||
"description": "Days with count",
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"achievements": "Achievements 🎖️",
|
||||
"@achievements": {
|
||||
"description": "Achievements section title"
|
||||
},
|
||||
|
||||
"viewAllAchievements": "View All Achievements",
|
||||
"@viewAllAchievements": {
|
||||
"description": "View all achievements button"
|
||||
},
|
||||
|
||||
"allAchievementsComingSoon": "Full achievements screen coming soon!",
|
||||
"@allAchievementsComingSoon": {
|
||||
"description": "Coming soon message for full achievements screen"
|
||||
},
|
||||
|
||||
"profile": "Profile",
|
||||
"@profile": {
|
||||
"description": "Profile screen title"
|
||||
},
|
||||
|
||||
"focuser": "Focuser",
|
||||
"@focuser": {
|
||||
"description": "Default user name"
|
||||
},
|
||||
|
||||
"pointsToNextLevel": "{points} points to Level {level}",
|
||||
"@pointsToNextLevel": {
|
||||
"description": "Points needed to reach next level",
|
||||
"placeholders": {
|
||||
"points": {
|
||||
"type": "int"
|
||||
},
|
||||
"level": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"achievement_first_session_name": "Focus Newbie",
|
||||
"@achievement_first_session_name": {
|
||||
"description": "First session achievement name"
|
||||
},
|
||||
"achievement_first_session_desc": "Complete your first focus session",
|
||||
"@achievement_first_session_desc": {
|
||||
"description": "First session achievement description"
|
||||
},
|
||||
|
||||
"achievement_sessions_10_name": "Getting Started",
|
||||
"@achievement_sessions_10_name": {
|
||||
"description": "10 sessions achievement name"
|
||||
},
|
||||
"achievement_sessions_10_desc": "Complete 10 focus sessions",
|
||||
"@achievement_sessions_10_desc": {
|
||||
"description": "10 sessions achievement description"
|
||||
},
|
||||
|
||||
"achievement_sessions_50_name": "Focus Enthusiast",
|
||||
"@achievement_sessions_50_name": {
|
||||
"description": "50 sessions achievement name"
|
||||
},
|
||||
"achievement_sessions_50_desc": "Complete 50 focus sessions",
|
||||
"@achievement_sessions_50_desc": {
|
||||
"description": "50 sessions achievement description"
|
||||
},
|
||||
|
||||
"achievement_sessions_100_name": "Focus Master",
|
||||
"@achievement_sessions_100_name": {
|
||||
"description": "100 sessions achievement name"
|
||||
},
|
||||
"achievement_sessions_100_desc": "Complete 100 focus sessions",
|
||||
"@achievement_sessions_100_desc": {
|
||||
"description": "100 sessions achievement description"
|
||||
},
|
||||
|
||||
"achievement_honest_bronze_name": "Honest Tracker · Bronze",
|
||||
"@achievement_honest_bronze_name": {
|
||||
"description": "50 distractions achievement name"
|
||||
},
|
||||
"achievement_honest_bronze_desc": "Record 50 distractions honestly",
|
||||
"@achievement_honest_bronze_desc": {
|
||||
"description": "50 distractions achievement description"
|
||||
},
|
||||
|
||||
"achievement_honest_silver_name": "Honest Tracker · Silver",
|
||||
"@achievement_honest_silver_name": {
|
||||
"description": "200 distractions achievement name"
|
||||
},
|
||||
"achievement_honest_silver_desc": "Record 200 distractions honestly",
|
||||
"@achievement_honest_silver_desc": {
|
||||
"description": "200 distractions achievement description"
|
||||
},
|
||||
|
||||
"achievement_honest_gold_name": "Honest Tracker · Gold",
|
||||
"@achievement_honest_gold_name": {
|
||||
"description": "500 distractions achievement name"
|
||||
},
|
||||
"achievement_honest_gold_desc": "Record 500 distractions honestly",
|
||||
"@achievement_honest_gold_desc": {
|
||||
"description": "500 distractions achievement description"
|
||||
},
|
||||
|
||||
"achievement_marathon_name": "Marathon Runner",
|
||||
"@achievement_marathon_name": {
|
||||
"description": "10 hours achievement name"
|
||||
},
|
||||
"achievement_marathon_desc": "Accumulate 10 hours of focus time",
|
||||
"@achievement_marathon_desc": {
|
||||
"description": "10 hours achievement description"
|
||||
},
|
||||
|
||||
"achievement_century_name": "Century Club",
|
||||
"@achievement_century_name": {
|
||||
"description": "100 hours achievement name"
|
||||
},
|
||||
"achievement_century_desc": "Accumulate 100 hours of focus time",
|
||||
"@achievement_century_desc": {
|
||||
"description": "100 hours achievement description"
|
||||
},
|
||||
|
||||
"achievement_master_name": "Focus Grandmaster",
|
||||
"@achievement_master_name": {
|
||||
"description": "1000 hours achievement name"
|
||||
},
|
||||
"achievement_master_desc": "Accumulate 1000 hours of focus time",
|
||||
"@achievement_master_desc": {
|
||||
"description": "1000 hours achievement description"
|
||||
},
|
||||
|
||||
"achievement_persistence_star_name": "Persistence Star",
|
||||
"@achievement_persistence_star_name": {
|
||||
"description": "7 day streak achievement name"
|
||||
},
|
||||
"achievement_persistence_star_desc": "Check in for 7 consecutive days",
|
||||
"@achievement_persistence_star_desc": {
|
||||
"description": "7 day streak achievement description"
|
||||
},
|
||||
|
||||
"achievement_monthly_habit_name": "Monthly Habit",
|
||||
"@achievement_monthly_habit_name": {
|
||||
"description": "30 day streak achievement name"
|
||||
},
|
||||
"achievement_monthly_habit_desc": "Check in for 30 consecutive days",
|
||||
"@achievement_monthly_habit_desc": {
|
||||
"description": "30 day streak achievement description"
|
||||
},
|
||||
|
||||
"achievement_centurion_name": "Centurion",
|
||||
"@achievement_centurion_name": {
|
||||
"description": "100 day streak achievement name"
|
||||
},
|
||||
"achievement_centurion_desc": "Check in for 100 consecutive days",
|
||||
"@achievement_centurion_desc": {
|
||||
"description": "100 day streak achievement description"
|
||||
},
|
||||
|
||||
"achievement_year_warrior_name": "Year Warrior",
|
||||
"@achievement_year_warrior_name": {
|
||||
"description": "365 day streak achievement name"
|
||||
},
|
||||
"achievement_year_warrior_desc": "Check in for 365 consecutive days",
|
||||
"@achievement_year_warrior_desc": {
|
||||
"description": "365 day streak achievement description"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -656,6 +656,342 @@ abstract class AppLocalizations {
|
||||
/// In en, this message translates to:
|
||||
/// **'العربية (Arabic)'**
|
||||
String get arabic;
|
||||
|
||||
/// Points label
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Points'**
|
||||
String get points;
|
||||
|
||||
/// Level label
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Level'**
|
||||
String get level;
|
||||
|
||||
/// Already checked in today
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Checked'**
|
||||
String get checked;
|
||||
|
||||
/// Check in button text
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Check In'**
|
||||
String get checkIn;
|
||||
|
||||
/// Points earned label on complete screen
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Earned:'**
|
||||
String get earnedPoints;
|
||||
|
||||
/// Base points from focus time
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Base Points'**
|
||||
String get basePoints;
|
||||
|
||||
/// Bonus points for recording distractions
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Honesty Bonus'**
|
||||
String get honestyBonus;
|
||||
|
||||
/// Total accumulated points
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Total Points: {count} ⚡'**
|
||||
String totalPoints(int count);
|
||||
|
||||
/// Number of distractions recorded
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'({count} {distractionText} recorded)'**
|
||||
String distractionsRecorded(int count, Object distractionText);
|
||||
|
||||
/// Achievement unlocked title
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'🎖️ Achievement Unlocked!'**
|
||||
String get achievementUnlocked;
|
||||
|
||||
/// Bonus points awarded
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'+{points} Points ⚡'**
|
||||
String bonusPoints(int points);
|
||||
|
||||
/// Check-in success message
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Check-in successful! +{points} points ⚡'**
|
||||
String checkInSuccess(int points);
|
||||
|
||||
/// Weekly streak bonus message
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'🎉 Weekly streak bonus!'**
|
||||
String get weeklyStreakBonus;
|
||||
|
||||
/// New achievement unlocked message
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'🎖️ New achievement unlocked!'**
|
||||
String get newAchievementUnlocked;
|
||||
|
||||
/// Already checked in message
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'You have already checked in today! Come back tomorrow 📅'**
|
||||
String get alreadyCheckedIn;
|
||||
|
||||
/// Check-in calendar section title
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Check-In Calendar 📅'**
|
||||
String get checkInCalendar;
|
||||
|
||||
/// Check in today button
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'📅 Check In Today'**
|
||||
String get checkInToday;
|
||||
|
||||
/// Already checked in today status
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'✓ Checked In Today'**
|
||||
String get checkedInToday;
|
||||
|
||||
/// Current check-in streak label
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'🔥 Current Streak'**
|
||||
String get currentStreak;
|
||||
|
||||
/// Longest check-in streak label
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'🏆 Longest Streak'**
|
||||
String get longestStreak;
|
||||
|
||||
/// Days label
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'days'**
|
||||
String get days;
|
||||
|
||||
/// Days with count
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{count} days'**
|
||||
String daysCount(int count);
|
||||
|
||||
/// Achievements section title
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Achievements 🎖️'**
|
||||
String get achievements;
|
||||
|
||||
/// View all achievements button
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'View All Achievements'**
|
||||
String get viewAllAchievements;
|
||||
|
||||
/// Coming soon message for full achievements screen
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Full achievements screen coming soon!'**
|
||||
String get allAchievementsComingSoon;
|
||||
|
||||
/// Profile screen title
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Profile'**
|
||||
String get profile;
|
||||
|
||||
/// Default user name
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Focuser'**
|
||||
String get focuser;
|
||||
|
||||
/// Points needed to reach next level
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{points} points to Level {level}'**
|
||||
String pointsToNextLevel(int points, int level);
|
||||
|
||||
/// First session achievement name
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Focus Newbie'**
|
||||
String get achievement_first_session_name;
|
||||
|
||||
/// First session achievement description
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Complete your first focus session'**
|
||||
String get achievement_first_session_desc;
|
||||
|
||||
/// 10 sessions achievement name
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Getting Started'**
|
||||
String get achievement_sessions_10_name;
|
||||
|
||||
/// 10 sessions achievement description
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Complete 10 focus sessions'**
|
||||
String get achievement_sessions_10_desc;
|
||||
|
||||
/// 50 sessions achievement name
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Focus Enthusiast'**
|
||||
String get achievement_sessions_50_name;
|
||||
|
||||
/// 50 sessions achievement description
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Complete 50 focus sessions'**
|
||||
String get achievement_sessions_50_desc;
|
||||
|
||||
/// 100 sessions achievement name
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Focus Master'**
|
||||
String get achievement_sessions_100_name;
|
||||
|
||||
/// 100 sessions achievement description
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Complete 100 focus sessions'**
|
||||
String get achievement_sessions_100_desc;
|
||||
|
||||
/// 50 distractions achievement name
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Honest Tracker · Bronze'**
|
||||
String get achievement_honest_bronze_name;
|
||||
|
||||
/// 50 distractions achievement description
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Record 50 distractions honestly'**
|
||||
String get achievement_honest_bronze_desc;
|
||||
|
||||
/// 200 distractions achievement name
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Honest Tracker · Silver'**
|
||||
String get achievement_honest_silver_name;
|
||||
|
||||
/// 200 distractions achievement description
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Record 200 distractions honestly'**
|
||||
String get achievement_honest_silver_desc;
|
||||
|
||||
/// 500 distractions achievement name
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Honest Tracker · Gold'**
|
||||
String get achievement_honest_gold_name;
|
||||
|
||||
/// 500 distractions achievement description
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Record 500 distractions honestly'**
|
||||
String get achievement_honest_gold_desc;
|
||||
|
||||
/// 10 hours achievement name
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Marathon Runner'**
|
||||
String get achievement_marathon_name;
|
||||
|
||||
/// 10 hours achievement description
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Accumulate 10 hours of focus time'**
|
||||
String get achievement_marathon_desc;
|
||||
|
||||
/// 100 hours achievement name
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Century Club'**
|
||||
String get achievement_century_name;
|
||||
|
||||
/// 100 hours achievement description
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Accumulate 100 hours of focus time'**
|
||||
String get achievement_century_desc;
|
||||
|
||||
/// 1000 hours achievement name
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Focus Grandmaster'**
|
||||
String get achievement_master_name;
|
||||
|
||||
/// 1000 hours achievement description
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Accumulate 1000 hours of focus time'**
|
||||
String get achievement_master_desc;
|
||||
|
||||
/// 7 day streak achievement name
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Persistence Star'**
|
||||
String get achievement_persistence_star_name;
|
||||
|
||||
/// 7 day streak achievement description
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Check in for 7 consecutive days'**
|
||||
String get achievement_persistence_star_desc;
|
||||
|
||||
/// 30 day streak achievement name
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Monthly Habit'**
|
||||
String get achievement_monthly_habit_name;
|
||||
|
||||
/// 30 day streak achievement description
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Check in for 30 consecutive days'**
|
||||
String get achievement_monthly_habit_desc;
|
||||
|
||||
/// 100 day streak achievement name
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Centurion'**
|
||||
String get achievement_centurion_name;
|
||||
|
||||
/// 100 day streak achievement description
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Check in for 100 consecutive days'**
|
||||
String get achievement_centurion_desc;
|
||||
|
||||
/// 365 day streak achievement name
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Year Warrior'**
|
||||
String get achievement_year_warrior_name;
|
||||
|
||||
/// 365 day streak achievement description
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Check in for 365 consecutive days'**
|
||||
String get achievement_year_warrior_desc;
|
||||
}
|
||||
|
||||
class _AppLocalizationsDelegate
|
||||
|
||||
@@ -333,4 +333,192 @@ class AppLocalizationsAr extends AppLocalizations {
|
||||
|
||||
@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';
|
||||
}
|
||||
|
||||
@@ -336,4 +336,192 @@ class AppLocalizationsDe extends AppLocalizations {
|
||||
|
||||
@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';
|
||||
}
|
||||
|
||||
@@ -334,4 +334,192 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get arabic => 'العربية (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';
|
||||
}
|
||||
|
||||
@@ -337,4 +337,192 @@ class AppLocalizationsEs extends AppLocalizations {
|
||||
|
||||
@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';
|
||||
}
|
||||
|
||||
@@ -337,4 +337,192 @@ class AppLocalizationsFr extends AppLocalizations {
|
||||
|
||||
@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';
|
||||
}
|
||||
|
||||
@@ -336,4 +336,192 @@ class AppLocalizationsHi extends AppLocalizations {
|
||||
|
||||
@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';
|
||||
}
|
||||
|
||||
@@ -336,4 +336,192 @@ class AppLocalizationsId extends AppLocalizations {
|
||||
|
||||
@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';
|
||||
}
|
||||
|
||||
@@ -338,4 +338,192 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@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';
|
||||
}
|
||||
|
||||
@@ -329,4 +329,192 @@ class AppLocalizationsJa extends AppLocalizations {
|
||||
|
||||
@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';
|
||||
}
|
||||
|
||||
@@ -330,4 +330,192 @@ class AppLocalizationsKo extends AppLocalizations {
|
||||
|
||||
@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';
|
||||
}
|
||||
|
||||
@@ -335,4 +335,192 @@ class AppLocalizationsPt extends AppLocalizations {
|
||||
|
||||
@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';
|
||||
}
|
||||
|
||||
@@ -341,4 +341,192 @@ class AppLocalizationsRu extends AppLocalizations {
|
||||
|
||||
@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';
|
||||
}
|
||||
|
||||
@@ -326,4 +326,184 @@ class AppLocalizationsZh extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get arabic => 'العربية';
|
||||
|
||||
@override
|
||||
String get points => '积分';
|
||||
|
||||
@override
|
||||
String get level => '等级';
|
||||
|
||||
@override
|
||||
String get checked => '已签到';
|
||||
|
||||
@override
|
||||
String get checkIn => '签到';
|
||||
|
||||
@override
|
||||
String get earnedPoints => '获得:';
|
||||
|
||||
@override
|
||||
String get basePoints => '基础积分';
|
||||
|
||||
@override
|
||||
String get honestyBonus => '诚实奖励';
|
||||
|
||||
@override
|
||||
String totalPoints(int count) {
|
||||
return '总积分:$count ⚡';
|
||||
}
|
||||
|
||||
@override
|
||||
String distractionsRecorded(int count, Object distractionText) {
|
||||
return '($count $distractionText 已记录)';
|
||||
}
|
||||
|
||||
@override
|
||||
String get achievementUnlocked => '🎖️ 成就解锁!';
|
||||
|
||||
@override
|
||||
String bonusPoints(int points) {
|
||||
return '+$points 积分 ⚡';
|
||||
}
|
||||
|
||||
@override
|
||||
String checkInSuccess(int points) {
|
||||
return '签到成功!+$points 积分 ⚡';
|
||||
}
|
||||
|
||||
@override
|
||||
String get weeklyStreakBonus => '🎉 连续签到一周奖励!';
|
||||
|
||||
@override
|
||||
String get newAchievementUnlocked => '🎖️ 新成就解锁!';
|
||||
|
||||
@override
|
||||
String get alreadyCheckedIn => '你今天已经签到过了!明天再来 📅';
|
||||
|
||||
@override
|
||||
String get checkInCalendar => '签到日历 📅';
|
||||
|
||||
@override
|
||||
String get checkInToday => '📅 今日签到';
|
||||
|
||||
@override
|
||||
String get checkedInToday => '✓ 今日已签到';
|
||||
|
||||
@override
|
||||
String get currentStreak => '🔥 当前连续';
|
||||
|
||||
@override
|
||||
String get longestStreak => '🏆 最长连续';
|
||||
|
||||
@override
|
||||
String get days => '天';
|
||||
|
||||
@override
|
||||
String daysCount(int count) {
|
||||
return '$count 天';
|
||||
}
|
||||
|
||||
@override
|
||||
String get achievements => '成就 🎖️';
|
||||
|
||||
@override
|
||||
String get viewAllAchievements => '查看所有成就';
|
||||
|
||||
@override
|
||||
String get allAchievementsComingSoon => '完整成就页面即将推出!';
|
||||
|
||||
@override
|
||||
String get profile => '个人资料';
|
||||
|
||||
@override
|
||||
String get focuser => '专注者';
|
||||
|
||||
@override
|
||||
String pointsToNextLevel(int points, int level) {
|
||||
return '距离等级 $level 还需 $points 积分';
|
||||
}
|
||||
|
||||
@override
|
||||
String get achievement_first_session_name => '专注新手';
|
||||
|
||||
@override
|
||||
String get achievement_first_session_desc => '完成首个专注会话';
|
||||
|
||||
@override
|
||||
String get achievement_sessions_10_name => '初露锋芒';
|
||||
|
||||
@override
|
||||
String get achievement_sessions_10_desc => '完成 10 次专注会话';
|
||||
|
||||
@override
|
||||
String get achievement_sessions_50_name => '专注达人';
|
||||
|
||||
@override
|
||||
String get achievement_sessions_50_desc => '完成 50 次专注会话';
|
||||
|
||||
@override
|
||||
String get achievement_sessions_100_name => '专注大师';
|
||||
|
||||
@override
|
||||
String get achievement_sessions_100_desc => '完成 100 次专注会话';
|
||||
|
||||
@override
|
||||
String get achievement_honest_bronze_name => '诚实记录者·铜';
|
||||
|
||||
@override
|
||||
String get achievement_honest_bronze_desc => '诚实记录 50 次分心';
|
||||
|
||||
@override
|
||||
String get achievement_honest_silver_name => '诚实记录者·银';
|
||||
|
||||
@override
|
||||
String get achievement_honest_silver_desc => '诚实记录 200 次分心';
|
||||
|
||||
@override
|
||||
String get achievement_honest_gold_name => '诚实记录者·金';
|
||||
|
||||
@override
|
||||
String get achievement_honest_gold_desc => '诚实记录 500 次分心';
|
||||
|
||||
@override
|
||||
String get achievement_marathon_name => '马拉松跑者';
|
||||
|
||||
@override
|
||||
String get achievement_marathon_desc => '累计专注 10 小时';
|
||||
|
||||
@override
|
||||
String get achievement_century_name => '百时俱乐部';
|
||||
|
||||
@override
|
||||
String get achievement_century_desc => '累计专注 100 小时';
|
||||
|
||||
@override
|
||||
String get achievement_master_name => '专注宗师';
|
||||
|
||||
@override
|
||||
String get achievement_master_desc => '累计专注 1000 小时';
|
||||
|
||||
@override
|
||||
String get achievement_persistence_star_name => '坚持之星';
|
||||
|
||||
@override
|
||||
String get achievement_persistence_star_desc => '连续签到 7 天';
|
||||
|
||||
@override
|
||||
String get achievement_monthly_habit_name => '月度习惯';
|
||||
|
||||
@override
|
||||
String get achievement_monthly_habit_desc => '连续签到 30 天';
|
||||
|
||||
@override
|
||||
String get achievement_centurion_name => '百日勇士';
|
||||
|
||||
@override
|
||||
String get achievement_centurion_desc => '连续签到 100 天';
|
||||
|
||||
@override
|
||||
String get achievement_year_warrior_name => '年度战士';
|
||||
|
||||
@override
|
||||
String get achievement_year_warrior_desc => '连续签到 365 天';
|
||||
}
|
||||
|
||||
@@ -121,5 +121,63 @@
|
||||
"hindi": "हिन्दी",
|
||||
"indonesian": "Bahasa Indonesia",
|
||||
"italian": "Italiano",
|
||||
"arabic": "العربية"
|
||||
"arabic": "العربية",
|
||||
|
||||
"points": "积分",
|
||||
"level": "等级",
|
||||
"checked": "已签到",
|
||||
"checkIn": "签到",
|
||||
"earnedPoints": "获得:",
|
||||
"basePoints": "基础积分",
|
||||
"honestyBonus": "诚实奖励",
|
||||
"totalPoints": "总积分:{count} ⚡",
|
||||
"distractionsRecorded": "({count} {distractionText} 已记录)",
|
||||
"achievementUnlocked": "🎖️ 成就解锁!",
|
||||
"bonusPoints": "+{points} 积分 ⚡",
|
||||
"checkInSuccess": "签到成功!+{points} 积分 ⚡",
|
||||
"weeklyStreakBonus": "🎉 连续签到一周奖励!",
|
||||
"newAchievementUnlocked": "🎖️ 新成就解锁!",
|
||||
"alreadyCheckedIn": "你今天已经签到过了!明天再来 📅",
|
||||
"checkInCalendar": "签到日历 📅",
|
||||
"checkInToday": "📅 今日签到",
|
||||
"checkedInToday": "✓ 今日已签到",
|
||||
"currentStreak": "🔥 当前连续",
|
||||
"longestStreak": "🏆 最长连续",
|
||||
"days": "天",
|
||||
"daysCount": "{count} 天",
|
||||
"achievements": "成就 🎖️",
|
||||
"viewAllAchievements": "查看所有成就",
|
||||
"allAchievementsComingSoon": "完整成就页面即将推出!",
|
||||
"profile": "个人资料",
|
||||
"focuser": "专注者",
|
||||
"pointsToNextLevel": "距离等级 {level} 还需 {points} 积分",
|
||||
|
||||
"achievement_first_session_name": "专注新手",
|
||||
"achievement_first_session_desc": "完成首个专注会话",
|
||||
"achievement_sessions_10_name": "初露锋芒",
|
||||
"achievement_sessions_10_desc": "完成 10 次专注会话",
|
||||
"achievement_sessions_50_name": "专注达人",
|
||||
"achievement_sessions_50_desc": "完成 50 次专注会话",
|
||||
"achievement_sessions_100_name": "专注大师",
|
||||
"achievement_sessions_100_desc": "完成 100 次专注会话",
|
||||
"achievement_honest_bronze_name": "诚实记录者·铜",
|
||||
"achievement_honest_bronze_desc": "诚实记录 50 次分心",
|
||||
"achievement_honest_silver_name": "诚实记录者·银",
|
||||
"achievement_honest_silver_desc": "诚实记录 200 次分心",
|
||||
"achievement_honest_gold_name": "诚实记录者·金",
|
||||
"achievement_honest_gold_desc": "诚实记录 500 次分心",
|
||||
"achievement_marathon_name": "马拉松跑者",
|
||||
"achievement_marathon_desc": "累计专注 10 小时",
|
||||
"achievement_century_name": "百时俱乐部",
|
||||
"achievement_century_desc": "累计专注 100 小时",
|
||||
"achievement_master_name": "专注宗师",
|
||||
"achievement_master_desc": "累计专注 1000 小时",
|
||||
"achievement_persistence_star_name": "坚持之星",
|
||||
"achievement_persistence_star_desc": "连续签到 7 天",
|
||||
"achievement_monthly_habit_name": "月度习惯",
|
||||
"achievement_monthly_habit_desc": "连续签到 30 天",
|
||||
"achievement_centurion_name": "百日勇士",
|
||||
"achievement_centurion_desc": "连续签到 100 天",
|
||||
"achievement_year_warrior_name": "年度战士",
|
||||
"achievement_year_warrior_desc": "连续签到 365 天"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user