积分、成就系统

This commit is contained in:
ytc1012
2025-11-27 13:37:10 +08:00
parent 0195cdf54b
commit 58f6ec39b7
35 changed files with 7786 additions and 199 deletions

View File

@@ -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