词表与映射
CLIFF 的固定标签集是封闭的:未列出的取值是有效性错误。本页给出完整词表、每条含义与插件的推导规则。
type(26)
词级(11)
| 值 | 含义 |
|---|---|
noun | 名词:事物、地点、概念 |
verb | 动词:动作或状态 |
adjective | 形容词:属性、性质 |
adverb | 副词:方式、时间、程度 |
pronoun | 代词 |
numeral | 数词 |
preposition | 介词 / 后置词 |
conjunction | 连词 |
particle | 语法小品词 |
interjection | 感叹词 / 语气词 |
proper-noun | 专有名词:人名、地名、品牌、船名、方块名 |
短语级(6)
| 值 | 含义 |
|---|---|
noun-phrase | 多词名词短语 |
verb-phrase | 多词动词短语 |
adjective-phrase | 多词形容词短语 |
adverb-phrase | 多词副词短语 |
fixed-phrase | 固定复合词 / 固定多词术语(如 “The Block of Grass”) |
idiom | 习语、固定表达 |
文本 / 功能级(9)
| 值 | 含义 |
|---|---|
sentence | 无特殊功能的独立句子 |
description | 描述文本:物品、技能、任务、产品 |
narration | 故事 / 画外音旁白 |
dialogue | 口语对话 |
monologue | 心理活动 / 独白 |
prompt | UI 指引、工具提示、提示文本 |
label | 短 UI 标签、按钮、菜单项 |
subtitle | 对白字幕 |
accessibility-cue | 面向无障碍的字幕提示(如听障声效字幕 [door creaks]) |
NOTE
glossary变体的条目应当使用术语级子集(词级 11 + 短语级 6 = 17 个);使用其他type会被严格校验器警告,但不判为错误。
emotion(23)
| 值 | 含义 |
|---|---|
neutral | 无明显情绪;普通表达 |
objective | 客观陈述、信息性(旁白、标签、名词);非言语类默认值 |
mechanical | 刻意无感情的机器 / 机器人语气;绝不做默认值 |
joyful | 快乐、积极、庆祝 |
sad | 悲伤、遗憾、失望 |
angry | 从烦躁到暴怒 |
fearful | 恐惧、惧怕、恐慌 |
surprised | 意外发现、震惊 |
curious | 兴趣、询问、想知道 |
disgusted | 厌恶、反感 |
anxious | 担心、不安 |
calm | 令人安心、抚慰、从容 |
playful | 调侃、幽默、轻松 |
serious | 庄重、沉重、正式重要 |
urgent | 时间压力、警告 |
romantic | 爱意、亲密、调情 |
hopeful | 乐观、鼓舞 |
grateful | 感谢、感激 |
formal | 高语域、尊敬、仪式 |
informal | 随意、亲近 |
polite | 礼貌、温和请求 |
rude | 生硬、侮辱、攻击性 |
nostalgic | 怀旧、怅惘 |
- 值始终是列表(至少一个元素):
emotion: [calm, polite] - 多标签是合取语义:
[anxious, polite]= 焦虑且礼貌 - 矛盾组合(如
[formal, informal])合法,但应避免;验证器可给出警告
默认值规则
未显式写 emotion 时按生效 type 推导:
| 生效 type | 默认 emotion |
|---|---|
dialogue、monologue、idiom | [neutral] |
| 其他所有 | [objective] |
显式写出的 emotion 永远覆盖默认值。
status(4)
| 值 | 含义 | 是否必须有 target |
|---|---|---|
initial | 尚无目标文本(抽取态) | 可省略 |
translated | 已有目标文本,尚未人工审阅 | 必须 |
reviewed | 已通过(人工)审阅 | 必须 |
final | 已锁定待发布 | 必须 |
状态机:initial → translated → reviewed → final,任意状态都可以回到 translated(源文变更 / 返工导致审校失效)。每条目必填、无默认值。
NOTE
status: initial却带有target是合法但会告警的组合(校验器给出target is present but status is 'initial')。插件导入时按initial处理:只写 manifest,不写 archive 译文。
variant(2)
| 值 | 含义 |
|---|---|
standard(默认) | 普通翻译单元文件 |
glossary | 术语表文件:每个条目是一个术语而非一段行文,语法与字段完全相同 |
glossary 约定:clan 建议为被服务 clan 加后缀 -terms(settings → settings-terms),全项目共享术语表用 clan: terms;由 standard 文件通过 dependency 引用;status 为 reviewed / final 的条目不得被覆盖。
插件如何推导这些字段
导入(CLIFF → UE)
| CLIFF | 落点 |
|---|---|
type | archive KeyMetadataObj 的 cliff.type(条目优先,否则组的继承值) |
emotion | cliff.emotion(逗号连接) |
status | cliff.status;initial 只写 manifest |
context | cliff.context + manifest 的 SourceLocation |
导出(UE → CLIFF)
| CLIFF | 优先级 |
|---|---|
type | cliff.type → Namespace to Type → sentence + warning |
emotion | cliff.emotion → Namespace to Emotion → 按 type 的默认规则 |
status | cliff.status(∈ 词表且非 initial)→ 有译文则 translated、无译文则 initial |
context | cliff.context → SourceLocation |
默认映射表
clan ⇄ UE Namespace type 映射 emotion 映射
category ⇄ UObjectCategory → label —
tooltip ⇄ UObjectToolTips → prompt —
short-tooltip ⇄ UObjectShortTooltips → prompt —
display-name ⇄ UObjectDisplayNames → proper-noun —
proper-noun ⇄ UObjectDisplayNames → proper-noun —
dialogue ⇄ Dialogue → dialogue → neutral
完整说明见 语义映射。
常见错误写法
| 错误 | 正确 | 原因 |
|---|---|---|
emotion: calm | emotion: [calm] | 列表字段必须带方括号 |
emotion: "calm" | emotion: [calm] | 标签不加引号,且必须是列表 |
type: "label" | type: label | 标签不加引号 |
status: "final" | status: final | 同上 |
reference: "src/ui.cpp:12" | reference: ["src/ui.cpp:12"] | 列表字段,单项也要方括号 |
dependency: "terms.cliff" | dependency: ["terms.cliff"] | 同上 |
type: paragraph | 按语义选 description / sentence | paragraph 不在 26 个词表内 |
emotion: Sadness | emotion: [sad] | 词表只接受小写精确值 |
status: Final | status: final | 同上 |