如何使用 CSV 批量管理翻译
您必须拥有付费 Klaviyo 帐户并启用智能翻译才能使用此功能。通过导出和编辑 CSV 文件,然后将其导回以批量更新翻译或与其他人协作,在 Klaviyo 之外管理翻译。
导出您的翻译的 CSV
请按照以下步骤导出单条消息的当前翻译:
- 打开您要更新的消息(活动电子邮件、流程电子邮件、短信、WhatsApp 消息等)。
- 单击翻译 打开翻译编辑器。
- 在翻译编辑器中,打开操作菜单并单击导出 CSV。
- 在导出模式中,您可以选择 Smarting CSV 或 CSV
导出 Smartling CSV
- 您的浏览器下载一个 CSV 文件,其中包括:
- 以下默认 Smartling 指令:# smartling.first\_row\_header=TRUE
- block\_id – 此消息中每个可翻译字符串的唯一标识符。 3.源语言代码(例如,en)——该字符串的原始源文本。
# smartling.paths=2 # smartling.source\_key\_paths=1* # smartling.translations\_in\_columns=TRUE***
您可以按原样使用此文件将字符串导入 Smartling。 Smartling 会自动解析 CSV、提取字符串并让您触发翻译作业。作业完成后,下载生成的 CSV 并使用 import 按钮将其导入回来。
导出简单的 CS
- 您的浏览器下载一个 CSV 文件,其中包括:
- block\_id – 此消息中每个可翻译字符串的唯一标识符。
- source – 该字符串的原始源文本。
- 语言列 – 每种语言一列,以其语言代码命名(例如 en、fr、es-MX)。
您现在可以在 Excel、Google Sheets 或其他电子表格编辑器中打开此文件。
更新 CSV
编辑 CSV 时,您只需在语言列中进行操作。请勿编辑、添加或删除 block\_id 列中的任何值。如果某行具有无效或缺失的块\_id,则该行在导入期间将被忽略,并且其翻译不会更新。
你可以安全地改变什么
在 CSV 中:
- 通过编辑适当的语言列来更新现有翻译。 – 通过填写语言列的空单元格来添加缺失的翻译。 – 如果您不想更新某种语言,请保持该语言的值不变。 – 添加一个或多个新语言栏:
- 使用有效的 BCP-47 语言代码(例如 fr-CA、de、ca)。 – 导入时,如果支持这些语言,则会将这些语言添加到此消息的翻译编辑器中。
你不应该改变什么
避免以下情况:
- 不要编辑或删除块\_id值。
- 不要添加行。 每行必须继续映射到消息中现有的可翻译字符串。 – 不要更改 CSV 中的源值:
- 要更改源内容,请直接在 Klaviyo 编辑器中编辑消息,然后导出新的 CSV。 – 不要重命名所需的列(块\_id、源和语言列)。 – 不要更改文件格式:
- 将文件保存为 .csv 文件。 – 以 UTF‐8 编码保存。
处理空单元格
如果清除 CSV 中的翻译单元格并将其留空:
- 导入将该空字符串视为一个值。 – 该单元格的现有翻译被空值覆盖。这可以有效地删除翻译。如果您想避免更改翻译,请在导入之前将其现有值保留在 CSV 中或完全删除该语言列。完成编辑后,将文件另存为 UTF-8 编码的 .csv。
导入 CSV 文件
更新并保存 CSV 后:
- 返回同一消息的翻译编辑器。
- 单击导入 CSV。
- 在导入模式中,可以:
- 单击选择文件并选择您的 CSV,或者
- 将 CSV 拖放到上传区域。 4. Klaviyo 运行验证“试运行”并显示:
- 有多少行将被更新、不变或忽略的摘要
- 检测到的任何警告或错误
- 仔细查看摘要和警告。
- 如果一切看起来正确,请单击导入应用更改。在验证过程中,Klaviyo 还会检查:
- 文件大小和行限制(例如,大于 10MB 的文件将被拒绝)。 – 必填列(例如 block\_id、源和至少一语言列)。 – 频道无法识别或不支持的语言代码。 – 空翻译值和其他潜在问题。如果验证失败,您会看到一条错误消息,并且可以选择一个新文件,而无需对翻译进行任何更改。
了解导入结果
验证后,导入摘要会显示如果您继续操作将会发生什么。
计数摘要
摘要可以包括如下计数:
- 更新 – 至少一个转换值将发生更改的行数。 – 未更改 – CSV 中存在的行,但所有值均与已存储的值匹配。 – 忽略/跳过 – 将不会导入的行(例如,因为此消息中不存在块\_id 或缺少所需数据)。计数是按行计算的,而不是按语言计算的。例如,如果 CSV 有两行和两个语言列:
- 如果一行以一种语言更新,Updated 计数为 1。 – 如果一行以两种语言更新,Updated 计数仍为 1。 – 如果两行以一种或所有语言更新,Updated 计数为 2。
最佳实践
为了确保您的翻译数据准确且易于管理:
- 从最新的导出开始。 避免重复使用旧的 CSV,尤其是在更改消息中的内容或语言之后。
- 保留每次导出的备份。 在进行更改之前保存 CSV 的副本,以便您可以在需要时回滚。
- 与译者协调。 解释哪些列可以编辑(仅限语言列)以及哪些列不能更改(block\_id、source)。
- 如果需要,以较小的批次进行工作。 如果您的文件非常大,请考虑将工作拆分到多个消息或运行多个较小的导入。
- 使用支持的语言代码。 添加新语言列时,请使用 智能翻译 文章中支持的 BCP-47 代码,以避免“无法处理”的语言。
解决验证警告和导入错误
如果您在导入验证期间看到警告或错误,请查看以下部分以了解它们的含义以及如何修复它们。 “缺少必需的列。”
含义: 一个或多个必需列(block\_id 或 source)丢失或重命名。 要做什么: 确保 CSV 包含 block\_id 和 source 列。如果您将数据复制到新工作表中,请确认标题行与原始导出匹配。 “您有空翻译值。空字符串将被视为值。”
含义: 您的 CSV 具有空翻译值,空字符串将被视为值。 该怎么做: 如果继续,这些空单元格将覆盖该键和语言的任何现有翻译。如果您想要保留这些翻译不变,请恢复以前的值或删除该语言列并重新导入文件。 “<count> 个密钥在您的项目中不存在,并且不会包含在导入中。”
含义: CSV 中的某些 block\_id 值对于此模板来说不存在(例如,如果 block\_id 值是手动编辑的)。 该怎么做: 这些行将被忽略,并且这些键的翻译不会改变。要解决此问题,请从 CSV 中删除这些行或根据需要导出新文件。 “您的文件包含具有冲突值的重复键。 将使用第一个值。”
含义: CSV 中的两行或多行具有相同的 block\_id 值(例如,如果行被错误地重复)。 要做什么: 使用第一行的值,并忽略其余的重复行。要解决此问题,请从 CSV 中删除重复行或根据需要导出新文件。 “多个列解析为同一种语言。仅使用最后一列,其他列将被忽略。”
含义: CSV 中的两个或多个列具有相同的语言代码或解析为相同的语言(例如,如果语言列被错误地重复)。 要做什么: 使用最后一个重复列的值,并忽略其余的重复列。要解决此问题,请从 CSV 中删除重复的列或根据需要导出新文件。 “您的文件包含此通道不支持的语言代码的列:<无效的语言代码>。这些将被忽略,但将导入有效的区域设置。”
含义: CSV 中的列标题使用了不受支持或识别的语言代码。 要做什么: 要添加新语言,请使用 智能翻译 文档中受支持的 BCP-47 代码之一。具有不受支持的代码的列将被忽略。 “您的文件中包含项目中没有的语言。以下语言将添加到您的翻译编辑器中:<检测到的语言>。”
含义: 您的 CSV 包含当前不属于此模板的语言列。 做什么:
- 如果您想添加这些语言,请查看列表并单击导入将它们添加到翻译编辑器中。 – 如果您不想添加它们,请删除这些列并重新导入文件。 “未找到区域设置列。”
含义: CSV 包含 block\_id 和 source 列,但未检测到其他列标题。 该怎么做: 添加至少一种受支持的语言列,然后重试。 “找不到有效的区域设置列。”
含义: CSV 包含 block\_id 和 source 列,但没有有效的语言列。 该怎么做: 添加至少一种受支持的语言列,然后重试。如果您仅看到警告并了解其影响,则可以继续导入。如果您看到错误,则必须更正 CSV 并重新上传,然后才能继续。如果您仍然看到错误,请从翻译编辑器导出新的 CSV,进行最少的更改,然后尝试再次导入以隔离问题。如果检查这些项目后仍然看到错误,请从翻译编辑器导出一个新的 CSV,进行最少的更改,然后尝试另一次导入以找出导致问题的更改。