中英双语

This commit is contained in:
tianmo committed 2026-10-22 18:13:43 +08:00
1 parent ea26af26ee
commit b98c0333e6
50 files changed
+4082 -2049

No files matched your search

@@ -2,17 +2,17 @@
<!-- 7. 导出设置:当前阶段只维护参数,后续接入 JSON 生成。 -->
<div class="group">
<div class="group-head" @click="toggle('export')">
<span class="caret">{{ collapsed.export ? '▸' : '▾' }}</span><span>导出设置</span>
<button class="group-reset" title="重置导出设置" @click.stop="resetModule('export')">重置</button>
<span class="caret">{{ collapsed.export ? '▸' : '▾' }}</span><span>{{ $t('export.title') }}</span>
<button class="group-reset" :title="$t('export.reset')" @click.stop="resetModule('export')">{{ $t('common.reset') }}</button>
</div>
<div class="group-body export-settings" v-show="!collapsed.export">
<label class="export-field">
<span>图片路径 (Spine Images Path)</span>
<span>{{ $t('export.imagesPath') }}</span>
<input v-model.trim="exportSettings.imagesPath" class="inp export-input" type="text" placeholder="./images/" />
</label>
<label class="export-field">
<span>Spine 版本</span>
<span>{{ $t('export.spineVersion') }}</span>
<select v-model="exportSettings.spineVersion" class="inp export-input">
<option value="3.8">Spine 3.8</option>
<option value="4.0">Spine 4.0</option>
@@ -23,36 +23,36 @@
</label>
<label class="export-field">
<span>关键帧插值曲线</span>
<span>{{ $t('export.keyframeCurve') }}</span>
<select v-model="exportSettings.keyframeCurve" class="inp export-input">
<option value="linear">线性 (Linear)</option>
<option value="bezier">平滑贝塞尔 (Smooth Bézier)</option>
<option value="linear">{{ $t('export.linear') }}</option>
<option value="bezier">{{ $t('export.smoothBezier') }}</option>
</select>
</label>
<div class="export-help">平滑贝塞尔会在误差允许范围内拟合连续运动;出生、死亡、附件切换和突变仍使用阶跃关键帧。</div>
<div v-if="exportSettings.spineVersion === '3.8'" class="export-help">Spine 3.8 不支持 4.x 的逐通道数组贝塞尔,导出时会转换为经过容差精简的分段线性关键帧。</div>
<div class="export-help">{{ $t('export.bezierHelp') }}</div>
<div v-if="exportSettings.spineVersion === '3.8'" class="export-help">{{ $t('export.spine38Help') }}</div>
<div class="export-fps-row">
<label class="export-field export-fps-field">
<span>导出 FPS</span>
<span>{{ $t('export.fps') }}</span>
<input v-model.number="exportSettings.fps" class="inp export-input" type="number" min="1" max="240" step="1" @change="normalizeExportFps" />
</label>
<label class="export-checkbox"><input v-model="exportSettings.omitFps" type="checkbox" />不写 fps</label>
<label class="export-checkbox"><input v-model="exportSettings.omitFps" type="checkbox" />{{ $t('export.omitFps') }}</label>
</div>
<div class="export-help">修改 FPS 时保持动画实际秒数不变;“不写 fps”只省略 Spine 的 fps 元数据。</div>
<div class="export-help">{{ $t('export.fpsHelp') }}</div>
<div class="export-switches">
<label class="switch-row export-switch">
<input v-model="exportSettings.integerFrameAlignment" type="checkbox" />
<span class="switch-ui"></span><span>整数帧对齐</span>
<span class="switch-ui"></span><span>{{ $t('export.integerFrames') }}</span>
</label>
<label class="switch-row export-switch">
<input v-model="exportSettings.bonePool" type="checkbox" />
<span class="switch-ui"></span><span>骨骼对象池</span>
<span class="switch-ui"></span><span>{{ $t('export.bonePool') }}</span>
</label>
<label class="switch-row export-switch export-switch-last">
<input v-model="exportSettings.excludeEmptyAnimations" type="checkbox" />
<span class="switch-ui"></span><span>排除无内容动画</span>
<span class="switch-ui"></span><span>{{ $t('export.excludeEmpty') }}</span>
</label>
</div>
</div>