checkpoint: focus seed 1.0.1 localized dev switch

This commit is contained in:
2026-06-11 23:35:49 +08:00
parent c51abdfb73
commit d06dc35ee6
72 changed files with 6155 additions and 1390 deletions
@@ -0,0 +1,446 @@
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for English (`en`).
class AppLocalizationsEn extends AppLocalizations {
AppLocalizationsEn([String locale = 'en']) : super(locale);
@override
String get appTitle => 'Focus Seed';
@override
String get brandName => 'Focus Seed';
@override
String get saving => 'Saving';
@override
String get local => 'Local';
@override
String get navToday => 'Today';
@override
String get navJourney => 'Journey';
@override
String get navMe => 'Me';
@override
String get tryAgain => 'Try again';
@override
String get couldNotOpenApp => 'Could not open Focus Seed.';
@override
String get openFailed => 'Your local garden could not be opened.';
@override
String get saveFailed => 'That change could not be saved. Please try again.';
@override
String get goodMorning => 'Good morning';
@override
String get goodDay => 'Good day';
@override
String get goodEvening => 'Good evening';
@override
String get goodNight => 'Good night';
@override
String readableDate(Object date, Object weekday) {
return '$date - $weekday';
}
@override
String get todayIntentionLabel => 'TODAY\'S INTENTION';
@override
String get chooseOneOutcome => 'Choose one outcome';
@override
String get focusLabel => 'FOCUS';
@override
String get timerReady => 'Ready when you are';
@override
String get timerRunning => 'Deep work in progress';
@override
String get timerPaused => 'Paused - your place is kept';
@override
String get timerCompleted => 'Session complete';
@override
String get reflectOneMinute => 'Reflect for 1 min';
@override
String get startAnotherSession => 'Start another session';
@override
String get setTodaysIntention => 'Set today\'s intention';
@override
String get pause => 'Pause';
@override
String get end => 'End';
@override
String get resume => 'Resume';
@override
String startMinutes(int minutes) {
return 'Start $minutes min';
}
@override
String get resetTimer => 'Reset timer';
@override
String get todaysHabits => 'Today\'s habits';
@override
String completedCount(int completed, int total) {
return '$completed/$total complete';
}
@override
String get manageHabits => 'Manage habits';
@override
String get addHabit => 'Add habit';
@override
String get add => 'Add';
@override
String get emptyHabitPrompt => 'Add one repeatable habit.';
@override
String viewAllHabits(int count) {
return 'View all $count';
}
@override
String get reflectionSaved => 'Reflection saved';
@override
String get reflectionPromptTitle => 'How did it go?';
@override
String get reflectionPromptBody => 'Write one useful sentence.';
@override
String get progressIntention => 'Intention';
@override
String get progressFocus => 'Focus';
@override
String get progressHabits => 'Habits';
@override
String get progressReflect => 'Reflect';
@override
String get done => 'Done';
@override
String get next => 'Next';
@override
String get later => 'Later';
@override
String minutesShort(int minutes) {
return '$minutes min';
}
@override
String dailyStepsComplete(int completed) {
return '$completed/4 daily steps complete';
}
@override
String get habitOptions => 'Habit options';
@override
String get rename => 'Rename';
@override
String get delete => 'Delete';
@override
String get habitsTitle => 'Habits';
@override
String get habitsSubtitle => 'Keep it small and repeatable.';
@override
String get emptyHabitsTitle => 'Add a small habit';
@override
String get addHabitTitle => 'Add habit';
@override
String get renameHabitTitle => 'Rename habit';
@override
String get habitHint => 'Example: Read 10 pages';
@override
String get cancel => 'Cancel';
@override
String get save => 'Save';
@override
String get setIntentionTitle => 'Set intention';
@override
String get editIntentionTitle => 'Edit intention';
@override
String get intentionHint => 'What matters most today?';
@override
String get deleteHabitTitle => 'Delete habit?';
@override
String get deleteHabitBody => 'Past completion records for this habit will be removed.';
@override
String get exportJson => 'Export JSON';
@override
String get close => 'Close';
@override
String get copy => 'Copy';
@override
String get exportCopied => 'Export copied';
@override
String get importJson => 'Import JSON';
@override
String get importHint => 'Paste Focus Seed JSON export';
@override
String get import => 'Import';
@override
String get clearDataTitle => 'Clear local data?';
@override
String get clearDataBody => 'This resets habits, focus sessions, and reflections on this device.';
@override
String get clear => 'Clear';
@override
String get privacyTitle => 'Privacy';
@override
String get privacyBodyOne => 'Focus Seed stores your intention, habits, focus sessions, reflections, and settings locally on this device. This version has no sign-in, cloud sync, ads, analytics SDK, or billing SDK.';
@override
String get privacyBodyTwo => 'You can export, import, or clear local data from Me.';
@override
String get reflectionEmptyError => 'Write one honest sentence.';
@override
String get reflectionSaveError => 'Could not save. Please try again.';
@override
String get reflectionSheetTitle => 'How did it go?';
@override
String get reflectionSheetSubtitle => 'Keep what worked. Adjust one thing.';
@override
String get reflectionHint => 'One useful sentence is enough.';
@override
String get savingLabel => 'Saving';
@override
String get saveReflection => 'Save reflection';
@override
String get moodCalm => 'Calm';
@override
String get moodClear => 'Clear';
@override
String get moodProud => 'Proud';
@override
String get moodTired => 'Tired';
@override
String get meTitle => 'Your space';
@override
String get meSubtitle => 'Private by default. No account required.';
@override
String get appearance => 'Appearance';
@override
String get system => 'System';
@override
String get light => 'Light';
@override
String get dark => 'Dark';
@override
String get language => 'Language';
@override
String get developmentOnly => 'Development only';
@override
String get languageDefault => 'Default';
@override
String get languageEnglish => 'English';
@override
String get languageChinese => 'Chinese';
@override
String get yourData => 'Your data';
@override
String get exportJsonSubtitle => 'Copy a readable local backup.';
@override
String get importJsonSubtitle => 'Restore a previous Focus Seed export.';
@override
String get privacySubtitle => 'Everything stays on this device.';
@override
String get resetLocalGarden => 'Reset local garden';
@override
String get resetLocalGardenSubtitle => 'Clear intentions, habits, sessions, and notes.';
@override
String get dataImported => 'Data imported';
@override
String get importFailed => 'Import failed';
@override
String get localDataCleared => 'Local data cleared';
@override
String get journeyTitle => 'Today\'s journey';
@override
String get recentFocus => 'Recent focus';
@override
String sessionsTotal(int count) {
return '$count sessions total';
}
@override
String focusMinutes(int minutes) {
return '$minutes min focus';
}
@override
String get recentReflections => 'Recent reflections';
@override
String get recentReflectionsDetail => 'Lessons worth keeping';
@override
String focusedMinutes(int minutes) {
return '$minutes focused minutes';
}
@override
String get noFocusSessionYet => 'No session completed yet';
@override
String habitsCompleted(int completed, int total) {
return '$completed/$total completed';
}
@override
String get reflectionCaptured => 'Today\'s lesson is captured';
@override
String get reflectionAction => 'Close the loop with one sentence';
@override
String get growthTitle => 'Growth';
@override
String get growthFlowerOpen => 'Today\'s flower is open';
@override
String get growthLocked => 'Unlocked after reflection';
@override
String get sevenDayGrowth => '7-day growth';
@override
String get sevenDayGrowthSubtitle => 'Small actions become visible over time.';
@override
String get growthSeed => 'seed';
@override
String get growthSprout => 'sprout';
@override
String get growthLeaves => 'leaves';
@override
String get growthFlower => 'flower';
@override
String growthDaySemantic(Object date, Object stage) {
return '$date, $stage';
}
@override
String get growthSeedSemantic => 'A seed waiting for today\'s intention';
@override
String get growthSproutSemantic => 'A sprout growing from today\'s intention';
@override
String get growthLeavesSemantic => 'A young plant growing with today\'s progress';
@override
String get growthFlowerSemantic => 'A flower marking a complete daily cycle';
@override
String get defaultHabitPlanTask => 'Plan one clear task';
@override
String get defaultHabitFocus => 'Focus for 25 minutes';
@override
String get defaultHabitReflect => 'Write one-line reflection';
}