feat(terminal): /en/terminal 双语薄壳——命令行为零分叉

- terminal.astro 抽 locale prop:frontmatter 静态文案 + script 层
  zh/en 双 DICT(命令描述/ls 路由表/whoami/exit 目标),双轨共享
  一份 chunk;路径守卫 Set{/terminal,/en/terminal}
- en/terminal.astro 四行薄壳 <TerminalPage locale="en" />
- Keyboard 帮助表 terminal 词条按 /en/ 前缀改写(其余表格文案
  双语化留给独立车道,注释已标)

车道:op-artalk(自验 15/15);收编验收 build+双轨 playwright 过——
首验 FAIL 系验收方误用 textContent 吞了内联脚本中文注释,innerText
复核零中文,非车道缺陷

验证: pnpm astro build 30 页 exit 0(双产物);双轨 playwright 验收
      (en 可见文案零中文/ls en 路由表/zh 回归/Keyboard 词条)全过

Spec: none (页型双语薄壳,车道级小活)

Co-authored-by: GLM-5.3
This commit is contained in:
wait4xandGLM-5.3 committed 2026-10-25 20:24:13 +08:00
1 parent f57b1bde5f
commit b18d019a2e
3 files changed
+110 -35

No files matched your search

+5 -1
View File
@@ -21,7 +21,7 @@ const routes: Record<string, string> = {
<tr><td><kbd>g</kbd> <kbd>a</kbd></td><td>文章</td></tr>
<tr><td><kbd>g</kbd> <kbd>g</kbd></td><td>图库</td></tr>
<tr><td><kbd>g</kbd> <kbd>m</kbd></td><td>瞬间</td></tr>
<tr><td><kbd>/terminal</kbd></td><td>终端彩蛋</td></tr>
<tr><td><kbd>/terminal</kbd></td><td class="k-term-desc">终端彩蛋</td></tr>
<tr><td><kbd>Esc</kbd></td><td>关闭浮层</td></tr>
</tbody>
</table>
@@ -33,6 +33,10 @@ const routes: Record<string, string> = {
// 路由表由 data-routes 注入(module 脚本里 currentScript 恒为 null,不能走内联取参)
const helpEl = document.getElementById('kbd-help') as HTMLElement & { dataset: { routes?: string } };
const routes: Record<string, string> = JSON.parse(helpEl?.dataset.routes ?? '{}');
// en 轨仅切换终端行词条(帮助表其余文案的双语化另行车道)
if (location.pathname === '/en' || location.pathname.startsWith('/en/')) {
document.querySelector('.k-term-desc')?.replaceChildren(document.createTextNode('terminal'));
}
let chord = '';
let chordTimer: number | undefined;