feat(i18n): UI 字典串接与三页薄化——/en/ 全站落成
- op-gitea 车道:ui.ts 扩 26 键(占位 {n}/{title}/{exif} 约定),五组件
locale prop 串接,zh 零回归(48 键/18 页实测)
- orchestrator 收尾:gallery/moments/about 三页 body 提取为
components/pages/*Page(zh/en 薄页双路由),/en/ 全家福 21 页
- 提取工程三坑入库:HTML 注释不可进 frontmatter 模块区;搬移脚本会吃
开栏 ---;单级页面搬二级目录后 import 全线差一层
验证: astro build 21 页 exit 0;/en/ 七类路由产物断言过;en 页
ICP 备案保留;zh 侧文案抽查不变
Spec: 2026-10-25_add-blog-i18n
Co-authored-by: GLM-5.3
This commit is contained in:
1 parent
c74815b516
commit
4aa79fca06
13 files changed
+757
-653
No files matched your search
@@ -28,6 +28,42 @@ const dict = {
|
||||
zh: '本文由机器翻译自中文原文,欢迎指正。',
|
||||
en: 'Machine-translated from the Chinese original. Corrections welcome.',
|
||||
},
|
||||
|
||||
// ===== T2 车道(op-gitea):Footer/SearchDialog/gallery/moments/about 静态文案 =====
|
||||
// footer_icp 是法定备案标识,英文页照抄不译
|
||||
search_no_results: { zh: '无结果', en: 'No results' },
|
||||
footer_icp: { zh: '陕ICP备2026014860号-1', en: '陕ICP备2026014860号-1' },
|
||||
gallery_title: { zh: '图库', en: 'Gallery' },
|
||||
gallery_filter_legend: { zh: '分组筛选', en: 'Filter by group' },
|
||||
gallery_filter_all: { zh: '全部', en: 'All' },
|
||||
gallery_filter_street: { zh: '街拍', en: 'Street' },
|
||||
gallery_filter_landscape: { zh: '风景', en: 'Landscape' },
|
||||
// {n}/{title}/{exif} 为占位符,调用点 .replace() 填值
|
||||
gallery_count: { zh: '共 {n} 张 · EXIF 构建期自动提取', en: '{n} photos · EXIF extracted at build time' },
|
||||
gallery_view_aria: { zh: '查看大图:{title}', en: 'View photo: {title}' },
|
||||
gallery_view_aria_exif: { zh: '({exif})', en: ' ({exif})' },
|
||||
gallery_lightbox_label: { zh: '照片查看', en: 'Photo viewer' },
|
||||
gallery_lightbox_close: { zh: '关闭(Esc)', en: 'Close (Esc)' },
|
||||
gallery_lightbox_prev: { zh: '上一张(←)', en: 'Previous (←)' },
|
||||
gallery_lightbox_next: { zh: '下一张(→)', en: 'Next (→)' },
|
||||
gallery_lightbox_original: { zh: '原图', en: 'Original' },
|
||||
gallery_lightbox_download: { zh: '下载', en: 'Download' },
|
||||
moments_title: { zh: '瞬间', en: 'Moments' },
|
||||
moments_note: { zh: '零碎的记录:随手拍、一句话感想、开源动态。', en: 'Fragmented notes: casual shots, one-liners, and open-source updates.' },
|
||||
about_title: { zh: '关于', en: 'About' },
|
||||
about_tracks_title: { zh: '兴趣版图', en: 'Interests' },
|
||||
about_track_reading_name: { zh: '阅读', en: 'Reading' },
|
||||
about_track_reading_desc: { zh: '文学与戏剧为主,读到哪写到哪。', en: 'Mostly literature and drama; I write as I read.' },
|
||||
about_track_tech_name: { zh: '技术', en: 'Tech' },
|
||||
about_track_tech_desc: { zh: 'Linux、容器与自托管,把家里的小机器折腾成顺手的工具。', en: 'Linux, containers, and self-hosting — turning the little machines at home into handy tools.' },
|
||||
about_track_photo_name: { zh: '摄影', en: 'Photography' },
|
||||
about_track_photo_desc: { zh: '街拍与山野,随身一台无反,在等光的间隙按快门。', en: 'Street and landscapes with a mirrorless camera, pressing the shutter while waiting for the light.' },
|
||||
about_build_aria: { zh: '本站构建说明', en: 'Site build notes' },
|
||||
about_build_title: { zh: '本站如何构建', en: 'How this site is built' },
|
||||
about_build_desc: {
|
||||
zh: '页面由 Astro 静态生成,不含运行时框架 JS;内容住在自托管 gitea——本地编辑器与 gitea 网页写的是同一个 git 仓库,push 之后由 homelab 自动构建发布;评论走自托管 Artalk。页脚 built from 一行链到本次构建对应的 commit,构建过程透明可追溯。',
|
||||
en: 'Pages are statically generated by Astro with no runtime framework JS. Content lives on a self-hosted gitea — my local editor and the gitea web UI write to the same git repository, and each push is built and published automatically by the homelab. Comments run on self-hosted Artalk. The built-from line in the footer links to the commit behind this build, keeping the process transparent and traceable.',
|
||||
},
|
||||
} as const;
|
||||
|
||||
export type UiKey = keyof typeof dict;
|
||||
|
||||
Reference in new issue
Block a user