Imported from xiayu519/Tyou (
.agents/skills/localization-dev/SKILL.md). Install upstream withnpx skills add xiayu519/Tyou --skill localization-dev. Copyright stays with the author.
Tyou 多语言工作流
本 skill 只负责 Tyou 多语言文案流程。配表读写、字段变更和导表细节必须使用 luban-dev。
核心路径
- 读取
.agents/skills/luban-dev/SKILL.md和.agents/skills/tyou-dev/references/luban-config.md。 - 只改源表:
Design/config/#TableLocalizationText.xlsx。 - 当前字段:
id、key、zh_cn、en_us。 - 写表前先查重:
key必须稳定且唯一,id不重复。 - 写表前先做文案复用判断,避免重复行。
- 写表必须通过
luban-dev的安全流程;能用luban_helper.py就优先用它,写操作必须带--write。 - 导表只使用
Design/tools/genBin.bat。 - 运行时只通过
tyou.i18n.get(key, ...args)或LocalizeLabel使用。
复用判断
- 新增文案前先查询
TableLocalizationText现有行,优先用luban_helper.py table get TableLocalizationText或更窄的row query。 - 如果已有行的
zh_cn和en_us与目标文案完全一致,直接复用该行id/key,不新建一模一样的行。 - 如果已有行语义接近但文本不完全一致,并且候选范围很小、上下文已在手边或 token 成本低,则列出候选
id/key、现有文案和差异点,让开发者确认复用旧行还是新建精确文案。 - 如果表很大、需要大范围语义比较或会明显消耗上下文,只做完全一致判断,并在回复中说明未做语义近似扫描。
- 语义接近的行未经开发者确认不得擅自复用;完全一致的行可以直接复用。
禁止
- 不手写多语言字典作为主路径。
- 不直接修改
Client/assets/scripts/proto/config/bin/schema.ts。 - 不手改
Client/assets/asset-raw/config/game/*.bin。 - 不直接解析
.bin判断文案内容。 - 不绕过 Luban 源 Excel 补运行时兜底文本。
常用操作
只读确认:
python .agents/skills/luban-dev/scripts/luban_helper.py table get TableLocalizationText
python .agents/skills/luban-dev/scripts/luban_helper.py field list TableLocalizationText
python .agents/skills/luban-dev/scripts/luban_helper.py row query TableLocalizationText --conditions key=common_ok
导表:
Design/tools/genBin.bat
运行时:
const text = tyou.i18n.get("common_ok");
const textWithArg = tyou.i18n.get("item_count", count);
UI Label:
labelNode.getComponent(LocalizeLabel)?.setKey("common_ok");
验证
- 源表存在目标
key,且zh_cn/en_us有值。 - 导表成功,生成的
schema.ts与game/*.bin只作为导表产物变化。 TableModule.onCreate()后tyou.i18n可通过TbTableLocalizationText读取文本。- 缺 key 时运行时返回
#key#,不要用业务代码吞掉这个信号。
