601451f22b
Overlay ~150 upstream items onto our V8.12 base, preserving trade-pro
theme, registry tests, and design docs. Re-applied our patch set
(discovery/env_for/blocks.css/type-mapping/theme_color/frontend entries,
test_theme_pro_v3 mods) — all anchors survived upstream evolution.
New platform enhancement (fixes upgrade-introduced regression):
multilingual.site_locale now honors settings_json.locale, plus
PUT /api/i18n/sites/{id}/locale — standalone English sites get
<html lang='en'> under the V8.15 locale-rewrite pipeline.
compose: adopt V8.21.3 (image 8.21.3-dev.1, /api/ready probes, MySQL/S3
env) with project name pinned to siteforge-v8-10 (data volumes).
Tests: 356 passed / 11 failed — all 11 confirmed pre-existing in
pristine V8.21.3 on this host (10 upstream Windows env + our build test
now green after locale fix). Patch registry updated in plan doc.
Co-Authored-By: Claude Code <noreply@anthropic.com>
2.8 KiB
2.8 KiB
SiteForge Enterprise V8.15 — P6 多语言建设与验收
本轮完成的能力
| 验收点 | 状态 | 证据 |
|---|---|---|
| 多语言站点组和默认语言 | 本地通过 | language_groups / language_sites / API |
| 同一内容关联不同语言页面 | 本地通过 | translation_units / translation_members |
| 已审核、已发布页面生成双向 hreflang | 本地通过 | 中英两站实际构建 + 自动化测试 |
| sitemap 含 XHTML hreflang | 本地通过 | 两站 sitemap.xml 验证 |
| 不存在的翻译不生成伪造链接 | 本地通过 | 缺失、草稿、noindex 测试 |
| 待翻译内容不能意外发布 | 本地通过 | 仅 draft 可 pending,误设 published 时拒绝静态构建 |
| x-default 指向默认语言 | 本地通过 | 明确默认语且存在审批页面才输出 |
| 前台语言切换导航 | 代码完成 | 动态注入,并需真实浏览器视觉验收 |
| 后台多语言菜单及表单 | 代码完成 | 集成 JS / API,真实浏览器端操作仍待验收 |
| 原 243 项测试兼容 | 本地通过 | 本地 pytest 248 passed(含 5 项 P6 专项) |
| 真实 Docker、Chrome、正式域名 | 待验收 | 当前环境无完整 Docker/远程域名实机测试 |
主要限制
- 域名模式:目前一个语言站一个独立 HTTPS 域名或子域名;同域子路径需进一步设计反向代理、站点构建根路径和 sitemap。
- 翻译质量:不自动翻译事实,
approved表示人工确认的状态标记,不包含另一人独立翻译审批的完整审计流程。 - 动态语言链接:已发布数据可生成对应 URL;必须额外核对真正上线服务器是否已有该版本,不等于远程可访问性证明。
- 各主题国际化:四套主题中部分组件和预设仍为中文。正式外语商业交付需按语言提供真实导航、字段标题和空状态文案。
- 企业生产:Art Design Pro 官方完整工程、PostgreSQL/Redis 多实例、真实 SFTP/S3 等依旧需要实机验收。
手工部署验收步骤
- 在新 Docker 项目卷启动 V8.15;核对
/api/health返回8.15.0-dev.1与期望提交 SHA。 - 创建两个真实的 HTTPS 语言域名站,填写翻译过的公司主页和产品页。
- 建立一组真实对应关系;分别构建和下载静态站,验证 URL、html lang、canonical、sitemap、hreflang 的对称性。
- 随机挑选缺翻译、草稿和 noindex 的页面,确认其不会产生无效的互链;将 pending 内容错误设为 published,确认构建被拒绝。
- Chrome/手机端点击前台语言切换,验证页面存在、焦点可达、移动布局无溢出。
- 正式发布前审批,两站完成远程发布后从公网检查首页和内页的 hreflang 相互指向,不将示例
.example.org域名当作有效服务。