1173 lines
26 KiB
Dart
1173 lines
26 KiB
Dart
// 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';
|
|
}
|
|
}
|