// 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 => 'iAgent'; @override String get appSubtitle => 'Server Cluster Operations AI Agent'; @override String get navHome => 'Home'; @override String get navMyAgents => 'My Agents'; @override String get navBilling => 'Billing'; @override String get navProfile => 'Me'; @override String get cancelButton => 'Cancel'; @override String get confirmButton => 'Confirm'; @override String get saveButton => 'Save'; @override String get retryButton => 'Retry'; @override String get loadingLabel => 'Loading...'; @override String get unknownLabel => 'Unknown'; @override String get unnamedLabel => 'Unnamed'; @override String homeGreeting(String greeting, String name) { return '$greeting, $name'; } @override String get homeSubtitle => 'iAgent is always here for you'; @override String get greetingEarlyMorning => 'Good morning'; @override String get greetingNoon => 'Good noon'; @override String get greetingAfternoon => 'Good afternoon'; @override String get greetingEvening => 'Good evening'; @override String get greetingLateNight => 'Late night'; @override String get agentStatusIdle => 'Idle'; @override String get agentStatusThinking => 'Thinking...'; @override String get agentStatusExecuting => 'Executing...'; @override String get agentStatusAwaitingApproval => 'Awaiting approval'; @override String get agentStatusError => 'Error occurred'; @override String get officialAgentsSection => 'IT0 Official Agents'; @override String get myAgentsSection => 'My Agents'; @override String get officialBadge => 'Official'; @override String get officialAgent1Name => 'iAgent Ops Assistant'; @override String get officialAgent1Desc => 'Server management, SSH execution, log analysis'; @override String get officialAgent2Name => 'Security Audit Assistant'; @override String get officialAgent2Desc => 'Vulnerability scanning, permission review, compliance'; @override String get officialAgent3Name => 'Database Inspector'; @override String get officialAgent3Desc => 'Slow query analysis, index optimization, backup verification'; @override String get officialAgent4Name => 'Office Assistant'; @override String get officialAgent4Desc => 'Draft emails, summarize docs, schedule meetings, manage tasks'; @override String get officialAgent5Name => 'Customer Service Bot'; @override String get officialAgent5Desc => '24/7 auto-reply, FAQ handling, order & complaint routing'; @override String get officialAgent6Name => 'Marketing Assistant'; @override String get officialAgent6Desc => 'Copywriting, social media posts, campaign ideas, ad scripts'; @override String get officialAgent7Name => 'Language Tutor'; @override String get officialAgent7Desc => 'Conversation practice, grammar correction, vocabulary building'; @override String get noOwnAgentsTitle => 'No agents yet'; @override String get noOwnAgentsDesc => 'Tap the robot button below and tell iAgent:\n\"Recruit an OpenClaw agent for me\"'; @override String get quickTipsHeader => 'You can say...'; @override String get quickTip1 => '💬 \"Recruit an agent to monitor GitHub Actions\"'; @override String get quickTip2 => '🔧 \"Export my OpenClaw config as JSON\"'; @override String get quickTip3 => '📊 \"Analyze server load for the past 7 days\"'; @override String get quickTip4 => '🛡️ \"Set up automatic database backup at 2AM daily\"'; @override String get myAgentsTitle => 'My Agents'; @override String get myAgentsEmptyTitle => 'Recruit your own agent'; @override String get myAgentsEmptyDesc => 'Chat with iAgent to recruit various agents:\nOpenClaw coding assistant, ops bot, data analyst...'; @override String get myAgentsStep1Title => 'Tap the robot button'; @override String get myAgentsStep1Desc => 'Open a conversation with iAgent'; @override String get myAgentsStep2Title => 'Describe the agent you want'; @override String get myAgentsStep2Desc => 'e.g. \"Recruit an OpenClaw coding assistant for me\"'; @override String get myAgentsStep3Title => 'iAgent auto-deploys'; @override String get myAgentsStep3Desc => 'It appears here after deployment. Chat via Telegram/WhatsApp.'; @override String get myAgentsTemplatesHeader => 'Popular templates (tell iAgent which one you want)'; @override String summaryTotal(int count) { return 'Total $count'; } @override String summaryRunning(int count) { return 'Running $count'; } @override String summaryStopped(int count) { return 'Stopped $count'; } @override String get statusRunning => 'Running'; @override String get statusDeploying => 'Deploying'; @override String get statusStopped => 'Stopped'; @override String get statusError => 'Error'; @override String get dismissTitle => 'Dismiss Agent'; @override String dismissConfirmContent(String name) { return 'Confirm dismissal of \"$name\"?\n\nThe agent container will be stopped and deleted. This cannot be undone.'; } @override String get dismissButton => 'Dismiss'; @override String get renameButton => 'Rename'; @override String get renameTitle => 'Rename'; @override String get renameHint => 'Enter new name'; @override String dismissSuccessMessage(String name) { return 'Dismissed \"$name\"'; } @override String dismissErrorMessage(String error) { return 'Dismiss failed: $error'; } @override String get renameSuccessMessage => 'Renamed successfully'; @override String renameErrorMessage(String error) { return 'Rename failed: $error'; } @override String get loginPasswordTab => 'Password'; @override String get loginOtpTab => 'OTP'; @override String get emailLabel => 'Email'; @override String get emailHint => 'user@example.com'; @override String get emailRequiredError => 'Please enter email'; @override String get invalidEmailError => 'Please enter a valid email'; @override String get passwordLabel => 'Password'; @override String get passwordRequiredError => 'Please enter password'; @override String get phoneLabel => 'Phone'; @override String get phoneHint => '+1 234 567 8900'; @override String get phoneRequiredError => 'Please enter phone number'; @override String get otpLabel => 'OTP'; @override String get otpHint => '6-digit code'; @override String get otpRequiredError => 'Please enter OTP'; @override String get sendingLabel => 'Sending'; @override String get getOtpButton => 'Get OTP'; @override String get enterPhoneFirstError => 'Please enter phone number first'; @override String get loginButton => 'Login'; @override String get accountCreationNote => 'Accounts are created by admin or via invitation link'; @override String get chatNewConversationTooltip => 'New conversation'; @override String get chatStopTooltip => 'Stop'; @override String get chatVoiceCallTooltip => 'Voice call'; @override String get chatSelectFromAlbum => 'Select from album'; @override String get chatMultiSelectSupport => 'Multi-select supported'; @override String get chatTakePhoto => 'Take photo'; @override String get chatSelectFile => 'Select file'; @override String get chatImagesPdfLabel => 'Images, PDF'; @override String get chatThinkingLabel => 'Thinking...'; @override String get chatNeedsApprovalLabel => 'Needs approval'; @override String get chatExecutionFailedLabel => 'Execution failed'; @override String get chatExecutionResultLabel => 'Execution result'; @override String get chatStandingOrderDraftLabel => 'Standing order draft'; @override String get chatProcessingLabel => 'Processing...'; @override String get chatReplyingLabel => 'Replying...'; @override String get chatReplyLabel => 'Reply'; @override String get chatStartConversationPrompt => 'Start chatting with iAgent'; @override String get chatInputInstructionHint => 'Enter command or make a voice call'; @override String get chatAdditionalInstructionHint => 'Additional instruction...'; @override String get chatInstructionHint => 'Enter instruction...'; @override String get chatAddImageTooltip => 'Add image'; @override String get chatInjectionTooltip => 'Inject instruction'; @override String get chatCollapseLabel => 'Collapse'; @override String chatExpandLabel(int lineCount) { return 'Expand ($lineCount lines)'; } @override String get chatRecognizingLabel => 'Recognizing…'; @override String get chatSpeechRecognitionError => 'Speech recognition failed, please retry'; @override String get chatTargetsLabel => 'Targets: '; @override String get agentCallVoiceCallTitle => 'Voice Call'; @override String get agentCallRingingStatus => 'iAgent Voice Call'; @override String get agentCallActiveStatus => 'iAgent'; @override String get agentCallConnectingStatus => 'Connecting...'; @override String get agentCallEndedStatus => 'Call ended'; @override String get agentCallThinking => 'Thinking...'; @override String get terminalTitle => 'Remote Terminal'; @override String get terminalInitMessage => 'iAgent Remote Terminal'; @override String get terminalSelectServerMessage => 'Select a server and click Connect.'; @override String get terminalSelectServerFirst => 'Please select a server first'; @override String get terminalConnectingMessage => 'Connecting to server'; @override String get terminalConnectedLabel => 'Connected'; @override String get terminalConnectingLabel => 'Connecting...'; @override String get terminalDisconnectedLabel => 'Disconnected'; @override String get terminalSelectServerHint => 'Select server...'; @override String get terminalNoAvailableServers => 'No servers available'; @override String get terminalLoadServersError => 'Failed to load servers'; @override String get terminalConnectButton => 'Connect'; @override String get terminalDisconnectButton => 'Disconnect'; @override String get terminalDisconnectMessage => 'Disconnected'; @override String get tasksPageTitle => 'Tasks'; @override String get opsTasksTab => 'Ops Tasks'; @override String get standingOrdersTab => 'Standing Orders'; @override String get noTasksTitle => 'No tasks'; @override String get createNewTaskHint => 'Tap + to create a new task'; @override String get noStandingOrdersTitle => 'No standing orders'; @override String get standingOrdersHint => 'Chat with iAgent to add standing orders'; @override String get createTaskTitle => 'New Task'; @override String get taskTitleLabel => 'Title'; @override String get taskTitleHint => 'e.g. Restart nginx on web-01'; @override String get taskDescriptionLabel => 'Description'; @override String get taskDescriptionHint => 'Optional details...'; @override String get taskPriorityLabel => 'Priority'; @override String get taskServerOptionalLabel => 'Server (optional)'; @override String get taskNoServerSelection => 'Any'; @override String get createTaskButton => 'Create Task'; @override String createTaskError(String error) { return 'Failed to create task: $error'; } @override String get notificationInboxTitle => 'Inbox'; @override String get notificationMarkAllRead => 'Mark all read'; @override String get notificationLoadingFailed => 'Failed to load'; @override String get noMessagesTitle => 'No messages'; @override String get operationFailedError => 'Operation failed, please retry'; @override String get linkLabel => 'Link: '; @override String get notificationPreferencesTitle => 'Notification Preferences'; @override String get noNotificationChannels => 'No configurable notification channels'; @override String get notificationPreferencesInfo => 'Choose which notifications to receive. Mandatory notifications (e.g. security alerts) cannot be disabled.'; @override String get mandatoryNotificationsSection => 'Mandatory notifications'; @override String get optionalNotificationsSection => 'Optional notifications'; @override String get savePreferencesButton => 'Save preferences'; @override String get requiredLabel => 'Required'; @override String get preferencesSavedMessage => 'Preferences saved'; @override String saveFailedMessage(String error) { return 'Save failed: $error'; } @override String get referralScreenTitle => 'Refer & Earn'; @override String get yourReferralCodeLabel => 'Your referral code'; @override String get copyReferralCodeTooltip => 'Copy referral code'; @override String get copyInviteLinkButton => 'Copy invite link'; @override String get shareButton => 'Share'; @override String get copiedToClipboard => 'Copied to clipboard'; @override String get referralRecordsSection => 'Referral records'; @override String get viewAllReferralsLink => 'View all >'; @override String get pendingRewardsSection => 'Pending credits'; @override String get viewAllRewardsLink => 'View all >'; @override String get referredLabel => 'Referred'; @override String get peopleUnit => ' people'; @override String get activatedLabel => 'Activated'; @override String get pendingCreditsLabel => 'Pending credits'; @override String get rewardRulesTitle => 'Reward rules'; @override String get proReferralReward => 'Refer Pro plan: you get USD15, they get USD5'; @override String get enterpriseReferralReward => 'Refer Enterprise plan: you get USD50, they get USD20'; @override String get renewalBonusReward => 'Earn 10% of their monthly payments for up to 12 months'; @override String get creditDeductionNote => 'Credits automatically applied to your next invoice'; @override String get noReferralsMessage => 'No referrals yet. Share your code!'; @override String get pendingPaymentStatus => 'Pending'; @override String get activeStatus => 'Active'; @override String get rewardedStatus => 'Rewarded'; @override String get expiredStatus => 'Expired'; @override String get registeredAt => 'Registered'; @override String get noPendingRewardsMessage => 'No pending credits'; @override String get noReferralRecordsMessage => 'No referral records'; @override String get noRewardRecordsMessage => 'No reward records'; @override String get pendingDeductionStatus => 'Pending deduction'; @override String get billingTitle => 'Subscription & Usage'; @override String get upgradeButton => 'Upgrade'; @override String get upgradeDialogTitle => 'Upgrade Plan'; @override String get upgradeDialogMessage => 'Go to Web Admin → Billing → Plans to complete the upgrade.'; @override String get acknowledgeButton => 'Got it'; @override String get currentPlanLabel => 'Current plan'; @override String get periodEndLabel => 'Period ends: '; @override String get tokenUsageLabel => 'Token usage this month'; @override String get unlimitedLabel => 'Unlimited'; @override String get billingStatusActive => 'Active'; @override String get billingStatusTrialing => 'Trial'; @override String get billingStatusPastDue => 'Past due'; @override String get billingStatusCancelled => 'Cancelled'; @override String get billingStatusExpired => 'Expired'; @override String get invoicePaidStatus => 'Paid'; @override String get invoiceUnpaidStatus => 'Unpaid'; @override String get serversPageTitle => 'Servers'; @override String get noServersTitle => 'No servers found'; @override String get noServersFiltered => 'No servers match the current filter'; @override String get allEnvironments => 'All'; @override String get ipAddressLabel => 'IP Address'; @override String get osLabel => 'OS'; @override String get cpuLabel => 'CPU'; @override String get memoryLabel => 'Memory'; @override String get regionLabel => 'Region'; @override String get cloudProviderLabel => 'Cloud provider'; @override String get createdAtLabel => 'Created at'; @override String get standingOrdersPageTitle => 'Standing Orders'; @override String get standingOrdersEmptyHint => 'Standing orders will appear here after configuration'; @override String executionHistoryLabel(int count) { return 'Execution history ($count)'; } @override String get unnamedOrderName => 'Unnamed order'; @override String get neverExecuted => 'Never executed'; @override String updateStatusError(String error) { return 'Failed to update status: $error'; } @override String get settingsPageTitle => 'Settings'; @override String get appearanceThemeLabel => 'Appearance'; @override String get languageLabel => 'Language'; @override String get languageZh => '简体中文'; @override String get languageZhTW => '繁體中文'; @override String get languageEn => 'English'; @override String get languageAuto => 'Auto (System)'; @override String get referralTabTenant => 'Enterprise'; @override String get referralTabPersonal => 'My Circle'; @override String get loadFailed => 'Load failed'; @override String get myPersonalInviteCode => 'My personal invite code'; @override String get pointsBalanceTitle => 'Points Balance'; @override String get currentBalanceLabel => 'Balance'; @override String get circleMembersCountLabel => 'Members'; @override String get totalEarnedLabel => 'Total Earned'; @override String get circleRewardRulesTitle => 'Circle Reward Rules'; @override String get circleRule1 => 'New member joins your circle: both get 200 pts welcome gift'; @override String get circleRule2 => 'Member subscribes Pro: you get 1500 pts, they get 500 pts'; @override String get circleRule3 => 'Member subscribes Enterprise: you get 5000 pts, they get 2000 pts'; @override String get circleRule4 => 'Earn 10% of their monthly payments for up to 12 months'; @override String get circleRule5 => 'L2 circle renewals earn you 5% for up to 6 months'; @override String get circleRule6 => 'Redeem points for usage quota or agent unlocks'; @override String get myCircleMembersSection => 'My Circle Members'; @override String get pointsHistorySection => 'Points History'; @override String get noCircleMembersMessage => 'No circle members yet. Invite friends!'; @override String get noPointsHistoryMessage => 'No points history'; @override String get activatedStatus => 'Activated'; @override String get joinedAtLabel => 'Joined'; @override String get viewAllButton => 'View all'; @override String get rewardHistoryPageTitle => 'Reward History'; @override String get noRewardsHistoryMessage => 'No rewards yet'; @override String get creditDeductionReward => 'Credits auto-deducted from your next bill'; @override String get selectLanguageTitle => 'Select Language'; @override String get pushNotificationsLabel => 'Push notifications'; @override String get soundLabel => 'Sound'; @override String get hapticFeedbackLabel => 'Haptic feedback'; @override String get conversationEngineLabel => 'AI engine'; @override String get ttsVoiceLabel => 'Voice'; @override String get ttsStyleLabel => 'Voice style'; @override String get subscriptionLabel => 'Subscription & Usage'; @override String get changePasswordLabel => 'Change password'; @override String get versionLabel => 'Version'; @override String get checkUpdateLabel => 'Check for updates'; @override String get tenantLabel => 'Tenant'; @override String get logoutButton => 'Log out'; @override String get selectThemeTitle => 'Select Theme'; @override String get darkModeLabel => 'Dark'; @override String get lightModeLabel => 'Light'; @override String get followSystemLabel => 'System'; @override String get selectVoiceTitle => 'Select Voice'; @override String get voiceCoralDesc => 'Female · Warm'; @override String get voiceNovaDesc => 'Female · Lively'; @override String get voiceSageDesc => 'Female · Intellectual'; @override String get voiceShimmerDesc => 'Female · Soft'; @override String get voiceMarinDesc => 'Female · Clear'; @override String get voiceAshDesc => 'Male · Steady'; @override String get voiceEchoDesc => 'Male · Bright'; @override String get voiceOnyxDesc => 'Male · Deep'; @override String get voiceVerseDesc => 'Male · Magnetic'; @override String get voiceBalladDesc => 'Male · Rich'; @override String get voiceCedarDesc => 'Male · Natural'; @override String get voiceAlloyDesc => 'Neutral'; @override String get voiceFableDesc => 'Neutral · Narrative'; @override String get selectEngineTitle => 'Select AI Engine'; @override String get agentSdkDesc => 'Supports tool approval, skill injection, session restore'; @override String get claudeApiDesc => 'Direct API, faster response'; @override String get selectStyleTitle => 'Select Voice Style'; @override String get defaultStyleLabel => 'Default'; @override String get customStyleLabel => 'Custom style'; @override String get customStyleHint => 'e.g. Speak like a pirate, with humor'; @override String get resetToDefaultButton => 'Reset to default'; @override String get styleProfessionalName => 'Professional'; @override String get styleProfessionalDesc => 'Speak in a professional, concise, and efficient tone.'; @override String get styleGentleName => 'Gentle & Patient'; @override String get styleGentleDesc => 'Speak in a warm and patient tone, like a caring friend.'; @override String get styleRelaxedName => 'Relaxed & Lively'; @override String get styleRelaxedDesc => 'Speak in a relaxed, lively tone with a bit of humor.'; @override String get styleFormalName => 'Formal'; @override String get styleFormalDesc => 'Speak in a serious, formal tone, like in a business meeting.'; @override String get styleScifiName => 'Sci-Fi AI'; @override String get styleScifiDesc => 'Speak like an AI in a sci-fi movie — calm, rational, futuristic.'; @override String get editNameDialogTitle => 'Edit Display Name'; @override String get displayNameLabel => 'Display name'; @override String get displayNameHint => 'Enter new display name'; @override String get changePasswordTitle => 'Change Password'; @override String get currentPasswordLabel => 'Current password'; @override String get newPasswordLabel => 'New password'; @override String get confirmPasswordLabel => 'Confirm new password'; @override String get passwordMismatchError => 'Passwords do not match'; @override String get passwordMinLengthError => 'New password must be at least 6 characters'; @override String get confirmChangeButton => 'Confirm'; @override String get passwordChangedMessage => 'Password changed'; @override String get nameUpdatedMessage => 'Name updated'; @override String get updateFailedMessage => 'Update failed'; @override String get changeFailedMessage => 'Change failed'; @override String get logoutDialogTitle => 'Log out'; @override String get logoutConfirmMessage => 'Are you sure you want to log out?'; @override String get logoutConfirmButton => 'Log out'; @override String get profileSubscriptionLabel => 'Subscription & Usage'; @override String get profileFreePlanLabel => 'Free'; @override String get profileReferralLabel => 'Refer & Earn'; @override String get profileReferralHint => 'Earn credits by referring'; @override String get profileInSiteMessagesLabel => 'Inbox'; @override String get profileViewMessagesLabel => 'View messages'; @override String get errorNetworkError => 'Cannot connect to server, check your network'; @override String get errorDataFormat => 'Invalid data format'; @override String get errorUnknown => 'Unknown error occurred'; @override String get errorConnectionTimeout => 'Connection timed out'; @override String get errorSendTimeout => 'Request timed out, check your network'; @override String get errorReceiveTimeout => 'Response timed out, please retry'; @override String get errorBadCertificate => 'SSL certificate verification failed'; @override String get errorRequestCancelled => 'Request cancelled'; @override String get errorBadRequest => 'Invalid request parameters'; @override String get errorPermissionDenied => 'Permission denied'; @override String get errorNotFound => 'Resource not found'; @override String get errorConflict => 'Data conflict, please refresh'; @override String get errorInvalidData => 'Invalid data submitted'; @override String get errorTooManyRequests => 'Too many requests, please slow down'; @override String get errorInternalServer => 'Server error, please retry'; @override String get errorBadGateway => 'Gateway error, please retry'; @override String get errorServiceUnavailable => 'Service unavailable, please retry'; @override String get errorConnectionReset => 'Connection reset, please retry'; @override String get errorConnectionRefused => 'Connection refused, check if service is running'; @override String get errorConnectionClosed => 'Connection closed, please retry'; @override String get errorSocketException => 'Network error, check your connection'; @override String get errorTlsException => 'Secure connection failed, check your network'; @override String get errorNetworkRequestFailed => 'Network request failed, check your connection'; @override String get defaultUserName => 'User'; @override String agentInConversation(int count) { return 'In conversation · $count messages'; } }