Files
photo-live/apps/mobile/lib/l10n/app_zh.arb
T
浅念 955f9b13c1 feat(mobile): upload queue ui and continuous capture page
Task 9 (P3 plan): queue tab replaces the stub, continuous capture page
enqueues per shot, album detail gains an upload FAB, and the upload
engine lifecycle is now bound to the login session.

- Engine scope: session account drives UploadEngine start/stop; wired
  from app boot, login success, logout, and 401 eviction. Tasks stay in
  the store across logout (accountId hard isolation).
- Queue tab: album x state x time filter bar, task rows with thumbnail,
  state chip, localized error copy, attempt count, per-row progress via
  a broadcast progress hub, state-dependent actions (re-pick retry,
  retryNow, cancel, delete), batch retry bar, 200ms-debounced live
  refresh from drift table updates.
- Capture page: camera preview via injected CaptureSource, one enqueue
  per shutter press, persistent album/category/badges overlay with a
  switch-only-affects-new-shots hint, gallery multi-pick, exit confirm
  while uploads are pending, permission-denied and init-failure views.
- POST_NOTIFICATIONS runtime permission via a small MethodChannel
  (photolive/permissions) + PermissionPlugin.kt: single runtime
  permission need, avoids permission_handler dependency; requested once
  on first enqueue, silent degradation when denied or unavailable.
- Album detail FAB: capture-and-upload / pick-from-gallery sheet.
- l10n: ~50 new keys in zh/en arbs; tests: +45 (filter matrix, engine
  scope lifecycle, permission gate, queue tab, capture page, FAB entry);
  existing page tests updated to inject session/task-store fakes.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-19 04:47:31 +08:00

177 lines
7.4 KiB
Plaintext

{
"@@locale": "zh",
"appName": "现场影像",
"login": "登录",
"logout": "退出登录",
"username": "账号",
"password": "密码",
"albums": "相册",
"albumDetail": "相册详情",
"queue": "上传队列",
"settings": "设置",
"language": "语言",
"localeFollowSystem": "跟随系统",
"localeChinese": "中文",
"localeEnglish": "English",
"retry": "重试",
"cancel": "取消",
"errorGeneric": "出错了,请重试",
"ok": "好的",
"homeTabAlbums": "相册",
"homeTabQueue": "队列",
"homeTabSettings": "设置",
"loginHint": "使用工作人员账号登录",
"fieldRequired": "此项为必填项",
"passwordChangeTitle": "修改密码",
"currentPassword": "当前密码",
"newPassword": "新密码",
"confirmNewPassword": "确认新密码",
"passwordMinLength": "新密码至少需要 8 个字符",
"passwordMismatch": "两次输入的新密码不一致",
"passwordChangeSuccess": "密码已修改",
"errorAuthInvalidCredentials": "账号或密码错误",
"errorOldPasswordIncorrect": "当前密码错误",
"errorAuthRateLimited": "尝试次数过多,请稍后再试",
"errorAuthTokenExpired": "会话已过期,请重新登录",
"errorValidation": "输入有误,请检查后重试",
"errorNetwork": "网络连接失败,请检查网络后重试",
"errorNetworkTimeout": "网络超时,请重试",
"errorInternal": "服务暂时不可用,请稍后重试",
"albumsEmpty": "暂无相册,点击「新建相册」开始",
"loadMoreFailed": "加载更多失败,点击重试",
"albumCreate": "新建相册",
"albumEdit": "编辑相册",
"albumTitle": "标题",
"albumDescription": "描述",
"albumVenue": "场地",
"albumAddress": "地址",
"albumDefaultLocale": "默认语言",
"albumStartAt": "开始时间",
"albumEndAtOptional": "结束时间(可选)",
"clearEndAt": "清除结束时间",
"albumTimezone": "时区",
"albumTimezoneInvalid": "无效的 IANA 时区名称",
"switchUpload": "允许上传",
"switchPublic": "公开可见",
"switchDownload": "允许下载",
"switchOriginalDownload": "允许下载原图",
"formStartAtRequired": "请选择开始时间",
"formDefaultLocaleMissing": "默认语言必须填写标题",
"formTitleRequiredWithFields": "填写了描述/场地/地址时,标题不能为空",
"formEndAtNotAfterStartAt": "结束时间必须晚于开始时间",
"create": "创建",
"save": "保存",
"albumStatusActive": "正常",
"albumStatusOffline": "下线",
"tagUpload": "上传",
"tagPublic": "公开",
"tagDownload": "下载",
"tagOriginal": "原图",
"notSet": "未定",
"actionEdit": "编辑",
"albumMembers": "成员管理",
"albumCategories": "分类管理",
"shareQrTitle": "分享二维码",
"albumPhotos": "照片管理",
"delete": "删除",
"deleteConfirmCategory": "确定删除该分类?该分类下的照片将变为未分类。",
"categoryEmpty": "暂无分类,点击右上角新增",
"categoryAdd": "新增分类",
"categoryEdit": "编辑分类",
"categoryNameZh": "中文名称",
"categoryNameEn": "英文名称",
"categorySortOrder": "排序序号",
"categoryNameRequired": "至少填写一个语言的名称",
"categorySortOrderInvalid": "排序序号必须是整数",
"albumMembersEmpty": "暂无成员",
"inviteSearchHint": "输入账号前缀搜索邀请(至少 2 个字符)",
"inviteNoResults": "未找到匹配用户",
"invite": "邀请",
"memberInvited": "已邀请",
"removeMember": "移除成员",
"removeMemberConfirm": "确定移除该成员?",
"roleOwner": "创建者",
"roleCollaborator": "协作者",
"selfMarker": "(我)",
"errorMemberConflict": "该用户已是相册成员",
"qrHint": "扫码或打开链接观看",
"copyLink": "复制链接",
"copiedToClipboard": "已复制",
"photosTask9Placeholder": "照片管理为占位版本,完整功能将在任务 9 上线",
"albumPhotosEmpty": "暂无照片",
"visibilityPublished": "已发布",
"visibilityUnpublished": "未发布",
"visibilityHidden": "已隐藏",
"visibilityDeleted": "已删除",
"procPendingUpload": "待上传",
"procUploaded": "已上传",
"procProcessing": "处理中",
"procReady": "就绪",
"procProcessingFailed": "处理失败",
"queueStubHint": "本机待传队列与连拍管理将在任务 9 上线",
"serverHistoryEntry": "查看服务端上传历史",
"serverHistoryTitle": "服务端上传历史",
"serverHistoryBanner": "服务端历史(跨设备)——本机待传队列请看「队列」页",
"serverHistoryEmpty": "暂无上传记录",
"uploadStatePending": "待完成",
"uploadStateConfirmed": "已确认",
"uploadStateCancelled": "已取消",
"uploadStateExpired": "已过期",
"thisDevice": "本设备",
"queueAlbumFilterAll": "全部相册",
"queueStateAll": "全部",
"queueStatePreparing": "准备中",
"queueStateQueued": "待传",
"queueStateUploading": "上传中",
"queueStateWaitingNetwork": "等待网络",
"queueStateFailed": "失败",
"queueStateCompleted": "已完成",
"queueTimeAll": "全部时间",
"queueTimeToday": "今天",
"queueTimeLast7Days": "近7天",
"queueTimeLast30Days": "近30天",
"queueEmpty": "暂无上传任务",
"queueRetryAllFailed": "一键重试全部失败",
"queueAttemptCount": "已尝试 {count} 次",
"@queueAttemptCount": { "placeholders": { "count": { "type": "int" } } },
"taskStatePreparing": "准备中",
"taskStatePreparationFailed": "准备失败",
"taskStateQueued": "待上传",
"taskStateUploading": "上传中",
"taskStateUploadedConfirming": "确认中",
"taskStateCompleted": "已完成",
"taskStateWaitingNetwork": "等待网络",
"taskStateRetryableFailed": "上传失败",
"taskStateCancelled": "已取消",
"errorPrepSourceUnreadable": "无法读取所选图片,请重新选择",
"errorPrepUnsupportedType": "仅支持 JPG/PNG/HEIC 图片",
"errorPrepTooLarge": "图片超过 50MB 上限",
"errorPrepCopyFailed": "保存图片副本失败,请重试",
"errorUploadSourceMissing": "源文件已缺失,请重新选择",
"errorAlbumUploadDisabled": "相册已关闭上传",
"errorUploadSessionConflict": "上传会话冲突,请重试",
"errorUploadVerifyFailed": "上传核验失败,将自动重试",
"captureTitle": "连拍上传",
"captureCategoryDefault": "默认分类",
"captureSwitchHint": "切换分类仅影响之后拍摄的照片",
"capturePendingBadge": "待传 {count}",
"@capturePendingBadge": { "placeholders": { "count": { "type": "int" } } },
"captureFailedBadge": "失败 {count}",
"@captureFailedBadge": { "placeholders": { "count": { "type": "int" } } },
"capturePickFromGallery": "从相册选择",
"captureShutter": "拍摄",
"captureExitTitle": "退出拍摄?",
"captureExitBody": "还有 {count} 张照片未上传,退出后任务将在后台继续。",
"@captureExitBody": { "placeholders": { "count": { "type": "int" } } },
"captureKeepShooting": "继续拍摄",
"captureExitConfirm": "退出",
"cameraPermissionDenied": "无法访问相机,请在系统设置中允许相机权限",
"cameraInitFailed": "相机初始化失败",
"uploadActionCapture": "拍照上传",
"uploadActionPick": "从相册选择",
"uploadAction": "上传",
"uploadEnqueuedCount": "已加入 {count} 张上传队列",
"@uploadEnqueuedCount": { "placeholders": { "count": { "type": "int" } } },
"uploadPickNone": "未选择照片"
}