feat: pair community post translations

This commit is contained in:
hajimi
2026-08-02 02:27:04 +08:00
parent ac20d5d914
commit 18b7f843ae
3 changed files with 204 additions and 65 deletions
@@ -10,6 +10,7 @@
- 参考 `uniapp/src/pages/news_detail/news_detail.vue` 的句子拆分与按序配对逻辑。
- 双语帖子不再把正文前 42 个字符自动截成标题,避免产生并不存在的标题。
- 原文或译文句数不一致时不丢失任何内容。
- 付费特朗普帖子解锁后若尚无译文,异步触发现有翻译接口,无需刷新页面。
- 无译文帖子、付费锁定、图片、标签、互动和评论逻辑保持不变。
## 方案比较
@@ -29,7 +30,7 @@
## 数据与配对规则
1. 将原文和译文统一换行符并清理空行。
2. 人工换行时优先按人工行拆分;只有一行时,按中英文句末标点拆
2. 先保留人工换行的顺序,再将每一行按中英文句末标点拆成句子
3. 使用两个拆分结果的最大长度创建配对数组。
4. 同一索引的原文和译文组成一组;缺少一侧时只显示存在的内容。
5. 译文为空时继续使用原来的标题、摘要展示,不进入双语模式。
@@ -48,9 +49,9 @@
- 原文或译文只有一段:仍形成一个配对组。
- 句数不一致:尾部未配对句子继续显示。
- 付费内容锁定:沿用后端返回的可见内容范围,不在前端拼接隐藏内容。
- 付费内容解锁:先展示完整原文,再异步获取译文并切换为逐句配对,不阻塞解锁成功提示。
## 改动范围
- 修改 `uniapp/src/packages_community/pages/post_detail.vue`
- 不修改 API、后端翻译接口、数据库和页面路由。