返回
gt-sanityv3.1.0sanitycmstranslationminor
博客更新日志

gt-sanity 3.1.0: 保存本地编辑

Fernando Aviles

概述

译文很少能一直保持最初交付时的原样。编辑会修正术语、精炼标题、根据市场调整语气——而此前,下一次翻译运行会重新生成所有内容。

gt-sanity v3.1 新增 保存本地编辑:翻译运行前,会将 Sanity 中现有翻译上传至 General Translation,因此源文本未变更的内容将保留原有表述。该功能默认关闭。自 v3.1.4 起,插件会记住编辑为每个 Sanity 项目和数据集所做的选择。

此版本还新增 保存本地编辑 操作,可在不启动翻译运行的情况下上传现有翻译;并提供 从头重新翻译 选项,用于主动重新生成所有内容。


最新动态

保存本地编辑

在 Translations 工具或 General Translation 文档标签页中启用 保存本地编辑 开关。启用后,每次翻译运行都会先将 Sanity 中当前的译文发送到 General Translation。这些译文会作为源版本的已存储译文,因此下次运行时会复用它们,而无需再次翻译相同内容。

支持两种本地化策略:文档级翻译通过 translation.metadata 读取 (草稿优先于已发布文档,因此未发布的修改也会被纳入) ,国际化数组的区域设置值则从源文档读取。没有现有内容的区域设置会被跳过,不会作为空译文上传。

可通过插件 config 设置该开关的初始状态:

import { defineConfig } from 'sanity';
import { gtPlugin } from 'gt-sanity';

export default defineConfig({
  plugins: [
    gtPlugin({
      sourceLocale: 'en',
      locales: ['es', 'fr', 'ja'],
      translateDocuments: [{ type: 'post' }],
      preserveExistingTranslations: true,
    }),
  ],
});

preserveExistingTranslations 会在 Studio 加载时设置该开关的初始状态。编辑者可以通过 UI 更改它;自 v3.1.4 起,该选择会存储在浏览器中,并在后续访问时优先于已配置的默认值。

Sanity 成为唯一事实来源

开启此开关后,会先显示说明,因为这确实涉及取舍:Sanity 中的内容会替换 General Translation 中该版本文档的所有内容——包括已完成但尚未导入的翻译。请在开启前导入所有待导入的翻译。

捕获步骤在源内容上传前执行,并采用尽力而为的方式。如果捕获失败,翻译仍会继续运行,Studio 会警告编辑内容可能会被覆盖。

保存本地编辑

保存本地编辑操作会上传 Sanity 中已有的翻译,无需将翻译任务加入队列,并会按需创建源文件。当您在已通过其他方式完成翻译的项目中启用该插件时,可使用此操作,让 General Translation 从您现有的内容开始。

该操作可在 Translations 工具和文档标签页中使用。

从头重新翻译

全部翻译现已新增 从头重新翻译 复选框。选中后会丢弃现有翻译并重新生成,包括在 Studio 中对翻译后的文档所做的编辑。取消选中则会复用现有翻译。

此前,该插件无法强制重新翻译。


链接

立即部署。

加入 General Translation,与全球顶尖开发团队同行