feat(mobile): UI-01 upload center, capture and auxiliary pages

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
浅念
2026-09-21 17:20:43 +08:00
parent f6929ae18f
commit 1f67b7c818
26 changed files with 2144 additions and 771 deletions
+42 -10
View File
@@ -7,9 +7,20 @@
"password": "Password",
"albums": "Albums",
"albumDetail": "Album details",
"queue": "Upload queue",
"queue": "Uploads",
"settings": "Settings",
"language": "Language",
"settingsSectionAccount": "Account",
"settingsSectionLanguage": "Language",
"settingsSectionSecurity": "Security",
"settingsSectionUploadHelp": "Upload help",
"settingsSectionAbout": "About",
"settingsSignedInAccount": "Currently signed-in account",
"settingsVersion": "Version",
"settingsUploadHelpTitle": "How background uploads work",
"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.",
"logoutConfirmTitle": "Sign out?",
"logoutConfirmBody": "Local upload tasks are preserved on this device and will resume when you sign back in.",
"localeFollowSystem": "Follow system",
"localeChinese": "中文",
"localeEnglish": "English",
@@ -46,6 +57,9 @@
"loadMoreFailed": "Failed to load more. Tap to retry",
"albumCreate": "Create album",
"albumEdit": "Edit album",
"albumSectionEventInfo": "Event info",
"albumSectionContent": "Multilingual content",
"albumSectionAccess": "Access settings",
"albumTitle": "Title",
"albumDescription": "Description",
"albumVenue": "Venue",
@@ -102,6 +116,7 @@
"qrHint": "Scan the code or open the link to view",
"copyLink": "Copy link",
"copiedToClipboard": "Copied",
"openInBrowser": "Open in browser",
"photosTask9Placeholder": "Photo management is a placeholder; the full experience ships in Task 9",
"albumPhotosEmpty": "No photos yet",
"visibilityPublished": "Published",
@@ -114,9 +129,9 @@
"procReady": "Ready",
"procProcessingFailed": "Processing failed",
"queueStubHint": "Local upload queue and continuous capture arrive in Task 9",
"serverHistoryEntry": "View server upload history",
"serverHistoryTitle": "Server upload history",
"serverHistoryBanner": "Server-side history (cross-device) — for this device's pending uploads see the Queue tab",
"serverHistoryEntry": "Server history",
"serverHistoryTitle": "Server history (cross-device)",
"serverHistoryBanner": "Upload records from all of your devices. The local queue is on the Uploads tab.",
"serverHistoryEmpty": "No upload sessions yet",
"uploadStatePending": "Pending",
"uploadStateConfirmed": "Confirmed",
@@ -125,12 +140,26 @@
"thisDevice": "This device",
"queueAlbumFilterAll": "All albums",
"queueStateAll": "All",
"queueStatePreparing": "Preparing",
"queueStateQueued": "Queued",
"queueStateUploading": "Uploading",
"queueStateWaitingNetwork": "Waiting for network",
"queueStateFailed": "Failed",
"queueStateCompleted": "Done",
"queueStateInProgress": "In progress",
"queueStateNeedsAttention": "Needs attention",
"queueStateCompleted": "Completed",
"queueSummaryCompleted": "completed",
"queueSummaryUploading": "uploading",
"queueSummaryWaiting": "waiting",
"queueSummaryNeedAttention": "need attention",
"queueRowUploadingPercent": "Uploading {percent}%",
"@queueRowUploadingPercent": { "placeholders": { "percent": { "type": "int" } } },
"queueRowConfirming": "Confirming upload",
"queueRowWaitingUpload": "Waiting to upload",
"queueRowPreparing": "Preparing photo",
"queueWaitingNetworkHint": "Resumes automatically when the network recovers",
"queueRowFileUnavailable": "File unavailable",
"queueActionSelectAgain": "Select again",
"queueActionRemoveRecord": "Remove record",
"queueRemoveRecordTitle": "Remove this record?",
"queueRemoveRecordBody": "This only removes the local task record. Photos already uploaded are not deleted from the cloud.",
"queueRemoveRecordConfirm": "Remove",
"queueRetryAllScope": "Only failed uploads on this device are retried. Tasks waiting for the network recover automatically.",
"queueTimeAll": "Any time",
"queueTimeToday": "Today",
"queueTimeLast7Days": "Last 7 days",
@@ -165,6 +194,9 @@
"@captureFailedBadge": { "placeholders": { "count": { "type": "int" } } },
"capturePickFromGallery": "Pick from gallery",
"captureShutter": "Capture",
"captureQueuedBadge": "Queued {count}",
"@captureQueuedBadge": { "placeholders": { "count": { "type": "int" } } },
"captureEnqueuedFeedback": "Added to queue",
"captureExitTitle": "Leave shooting?",
"captureExitBody": "{count} photo(s) are still uploading. Tasks will continue in the background after you leave.",
"@captureExitBody": { "placeholders": { "count": { "type": "int" } } },
+208 -28
View File
@@ -143,7 +143,7 @@ abstract class AppLocalizations {
/// No description provided for @queue.
///
/// In zh, this message translates to:
/// **'上传队列'**
/// **'上传中心'**
String get queue;
/// No description provided for @settings.
@@ -158,6 +158,72 @@ abstract class AppLocalizations {
/// **'语言'**
String get language;
/// No description provided for @settingsSectionAccount.
///
/// In zh, this message translates to:
/// **'账号'**
String get settingsSectionAccount;
/// No description provided for @settingsSectionLanguage.
///
/// In zh, this message translates to:
/// **'语言'**
String get settingsSectionLanguage;
/// No description provided for @settingsSectionSecurity.
///
/// In zh, this message translates to:
/// **'安全'**
String get settingsSectionSecurity;
/// No description provided for @settingsSectionUploadHelp.
///
/// In zh, this message translates to:
/// **'上传帮助'**
String get settingsSectionUploadHelp;
/// No description provided for @settingsSectionAbout.
///
/// In zh, this message translates to:
/// **'关于'**
String get settingsSectionAbout;
/// No description provided for @settingsSignedInAccount.
///
/// In zh, this message translates to:
/// **'当前登录账号'**
String get settingsSignedInAccount;
/// No description provided for @settingsVersion.
///
/// In zh, this message translates to:
/// **'版本'**
String get settingsVersion;
/// No description provided for @settingsUploadHelpTitle.
///
/// In zh, this message translates to:
/// **'后台上传说明'**
String get settingsUploadHelpTitle;
/// No description provided for @settingsUploadHelpBody.
///
/// In zh, this message translates to:
/// **'应用在后台期间,系统会在省电限制内尽量保持上传;强制退出或被系统结束后,未完成任务会暂停,下次打开应用时继续。等待网络的任务会在网络恢复后自动开始,无需手动重试。'**
String get settingsUploadHelpBody;
/// No description provided for @logoutConfirmTitle.
///
/// In zh, this message translates to:
/// **'退出登录?'**
String get logoutConfirmTitle;
/// No description provided for @logoutConfirmBody.
///
/// In zh, this message translates to:
/// **'本机的上传任务会保留,重新登录后将继续上传。'**
String get logoutConfirmBody;
/// No description provided for @localeFollowSystem.
///
/// In zh, this message translates to:
@@ -368,6 +434,24 @@ abstract class AppLocalizations {
/// **'编辑相册'**
String get albumEdit;
/// No description provided for @albumSectionEventInfo.
///
/// In zh, this message translates to:
/// **'活动信息'**
String get albumSectionEventInfo;
/// No description provided for @albumSectionContent.
///
/// In zh, this message translates to:
/// **'多语言内容'**
String get albumSectionContent;
/// No description provided for @albumSectionAccess.
///
/// In zh, this message translates to:
/// **'访问设置'**
String get albumSectionAccess;
/// No description provided for @albumTitle.
///
/// In zh, this message translates to:
@@ -704,6 +788,12 @@ abstract class AppLocalizations {
/// **'已复制'**
String get copiedToClipboard;
/// No description provided for @openInBrowser.
///
/// In zh, this message translates to:
/// **'在浏览器中打开'**
String get openInBrowser;
/// No description provided for @photosTask9Placeholder.
///
/// In zh, this message translates to:
@@ -779,19 +869,19 @@ abstract class AppLocalizations {
/// No description provided for @serverHistoryEntry.
///
/// In zh, this message translates to:
/// **'查看服务端上传历史'**
/// **'服务端历史'**
String get serverHistoryEntry;
/// No description provided for @serverHistoryTitle.
///
/// In zh, this message translates to:
/// **'服务端上传历史'**
/// **'服务端历史(跨设备)'**
String get serverHistoryTitle;
/// No description provided for @serverHistoryBanner.
///
/// In zh, this message translates to:
/// **'服务端历史(跨设备)——本机待传队列请看「队列」页'**
/// **'展示全部设备的服务端上传记录;本机待传队列在「上传」页。'**
String get serverHistoryBanner;
/// No description provided for @serverHistoryEmpty.
@@ -842,35 +932,17 @@ abstract class AppLocalizations {
/// **'全部'**
String get queueStateAll;
/// No description provided for @queueStatePreparing.
/// No description provided for @queueStateInProgress.
///
/// In zh, this message translates to:
/// **'准备中'**
String get queueStatePreparing;
/// **'进行中'**
String get queueStateInProgress;
/// No description provided for @queueStateQueued.
/// No description provided for @queueStateNeedsAttention.
///
/// In zh, this message translates to:
/// **'待传'**
String get queueStateQueued;
/// No description provided for @queueStateUploading.
///
/// In zh, this message translates to:
/// **'上传中'**
String get queueStateUploading;
/// No description provided for @queueStateWaitingNetwork.
///
/// In zh, this message translates to:
/// **'等待网络'**
String get queueStateWaitingNetwork;
/// No description provided for @queueStateFailed.
///
/// In zh, this message translates to:
/// **'失败'**
String get queueStateFailed;
/// **'需关注'**
String get queueStateNeedsAttention;
/// No description provided for @queueStateCompleted.
///
@@ -878,6 +950,102 @@ abstract class AppLocalizations {
/// **'已完成'**
String get queueStateCompleted;
/// No description provided for @queueSummaryCompleted.
///
/// In zh, this message translates to:
/// **'已完成'**
String get queueSummaryCompleted;
/// No description provided for @queueSummaryUploading.
///
/// In zh, this message translates to:
/// **'上传中'**
String get queueSummaryUploading;
/// No description provided for @queueSummaryWaiting.
///
/// In zh, this message translates to:
/// **'等待中'**
String get queueSummaryWaiting;
/// No description provided for @queueSummaryNeedAttention.
///
/// In zh, this message translates to:
/// **'需关注'**
String get queueSummaryNeedAttention;
/// No description provided for @queueRowUploadingPercent.
///
/// In zh, this message translates to:
/// **'上传中 {percent}%'**
String queueRowUploadingPercent(int percent);
/// No description provided for @queueRowConfirming.
///
/// In zh, this message translates to:
/// **'正在确认上传'**
String get queueRowConfirming;
/// No description provided for @queueRowWaitingUpload.
///
/// In zh, this message translates to:
/// **'等待上传'**
String get queueRowWaitingUpload;
/// No description provided for @queueRowPreparing.
///
/// In zh, this message translates to:
/// **'正在准备照片'**
String get queueRowPreparing;
/// No description provided for @queueWaitingNetworkHint.
///
/// In zh, this message translates to:
/// **'网络恢复后自动继续'**
String get queueWaitingNetworkHint;
/// No description provided for @queueRowFileUnavailable.
///
/// In zh, this message translates to:
/// **'文件不可用'**
String get queueRowFileUnavailable;
/// No description provided for @queueActionSelectAgain.
///
/// In zh, this message translates to:
/// **'重新选择'**
String get queueActionSelectAgain;
/// No description provided for @queueActionRemoveRecord.
///
/// In zh, this message translates to:
/// **'移除记录'**
String get queueActionRemoveRecord;
/// No description provided for @queueRemoveRecordTitle.
///
/// In zh, this message translates to:
/// **'移除这条记录?'**
String get queueRemoveRecordTitle;
/// No description provided for @queueRemoveRecordBody.
///
/// In zh, this message translates to:
/// **'仅移除本机的任务记录,不会删除云端已上传的照片。'**
String get queueRemoveRecordBody;
/// No description provided for @queueRemoveRecordConfirm.
///
/// In zh, this message translates to:
/// **'移除'**
String get queueRemoveRecordConfirm;
/// No description provided for @queueRetryAllScope.
///
/// In zh, this message translates to:
/// **'仅重试本机的上传失败任务;等待网络的任务会自动恢复。'**
String get queueRetryAllScope;
/// No description provided for @queueTimeAll.
///
/// In zh, this message translates to:
@@ -1064,6 +1232,18 @@ abstract class AppLocalizations {
/// **'拍摄'**
String get captureShutter;
/// No description provided for @captureQueuedBadge.
///
/// In zh, this message translates to:
/// **'待传 {count}'**
String captureQueuedBadge(int count);
/// No description provided for @captureEnqueuedFeedback.
///
/// In zh, this message translates to:
/// **'已加入队列'**
String get captureEnqueuedFeedback;
/// No description provided for @captureExitTitle.
///
/// In zh, this message translates to:
+109 -10
View File
@@ -30,7 +30,7 @@ class AppLocalizationsEn extends AppLocalizations {
String get albumDetail => 'Album details';
@override
String get queue => 'Upload queue';
String get queue => 'Uploads';
@override
String get settings => 'Settings';
@@ -38,6 +38,41 @@ class AppLocalizationsEn extends AppLocalizations {
@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';
@@ -148,6 +183,15 @@ class AppLocalizationsEn extends AppLocalizations {
@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';
@@ -319,6 +363,9 @@ class AppLocalizationsEn extends AppLocalizations {
@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';
@@ -358,14 +405,14 @@ class AppLocalizationsEn extends AppLocalizations {
'Local upload queue and continuous capture arrive in Task 9';
@override
String get serverHistoryEntry => 'View server upload history';
String get serverHistoryEntry => 'Server history';
@override
String get serverHistoryTitle => 'Server upload history';
String get serverHistoryTitle => 'Server history (cross-device)';
@override
String get serverHistoryBanner =>
'Server-side history (cross-device) — for this device\'s pending uploads see the Queue tab';
'Upload records from all of your devices. The local queue is on the Uploads tab.';
@override
String get serverHistoryEmpty => 'No upload sessions yet';
@@ -392,22 +439,66 @@ class AppLocalizationsEn extends AppLocalizations {
String get queueStateAll => 'All';
@override
String get queueStatePreparing => 'Preparing';
String get queueStateInProgress => 'In progress';
@override
String get queueStateQueued => 'Queued';
String get queueStateNeedsAttention => 'Needs attention';
@override
String get queueStateUploading => 'Uploading';
String get queueStateCompleted => 'Completed';
@override
String get queueStateWaitingNetwork => 'Waiting for network';
String get queueSummaryCompleted => 'completed';
@override
String get queueStateFailed => 'Failed';
String get queueSummaryUploading => 'uploading';
@override
String get queueStateCompleted => 'Done';
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';
@@ -514,6 +605,14 @@ class AppLocalizationsEn extends AppLocalizations {
@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?';
+110 -15
View File
@@ -30,7 +30,7 @@ class AppLocalizationsZh extends AppLocalizations {
String get albumDetail => '相册详情';
@override
String get queue => '上传队列';
String get queue => '上传中心';
@override
String get settings => '设置';
@@ -38,6 +38,40 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get language => '语言';
@override
String get settingsSectionAccount => '账号';
@override
String get settingsSectionLanguage => '语言';
@override
String get settingsSectionSecurity => '安全';
@override
String get settingsSectionUploadHelp => '上传帮助';
@override
String get settingsSectionAbout => '关于';
@override
String get settingsSignedInAccount => '当前登录账号';
@override
String get settingsVersion => '版本';
@override
String get settingsUploadHelpTitle => '后台上传说明';
@override
String get settingsUploadHelpBody =>
'应用在后台期间,系统会在省电限制内尽量保持上传;强制退出或被系统结束后,未完成任务会暂停,下次打开应用时继续。等待网络的任务会在网络恢复后自动开始,无需手动重试。';
@override
String get logoutConfirmTitle => '退出登录?';
@override
String get logoutConfirmBody => '本机的上传任务会保留,重新登录后将继续上传。';
@override
String get localeFollowSystem => '跟随系统';
@@ -145,6 +179,15 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get albumEdit => '编辑相册';
@override
String get albumSectionEventInfo => '活动信息';
@override
String get albumSectionContent => '多语言内容';
@override
String get albumSectionAccess => '访问设置';
@override
String get albumTitle => '标题';
@@ -313,6 +356,9 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get copiedToClipboard => '已复制';
@override
String get openInBrowser => '在浏览器中打开';
@override
String get photosTask9Placeholder => '照片管理为占位版本,完整功能将在任务 9 上线';
@@ -350,13 +396,13 @@ class AppLocalizationsZh extends AppLocalizations {
String get queueStubHint => '本机待传队列与连拍管理将在任务 9 上线';
@override
String get serverHistoryEntry => '查看服务端上传历史';
String get serverHistoryEntry => '服务端历史';
@override
String get serverHistoryTitle => '服务端上传历史';
String get serverHistoryTitle => '服务端历史(跨设备)';
@override
String get serverHistoryBanner => '服务端历史(跨设备)——本机待传队列请看「队列」页';
String get serverHistoryBanner => '展示全部设备的服务端上传记录;本机待传队列在「上传」页。';
@override
String get serverHistoryEmpty => '暂无上传记录';
@@ -383,23 +429,64 @@ class AppLocalizationsZh extends AppLocalizations {
String get queueStateAll => '全部';
@override
String get queueStatePreparing => '准备中';
String get queueStateInProgress => '进行中';
@override
String get queueStateQueued => '待传';
@override
String get queueStateUploading => '上传中';
@override
String get queueStateWaitingNetwork => '等待网络';
@override
String get queueStateFailed => '失败';
String get queueStateNeedsAttention => '需关注';
@override
String get queueStateCompleted => '已完成';
@override
String get queueSummaryCompleted => '已完成';
@override
String get queueSummaryUploading => '上传中';
@override
String get queueSummaryWaiting => '等待中';
@override
String get queueSummaryNeedAttention => '需关注';
@override
String queueRowUploadingPercent(int percent) {
return '上传中 $percent%';
}
@override
String get queueRowConfirming => '正在确认上传';
@override
String get queueRowWaitingUpload => '等待上传';
@override
String get queueRowPreparing => '正在准备照片';
@override
String get queueWaitingNetworkHint => '网络恢复后自动继续';
@override
String get queueRowFileUnavailable => '文件不可用';
@override
String get queueActionSelectAgain => '重新选择';
@override
String get queueActionRemoveRecord => '移除记录';
@override
String get queueRemoveRecordTitle => '移除这条记录?';
@override
String get queueRemoveRecordBody => '仅移除本机的任务记录,不会删除云端已上传的照片。';
@override
String get queueRemoveRecordConfirm => '移除';
@override
String get queueRetryAllScope => '仅重试本机的上传失败任务;等待网络的任务会自动恢复。';
@override
String get queueTimeAll => '全部时间';
@@ -499,6 +586,14 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get captureShutter => '拍摄';
@override
String captureQueuedBadge(int count) {
return '待传 $count';
}
@override
String get captureEnqueuedFeedback => '已加入队列';
@override
String get captureExitTitle => '退出拍摄?';
+41 -9
View File
@@ -7,9 +7,20 @@
"password": "密码",
"albums": "相册",
"albumDetail": "相册详情",
"queue": "上传队列",
"queue": "上传中心",
"settings": "设置",
"language": "语言",
"settingsSectionAccount": "账号",
"settingsSectionLanguage": "语言",
"settingsSectionSecurity": "安全",
"settingsSectionUploadHelp": "上传帮助",
"settingsSectionAbout": "关于",
"settingsSignedInAccount": "当前登录账号",
"settingsVersion": "版本",
"settingsUploadHelpTitle": "后台上传说明",
"settingsUploadHelpBody": "应用在后台期间,系统会在省电限制内尽量保持上传;强制退出或被系统结束后,未完成任务会暂停,下次打开应用时继续。等待网络的任务会在网络恢复后自动开始,无需手动重试。",
"logoutConfirmTitle": "退出登录?",
"logoutConfirmBody": "本机的上传任务会保留,重新登录后将继续上传。",
"localeFollowSystem": "跟随系统",
"localeChinese": "中文",
"localeEnglish": "English",
@@ -46,6 +57,9 @@
"loadMoreFailed": "加载更多失败,点击重试",
"albumCreate": "新建相册",
"albumEdit": "编辑相册",
"albumSectionEventInfo": "活动信息",
"albumSectionContent": "多语言内容",
"albumSectionAccess": "访问设置",
"albumTitle": "标题",
"albumDescription": "描述",
"albumVenue": "场地",
@@ -102,6 +116,7 @@
"qrHint": "扫码或打开链接观看",
"copyLink": "复制链接",
"copiedToClipboard": "已复制",
"openInBrowser": "在浏览器中打开",
"photosTask9Placeholder": "照片管理为占位版本,完整功能将在任务 9 上线",
"albumPhotosEmpty": "暂无照片",
"visibilityPublished": "已发布",
@@ -114,9 +129,9 @@
"procReady": "就绪",
"procProcessingFailed": "处理失败",
"queueStubHint": "本机待传队列与连拍管理将在任务 9 上线",
"serverHistoryEntry": "查看服务端上传历史",
"serverHistoryTitle": "服务端上传历史",
"serverHistoryBanner": "服务端历史(跨设备)——本机待传队列请看「队列」页",
"serverHistoryEntry": "服务端历史",
"serverHistoryTitle": "服务端历史(跨设备)",
"serverHistoryBanner": "展示全部设备的服务端上传记录;本机待传队列在「上传」页。",
"serverHistoryEmpty": "暂无上传记录",
"uploadStatePending": "待完成",
"uploadStateConfirmed": "已确认",
@@ -125,12 +140,26 @@
"thisDevice": "本设备",
"queueAlbumFilterAll": "全部相册",
"queueStateAll": "全部",
"queueStatePreparing": "准备中",
"queueStateQueued": "待传",
"queueStateUploading": "上传中",
"queueStateWaitingNetwork": "等待网络",
"queueStateFailed": "失败",
"queueStateInProgress": "进行中",
"queueStateNeedsAttention": "需关注",
"queueStateCompleted": "已完成",
"queueSummaryCompleted": "已完成",
"queueSummaryUploading": "上传中",
"queueSummaryWaiting": "等待中",
"queueSummaryNeedAttention": "需关注",
"queueRowUploadingPercent": "上传中 {percent}%",
"@queueRowUploadingPercent": { "placeholders": { "percent": { "type": "int" } } },
"queueRowConfirming": "正在确认上传",
"queueRowWaitingUpload": "等待上传",
"queueRowPreparing": "正在准备照片",
"queueWaitingNetworkHint": "网络恢复后自动继续",
"queueRowFileUnavailable": "文件不可用",
"queueActionSelectAgain": "重新选择",
"queueActionRemoveRecord": "移除记录",
"queueRemoveRecordTitle": "移除这条记录?",
"queueRemoveRecordBody": "仅移除本机的任务记录,不会删除云端已上传的照片。",
"queueRemoveRecordConfirm": "移除",
"queueRetryAllScope": "仅重试本机的上传失败任务;等待网络的任务会自动恢复。",
"queueTimeAll": "全部时间",
"queueTimeToday": "今天",
"queueTimeLast7Days": "近7天",
@@ -165,6 +194,9 @@
"@captureFailedBadge": { "placeholders": { "count": { "type": "int" } } },
"capturePickFromGallery": "从相册选择",
"captureShutter": "拍摄",
"captureQueuedBadge": "待传 {count}",
"@captureQueuedBadge": { "placeholders": { "count": { "type": "int" } } },
"captureEnqueuedFeedback": "已加入队列",
"captureExitTitle": "退出拍摄?",
"captureExitBody": "还有 {count} 张照片未上传,退出后任务将在后台继续。",
"@captureExitBody": { "placeholders": { "count": { "type": "int" } } },