mirror of
https://github.com/Yuyi-Oak/BlueArchiveToolkit.git
synced 2026-09-18 07:24:55 +08:00
@@ -6,7 +6,7 @@ Rust `bat` 的工作流入口按三个一级命令组织:
|
||||
- `parse`:当前官方 release 的解析和 UnityFS 重打包。
|
||||
- `i18n`:离线翻译工作台、人工文本修改和汉化 release 发布。
|
||||
|
||||
`resource`、`resources`、`translation` 和 `translate` 仍作为长别名接受,但文档示例统一使用 `res` 和 `i18n`。
|
||||
`resource`、`resources`、`translation` 和 `translate` 仍作为长别名接受,但文档示例统一使用 `res` 和 `i18n`;例如 `resource status`、`resource schedule`、`translation tasks`、`translation handoff` 和 `translation status` 都会落到同一组已实现命令。
|
||||
|
||||
## 资源拉取
|
||||
|
||||
@@ -106,7 +106,8 @@ bat i18n unset \
|
||||
--translation-id <text-unit-id>
|
||||
```
|
||||
|
||||
这些工作台操作也可以写成 `bat i18n workbench set|get|unset|validate ...`。
|
||||
这些工作台操作也可以写成 `bat i18n workbench set|get|unset|validate ...`,
|
||||
`--translation-file` 也可简写为 `--workbench`。
|
||||
工作台会保存 source text、release ID、TextUnit 目标和人工译文;发布前会重新读取当前
|
||||
TextUnit 索引,拒绝过期 release、source text 或 patch 目标。
|
||||
|
||||
@@ -149,10 +150,27 @@ bat i18n task update \
|
||||
`--task-status` 支持 Rust contract 中的 `queued`、`running`、`failed`、
|
||||
`completed` 和 `skipped`;命令只更新当前 release 的
|
||||
`translation-tasks.sqlite`,不会创建任意翻译任务。
|
||||
任务查询和交接查询可以用 `bat i18n tasks` / `bat i18n handoff`;
|
||||
汉化发布状态可以用 `bat i18n status`。这些只读入口也可以写成
|
||||
`bat translation tasks|handoff|status`,其中 `translation` / `translate`
|
||||
是一级命令长别名。
|
||||
|
||||
需要把当前汉化 workflow 切到人工校对中时,可用:
|
||||
|
||||
```bash
|
||||
bat i18n proofread \
|
||||
--output /tmp/bat-resources \
|
||||
--localized-output /tmp/bat-localized
|
||||
```
|
||||
|
||||
该命令只改写 `localized-version-state.json` 中的工作流标记,不会改动已发布的
|
||||
汉化 release 指针;如果自动汉化已经发布,后续仍可继续正常发布汉化资源。
|
||||
|
||||
## 持久化调度
|
||||
|
||||
每个一级工作流都可以管理自己的 schedule。调度计划保存在 `--state-dir/bat-schedules.json`,计划记录包含动作、参数、下一次执行时间、周期、剩余次数、启用状态和最近错误。
|
||||
`parse schedule` 与 `res schedule` / `i18n schedule` 共用同一份计划库,
|
||||
`--id` / `--action` 分别是 `--schedule-id` / `--schedule-action` 的简写。
|
||||
|
||||
新增一个每天执行的资源拉取计划:
|
||||
|
||||
@@ -175,6 +193,7 @@ bat res schedule list --state-dir /tmp/bat-schedule
|
||||
bat res schedule update --state-dir /tmp/bat-schedule --schedule-id daily-pull --schedule-every 12h
|
||||
bat res schedule remove --state-dir /tmp/bat-schedule --schedule-id daily-pull
|
||||
bat res schedule run --state-dir /tmp/bat-schedule
|
||||
bat parse schedule list --state-dir /tmp/bat-schedule
|
||||
```
|
||||
|
||||
`parse schedule add` 默认动作是 `run`,`i18n schedule add` 默认动作也是 `run`;可以用 `--schedule-action repack` 或 `--schedule-action publish` 选择对应动作。`--schedule-count` 限定执行次数,省略表示周期无限执行;没有 `--schedule-every` 的计划执行一次后自动停用。
|
||||
@@ -210,6 +229,9 @@ contract:`id`、`group`、`action`、`args`、`next_run_unix_seconds`、
|
||||
`task_id`、`status`,以及可选的 `failure_reason`、`provider_run_id`;
|
||||
该接口只转发 `translation.task.update`。
|
||||
|
||||
`POST /admin/control/translation-proofread` 会把当前汉化 workflow 标记为人工校对中;
|
||||
该接口只转发 `translation.proofread`,不会改动已发布汉化 release 指针。
|
||||
|
||||
## 边界
|
||||
|
||||
解析器新增类型覆盖和新的解析格式仍受 `docs/reports/PARSER_FREEZE.md` 约束。本次 issue 43 的例外只开放已有解析输出的手动编排、缓存刷新、工作台编辑、既有 patch 实现的重打包和独立汉化发布,不扩展 UnityFS/AssetBundle/Addressables/TypeTree 的解析类型覆盖。
|
||||
|
||||
@@ -273,7 +273,10 @@ worker 状态、parse status、TextUnit format、队列 reason 和 provider fail
|
||||
`resource-index` 返回的资源 JSON 包含 release、平台、bundle path、TextAsset 和 TextUnit metadata,
|
||||
并可按 release、平台、destination、bundle path、archive entry、parse status 和 TextUnit format 做资源级过滤;
|
||||
`localized-status` 只有在 `localized-version-state.json`、`current` symlink 和
|
||||
`localized-patch-manifest.json` 都匹配当前官方 release 时才返回 `localized`。
|
||||
`localized-patch-manifest.json` 都匹配当前官方 release 时才返回 `localized`;
|
||||
当 workflow 被 `translation.proofread` 标记为人工校对中时,会额外返回
|
||||
`translation_workflow_status=manual_proofreading` 与
|
||||
`translation_workflow_status_code=translation.manual_proofreading`,但不会遮蔽已发布的汉化 release。
|
||||
|
||||
文件级写入命令只处理显式输入/输出文件,不切换官方或汉化 release:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user