// 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 appName => 'Photo Live'; @override String get login => 'Sign in'; @override String get logout => 'Sign out'; @override String get username => 'Account'; @override String get password => 'Password'; @override String get albums => 'Albums'; @override String get albumDetail => 'Album details'; @override String get queue => 'Uploads'; @override String get settings => 'Settings'; @override String get language => 'Language'; @override String get settingsSectionAccount => 'Account'; @override String get settingsSectionLanguage => 'Language'; @override String get settingsSectionSecurity => 'Security'; @override String get settingsSectionUploadHelp => 'Upload help'; @override String get settingsSectionAbout => 'About'; @override String get settingsSignedInAccount => 'Currently signed-in account'; @override String get settingsVersion => 'Version'; @override String get settingsUploadHelpTitle => 'How background uploads work'; @override String get settingsUploadHelpBody => 'While the app stays in the background, the system keeps uploads running within its battery limits. If you force quit the app or the system stops it, unfinished tasks pause and resume the next time you open the app. Tasks waiting for the network start automatically once a connection is available — no manual retry needed.'; @override String get logoutConfirmTitle => 'Sign out?'; @override String get logoutConfirmBody => 'Local upload tasks are preserved on this device and will resume when you sign back in.'; @override String get localeFollowSystem => 'Follow system'; @override String get localeChinese => '中文'; @override String get localeEnglish => 'English'; @override String get retry => 'Retry'; @override String get cancel => 'Cancel'; @override String get errorGeneric => 'Something went wrong, please retry'; @override String get ok => 'OK'; @override String get navAlbums => 'Albums'; @override String get navUploads => 'Uploads'; @override String get navSettings => 'Settings'; @override String badgeUploading(int count) { return '$count tasks'; } @override String get albumUploadsOn => 'Uploads on'; @override String get albumUploadsOff => 'Uploads off'; @override String get albumPublicOff => 'Not public'; @override String get loginHint => 'Sign in with your staff account'; @override String get fieldRequired => 'This field is required'; @override String get passwordChangeTitle => 'Change password'; @override String get currentPassword => 'Current password'; @override String get newPassword => 'New password'; @override String get confirmNewPassword => 'Confirm new password'; @override String get passwordMinLength => 'New password must be at least 8 characters'; @override String get passwordMismatch => 'New passwords do not match'; @override String get passwordChangeSuccess => 'Password changed'; @override String get errorAuthInvalidCredentials => 'Incorrect account or password'; @override String get errorOldPasswordIncorrect => 'Current password is incorrect'; @override String get errorAuthRateLimited => 'Too many attempts. Please try again later'; @override String get errorAuthTokenExpired => 'Session expired. Please sign in again'; @override String get errorValidation => 'Invalid input. Please check and retry'; @override String get errorNetwork => 'Network error. Check your connection and retry'; @override String get errorNetworkTimeout => 'Network timed out. Please retry'; @override String get errorInternal => 'Service temporarily unavailable. Please retry later'; @override String get albumsEmpty => 'No albums yet. Tap \"Create album\" to get started'; @override String get loadMoreFailed => 'Failed to load more. Tap to retry'; @override String get albumCreate => 'Create album'; @override String get albumEdit => 'Edit album'; @override String get albumSectionEventInfo => 'Event info'; @override String get albumSectionContent => 'Multilingual content'; @override String get albumSectionAccess => 'Access settings'; @override String get albumTitle => 'Title'; @override String get albumDescription => 'Description'; @override String get albumVenue => 'Venue'; @override String get albumAddress => 'Address'; @override String get albumDefaultLocale => 'Default locale'; @override String get albumStartAt => 'Start time'; @override String get albumEndAtOptional => 'End time (optional)'; @override String get clearEndAt => 'Clear end time'; @override String get albumTimezone => 'Timezone'; @override String get albumTimezoneInvalid => 'Invalid IANA timezone name'; @override String get switchUpload => 'Allow uploads'; @override String get switchPublic => 'Publicly visible'; @override String get switchDownload => 'Allow downloads'; @override String get switchOriginalDownload => 'Allow original downloads'; @override String get formStartAtRequired => 'Pick a start time'; @override String get formDefaultLocaleMissing => 'Default locale must have a title'; @override String get formTitleRequiredWithFields => 'Title is required when description, venue or address is filled'; @override String get formEndAtNotAfterStartAt => 'End time must be after start time'; @override String get create => 'Create'; @override String get save => 'Save'; @override String get albumStatusActive => 'Active'; @override String get albumStatusOffline => 'Offline'; @override String get tagUpload => 'Upload'; @override String get tagPublic => 'Public'; @override String get tagDownload => 'Download'; @override String get tagOriginal => 'Original'; @override String get notSet => 'Not set'; @override String get actionEdit => 'Edit'; @override String get albumMembers => 'Members'; @override String get albumCategories => 'Categories'; @override String get shareQrTitle => 'Share QR code'; @override String get albumPhotos => 'Photos'; @override String get delete => 'Delete'; @override String get deleteConfirmCategory => 'Delete this category? Its photos will become uncategorized.'; @override String get categoryEmpty => 'No categories yet. Tap + to add one'; @override String get categoryAdd => 'Add category'; @override String get categoryEdit => 'Edit category'; @override String get categoryNameZh => 'Chinese name'; @override String get categoryNameEn => 'English name'; @override String get categorySortOrder => 'Sort order'; @override String get categoryNameRequired => 'At least one language name is required'; @override String get categorySortOrderInvalid => 'Sort order must be an integer'; @override String get albumMembersEmpty => 'No members yet'; @override String get inviteSearchHint => 'Search by account prefix to invite (at least 2 characters)'; @override String get inviteNoResults => 'No matching users'; @override String get invite => 'Invite'; @override String get memberInvited => 'Invited'; @override String get removeMember => 'Remove member'; @override String get removeMemberConfirm => 'Remove this member?'; @override String get roleOwner => 'Owner'; @override String get roleCollaborator => 'Collaborator'; @override String get selfMarker => ' (you)'; @override String get errorMemberConflict => 'User is already a member'; @override String get qrHint => 'Scan the code or open the link to view'; @override String get copyLink => 'Copy link'; @override String get copiedToClipboard => 'Copied'; @override String get openInBrowser => 'Open in browser'; @override String get photosTask9Placeholder => 'Photo management is a placeholder; the full experience ships in Task 9'; @override String get albumPhotosEmpty => 'No photos yet'; @override String get visibilityPublished => 'Published'; @override String get visibilityUnpublished => 'Unpublished'; @override String get visibilityHidden => 'Hidden'; @override String get visibilityDeleted => 'Deleted'; @override String get procPendingUpload => 'Pending upload'; @override String get procUploaded => 'Uploaded'; @override String get procProcessing => 'Processing'; @override String get procReady => 'Ready'; @override String get procProcessingFailed => 'Processing failed'; @override String get queueStubHint => 'Local upload queue and continuous capture arrive in Task 9'; @override String get serverHistoryEntry => 'Server history'; @override String get serverHistoryTitle => 'Server history (cross-device)'; @override String get serverHistoryBanner => 'Upload records from all of your devices. The local queue is on the Uploads tab.'; @override String get serverHistoryEmpty => 'No upload sessions yet'; @override String get uploadStatePending => 'Pending'; @override String get uploadStateConfirmed => 'Confirmed'; @override String get uploadStateCancelled => 'Cancelled'; @override String get uploadStateExpired => 'Expired'; @override String get thisDevice => 'This device'; @override String get queueAlbumFilterAll => 'All albums'; @override String get queueStateAll => 'All'; @override String get queueStateInProgress => 'In progress'; @override String get queueStateNeedsAttention => 'Needs attention'; @override String get queueStateCompleted => 'Completed'; @override String get queueSummaryCompleted => 'completed'; @override String get queueSummaryUploading => 'uploading'; @override String get queueSummaryWaiting => 'waiting'; @override String get queueSummaryNeedAttention => 'need attention'; @override String queueRowUploadingPercent(int percent) { return 'Uploading $percent%'; } @override String get queueRowConfirming => 'Confirming upload'; @override String get queueRowWaitingUpload => 'Waiting to upload'; @override String get queueRowPreparing => 'Preparing photo'; @override String get queueWaitingNetworkHint => 'Resumes automatically when the network recovers'; @override String get queueRowFileUnavailable => 'File unavailable'; @override String get queueActionSelectAgain => 'Select again'; @override String get queueActionRemoveRecord => 'Remove record'; @override String get queueRemoveRecordTitle => 'Remove this record?'; @override String get queueRemoveRecordBody => 'This only removes the local task record. Photos already uploaded are not deleted from the cloud.'; @override String get queueRemoveRecordConfirm => 'Remove'; @override String get queueRetryAllScope => 'Only failed uploads on this device are retried. Tasks waiting for the network recover automatically.'; @override String get queueTimeAll => 'Any time'; @override String get queueTimeToday => 'Today'; @override String get queueTimeLast7Days => 'Last 7 days'; @override String get queueTimeLast30Days => 'Last 30 days'; @override String get queueEmpty => 'No upload tasks'; @override String get queueRetryAllFailed => 'Retry all failed'; @override String queueAttemptCount(int count) { return '$count attempt(s)'; } @override String get taskStatePreparing => 'Preparing'; @override String get taskStatePreparationFailed => 'Preparation failed'; @override String get taskStateQueued => 'Queued'; @override String get taskStateUploading => 'Uploading'; @override String get taskStateUploadedConfirming => 'Confirming'; @override String get taskStateCompleted => 'Completed'; @override String get taskStateWaitingNetwork => 'Waiting for network'; @override String get taskStateRetryableFailed => 'Upload failed'; @override String get taskStateCancelled => 'Cancelled'; @override String get errorPrepSourceUnreadable => 'Could not read the selected photo. Please reselect'; @override String get errorPrepUnsupportedType => 'Only JPG, PNG and HEIC images are supported'; @override String get errorPrepTooLarge => 'Photo exceeds the 50MB limit'; @override String get errorPrepCopyFailed => 'Failed to copy the photo. Please retry'; @override String get errorUploadSourceMissing => 'Source file is missing. Please reselect'; @override String get errorAlbumUploadDisabled => 'Album uploads are disabled'; @override String get errorUploadSessionConflict => 'Upload session conflict. Please retry'; @override String get errorUploadVerifyFailed => 'Upload verification failed. Will retry'; @override String get captureTitle => 'Continuous capture'; @override String get captureCategoryDefault => 'Default category'; @override String get captureSwitchHint => 'Switching only affects photos captured afterwards'; @override String capturePendingBadge(int count) { return 'Pending $count'; } @override String captureFailedBadge(int count) { return 'Failed $count'; } @override String get capturePickFromGallery => 'Pick from gallery'; @override String get captureShutter => 'Capture'; @override String captureQueuedBadge(int count) { return 'Queued $count'; } @override String get captureEnqueuedFeedback => 'Added to queue'; @override String get captureExitTitle => 'Leave shooting?'; @override String captureExitBody(int count) { return '$count photo(s) are still uploading. Tasks will continue in the background after you leave.'; } @override String get captureKeepShooting => 'Keep shooting'; @override String get captureExitConfirm => 'Leave'; @override String get cameraPermissionDenied => 'Camera unavailable. Allow camera access in system settings'; @override String get cameraInitFailed => 'Camera failed to initialize'; @override String get uploadActionCapture => 'Capture and upload'; @override String get uploadActionPick => 'Pick from gallery'; @override String get uploadAction => 'Upload'; @override String uploadEnqueuedCount(int count) { return 'Added $count photo(s) to the upload queue'; } @override String get uploadPickNone => 'No photos selected'; @override String get albumManagePhotos => 'Manage photos'; @override String get albumTakeFirstPhoto => 'Take the first photo'; @override String get albumUploadDisabledHint => 'Uploads are off for this album. New photos cannot be added right now'; @override String get albumRecentPhotos => 'Recent uploads'; @override String get photoFilterAll => 'All'; @override String get photoFilterFailed => 'Failed'; @override String get photosScopeOwnHint => 'Collaborator view: only photos you uploaded are shown'; @override String get photosEmptyFiltered => 'No photos match this filter'; @override String get photoHide => 'Hide'; @override String get photoUnhide => 'Unhide'; @override String get photoDeleteConfirmTitle => 'Delete this photo?'; @override String get photoDeleteConfirmBody => 'The cloud photo will be deleted. This cannot be undone.'; @override String get photoHiddenToast => 'Hidden'; @override String get photoUnhiddenToast => 'Unhidden'; @override String get photoDeletedToast => 'Deleted'; @override String get photoReload => 'Reload'; @override String get photoPreviewUnavailable => 'Image unavailable'; }