Files
photo-live/apps/viewer/src/i18n/locales/zh-CN.ts
T
浅念 9c3915b387 feat(viewer): UI-02 visual foundation, top bar and album info
V01+V02 (Task 2 of the UI-02 viewer redesign plan):

- viewer-tokens.css: UI-02 §3.1 design tokens scoped to .viewer-shell
  (never :root), so embed routes consume none of them
- App.vue: normal routes get a sticky white top bar (PhotoLive brand +
  compact locale switcher + lightweight "..." menu holding the
  reduce-motion toggle); global 16px content padding removed so banner
  and photos run edge-to-edge; embed shell branch untouched
- LocaleSwitcher: compact "EN/中文 + caret" trigger with a proper menu
  (current language checked), 44px touch target, Escape/outside close
- AlbumHeader (new): banner (2.4:1 mobile, 320px desktop cap,
  object-fit contain, collapses on missing/failed), 2-line expandable
  title + share button (clipboard copy with selectable-text fallback),
  3-line expandable pre-line description, meta row (Intl-formatted
  view count with em-dash fallback for unknown, album-timezone dates
  with full range on title, venue), Latest/Popular 44px tabs and
  category pills from the API with horizontal scroll + overflow fade
- ActivityPage: delegates the info area to AlbumHeader; sequence
  reset/sort-lock/category-by-id semantics unchanged; desktop content
  capped at 1120px
- i18n: viewer.* strings (brand/share/views/readMore/latest/popular/
  allCategories/noPhotos/newPhotos/reduceMotion/settings) in zh-CN+en
- tests: viewer-shell (token source + normal/embed isolation) and
  album-header (8 cases) specs; activity/i18n specs updated for the
  menu switcher and the em-dash unknown view count; e2e selectors
  refreshed

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-21 21:22:36 +08:00

102 lines
3.7 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
export default {
app: { title: '现场相册' },
home: { hint: '打开相册链接即可观看' },
album: {
loading: '加载中…',
loadingMore: '加载更多…',
emptyNotice: '照片即将上线',
time: '时间',
venue: '地点',
views: '浏览次数',
categories: '分类',
all: '全部',
sortLabel: '排序',
sortLatest: '最新',
sortHot: '热门',
end: '已经到底了',
newPhotos: '有新照片,点击查看',
retry: '重试',
},
lang: { switch: '切换语言' },
prefs: { reduceMotion: '减少动画' },
// 嵌入轮播 iframe 页(P4b Task 4;UI-01 补全):独立于宿主语言的词条子集
// (lang 查询驱动)。图片无真实描述时只给上下文标签(§5.3 不编造画面)。
embed: {
comingSoon: '照片即将上线',
openPhoto: '查看照片大图',
close: '收起组件',
widgetTitle: '活动照片',
carouselLabel: '照片轮播',
slideOf: '第 {n} 张,共 {m} 张',
photoAlt: '活动照片,第 {n} 张',
viewAlbum: '查看相册',
pause: '暂停轮播',
play: '播放轮播',
prev: '上一张',
next: '下一张',
},
download: {
action: '下载图片',
original: '下载原图',
options: '下载选项',
busy: '准备中…',
failed: '下载失败,请重试',
// 微信内置浏览器引导(不支持程序化下载):长按保存 + 复制链接离场。
wechatTitle: '保存图片指引',
wechatHint: '微信内打开的页面不支持直接下载。请长按上方图片保存到手机,或复制链接后在浏览器中打开再下载。',
copyLink: '复制链接',
copied: '已复制链接',
copyFailed: '复制失败,请长按选择下方链接复制',
dismiss: '知道了',
},
viewer: {
title: '照片查看',
close: '关闭',
previous: '上一张',
next: '下一张',
counter: '{current} / {total}',
like: '点赞',
likeCount: '{count} 次点赞',
bubbleOpen: '查看被点赞的照片',
loadFailed: '图片加载失败',
photoRemoved: '照片已被移除',
// PHOTO_NOT_PUBLIC 专用:不存在/未发布/已隐藏同码(防枚举),文案覆盖两种成因。
photoUnavailable: '照片不存在或已下线',
backToAlbum: '返回相册',
// —— UI-02(V01/V02)新增 ——
brand: 'PhotoLive',
settings: '设置',
share: '分享',
shareCopied: '链接已复制',
shareCopyFailed: '复制失败,请手动复制链接:',
views: '{count} 次浏览',
viewsUnknown: '—',
readMore: '展开',
readLess: '收起',
latest: '最新',
popular: '热门',
allCategories: '全部',
noPhotos: '照片即将上线',
newPhotos: '有新照片',
reduceMotion: '减少动画',
},
route: { tokenLabel: '相册令牌', photoLabel: '照片' },
errors: {
albumNotFound: '相册不存在',
// ALBUM_NOT_PUBLIC 专用:offline / publicEnabled=false / 幽灵 token 同码(防枚举),
// 文案需同时覆盖「不存在」与「已下线」两种用户可理解成因。
albumNotAvailable: '相册不存在或已下线',
photoNotFound: '照片不存在',
notFound: '页面不存在',
authExpired: '登录已过期',
forbidden: '没有权限',
rateLimited: '操作过于频繁,请稍后再试',
validationFailed: '请求参数有误',
internal: '服务暂时不可用,请稍后再试',
unknown: '出错了,请稍后再试',
network: '网络连接失败,请检查网络',
// DOWNLOAD_DISABLED(P4a 下载两级开关):相册可见但未开放下载。
downloadDisabled: '该相册未开放下载',
},
};