在流程与付费墙编辑工具中添加语言区域

你可以对流程进行本地化,为国际用户提供其语言对应的内容。可翻译或自定义的内容包括:

在 Localizations 面板中,所有内容汇总在一张表格里,每种语言各占一列。你可以手动翻译单元格内容、使用 AI 翻译,或将其导出交给第三方翻译人员处理。

Localizations panel with the locale tabs, the filters, and the localization table

要向用户展示某种语言,你的应用需要在流程视图配置请求中传入语言代码。未翻译的内容将回退到默认语言(英语,除非你将其他语言设为默认语言)。

Tip

在添加其他语言之前,请先完成默认语言的流程配置。

可本地化的内容

文本内容

Localizations 面板中列出了流程中的每一个字符串,包括:

  • 每个文本元素的内容,例如按钮标签。
  • 每个输入字段的 Placeholder。
  • 每个 Show alert 动作的标题和消息。
Note

变量在其他语言环境下的显示内容,取决于其值的来源:

  • 产品变量:商店返回的值已经本地化。仅包含产品变量(例如价格)的字符串无需翻译。
  • 自定义变量和元素变量:其值无法本地化。例如,selectedOptionTitle 会原样显示你输入的所选选项的 Element Title。请改用静态文本或条件文本。

条件文本

文本元素可以根据你设置的条件显示不同的内容。你可以对条件文本的每个分支进行本地化。

Note

所有语言区域的条件都相同。如果某个条件将变量与字符串进行比较,该字符串不会被本地化。

操作 URL

Open URL 操作可以在每个流程语言环境中打开不同的 URL,例如以用户语言显示的帮助页面。如果未为用户的语言环境设置备用 URL,则会显示默认 URL。

图片与视频

以下内容可以在每个语言区域显示不同的文件:

  • 图片和视频元素。
  • 屏幕或元素背景中的图片和视频图层。
  • 颜色样式中的图片和视频图层。在带有深色主题的流程中,浅色版本和深色版本各自在每个语言区域中拥有独立的文件。

图标不支持本地化。

如果你没有为用户的语言区域上传文件,用户将看到默认文件。在 Localizations 面板中,该行仍会显示 Missing 标记。如果默认文件适用于所有语言区域,请将该行标记为完成以移除该标记。

管理本地化与翻译

添加并设置语言区域

  1. 打开左侧的 Localizations 面板,点击 Add locale。
  2. 在 Select languages 字段中,选择一种或多种语言。
  3. (可选)如需立即将流程翻译为新语言区域,勾选 Translate content from default locale using AI。
  4. 点击 Add locales。
Add locales dialog

在本地化表格中,每个语言区域对应一列,每条可本地化内容对应一行。表格按屏幕将各行分组为不同的区块。

本地化面板侧边栏中的语言区域标签页,默认语言区域带有图钉标记,其他语言区域各显示一个百分比

面板侧边栏会以百分比形式显示每个语言区域的翻译进度,即已翻译单元格的占比。每个屏幕的区块标题则显示该屏幕在所有语言区域的整体进度。只要单元格有值,面板就将其计为已翻译——即使该值仍是默认语言区域的原始文本,尚未翻译。如果你将某一行标记为 Done 或 Missing,该标记将决定这一行的状态,与单元格内容无关。

缺少翻译的行会显示 Missing 标签。没有特定语言区域值的单元格会显示默认语言区域的内容。

使用 AI 翻译字符串

AI 会将字符串从默认语言翻译成其他语言,但不会翻译操作 URL、图片或视频。

在面板顶部打开 AI Translate,然后选择以下选项之一:

  • Translate missing only:仅翻译尚未翻译的单元格,保留已有的翻译。如果你将某行标记为 Missing,则会重新翻译该行的所有单元格。如果将某行标记为 Done,则会跳过该行。
  • Translate all:翻译所有单元格并替换现有翻译,包括你手动编辑过的内容。
AI Translate menu in the Localizations panel header, with Translate missing only and Translate all

你只能翻译筛选器所显示的行。如需仅翻译部分行或语言,请先勾选对应的复选框。

如果 AI 翻译更改了变量或文本格式,Adapty 将丢弃该翻译并保留该单元格的原有值。

设置默认语言

图钉图标 标记默认语言。它保存源内容,并在其他语言翻译缺失时作为备用。每个流程最初默认使用英语,且只有英语一种语言。

在更改默认语言之前,请先为要替换的语言填充好翻译内容。如果某个语言在成为默认语言时内容不完整,Adapty 会用之前默认语言的内容来填充它。此后这些字段不再显示翻译状态为 Missing。

要更改默认语言,请在目标语言的列标题中,打开 Locale actions 并选择 Set as default。

Locale actions menu of a locale column, with Set as default highlighted

如果你清除了默认语言中某个元素的内容,使用其他语言的用户仍能看到该语言对应的内容(如果有的话)。若要同时删除该内容,请在 Localizations 面板中重置该行。

删除语言区域

要删除某个语言区域,请在其列标题中打开 Locale actions,然后选择 Delete locale。Adapty 将删除该语言区域的所有内容,包括图片和视频。如需恢复,请撤销删除操作。若要删除默认语言区域,请先将另一个语言区域设为默认。

表格操作

您可以在一次操作中修改多个单元格,并且单次撤销即可还原所有更改。

筛选行

在面板侧边栏中设置筛选条件,以限制表格显示的行:

  • Screens — 限制屏幕的选择范围 。
  • Status > Missing only — 仅显示带有 Missing 标记的行。

如需按关键词查找行,请点击面板标题栏中的 Search。表格将只显示在任意语言区域的文本或文件名中包含该关键词的行。

批量操作仅影响可见行。启用筛选器后,批量操作的范围会相应缩小。如需翻译或重置整个语言区域或整个流程,请先关闭筛选器并清空搜索内容。

管理语言区域

要批量管理单个语言区域的内容,请将鼠标悬停在其列标题上,然后打开列上下文菜单 :

  • Set as default:将该语言区域设为默认语言区域。
  • Import 和 Export:导入或导出该语言区域的翻译文件。
  • AI Translate locale:使用 AI 将该语言区域的整列内容从默认语言区域进行翻译。
  • AI Translate missing only:使用 AI 翻译该语言区域的空白单元格。
  • Reset to default (…):移除该语言区域列中的所有特定语言内容。
  • Delete locale:删除该语言区域及其内容。
Locale actions menu of a locale column

管理行

要批量管理单行内容,请打开行上下文菜单 :

  • Mark as Done 或 Mark as Missing:手动设置行的状态,与单元格内容无关。例如,如果某个品牌名称无需翻译,可将其标记为 Done。
  • AI Translate missing only:使用 AI 翻译该行中为空的单元格。
  • AI Translate row:使用 AI 将整行内容从默认语言翻译。
  • Reset to default:移除该行中所有特定语言的内容。

编辑默认语言的文本时,Adapty 会清除该行的 Done 标记。

包含「标记为完成」、「仅 AI 翻译缺失项」、「AI 翻译整行」和「重置为默认值」的行右键菜单

单元格操作

打开单元格右键菜单 可管理单个单元格的值:

  • Add variable:向单元格插入一个变量。
  • Copy 和 Paste here:复制单元格的值(包括格式和变量),并粘贴到另一个单元格。
  • AI Translate:使用 AI 翻译单元格。
  • Push value to all locales:将单元格的值复制到除默认语言之外的所有其他语言。如果之后编辑该单元格,需要重新推送。
  • Clear translation:清空单元格,让该语言的用户看到默认语言的文本。
单元格工具栏及其上下文菜单,包含添加变量、复制、粘贴、AI 翻译、将值推送至所有语言环境以及清除翻译等选项

在编辑工具中本地化内容

要翻译字符串并设置操作 URL,请打开 Localizations 面板。你可以手动翻译、使用 AI 翻译,或导出本地化文件以供第三方翻译工具使用。

如需本地化图片和视频,请为每个语言区域上传对应文件。

手动翻译字符串

Localizations 面板中的表格包含流程中的所有字符串:

  • 静态文本(每个元素对应一行)
  • 条件文本(每个分支对应一行)
  • Open URL 动作目标(每个 URL 对应一行)

要翻译某个字符串,点击对应单元格并输入译文。要插入变量,请点击单元格中的 { }。要找到某个字符串所在的行,请在预览区选中对应元素。

每个条件文本元素是一个独立的行组。点击箭头 可展开该组并查看所有条件分支。

Conditional text expanded in the Localizations panel, with a row for each branch and its translations

为特定语言区域设置操作 URL

每个 Open URL 操作各占一行。若要为特定语言区域设置不同的 URL,请点击该语言区域对应单元格的空白处,然后输入 URL。请勿直接点击 URL 本身,否则会在新标签页中打开该链接。若要查看某个 URL 属于哪个元素,点击对应行即可:编辑工具会在预览中高亮选中该元素。

为不同语言环境设置图片和视频

如需在某个语言环境中显示不同的图片或视频,请为该语言环境单独上传文件。在 Localizations 面板中,将鼠标悬停在图片或视频行对应语言环境的单元格上,然后点击 Replace。如需恢复为默认语言环境的文件,点击 Reset。

Image cell in the Localizations panel with the Open image, Replace, Download, and Reset buttons, and its context menu

在使用深色主题的流程中,颜色样式的图片和视频图层可以分别针对浅色模式和深色模式进行本地化。在表格中,浅色模式和深色模式各占独立一行。

若要在属性面板中上传文件,请先在底部工具栏选择语言区域。对于颜色样式,在目标语言区域处于激活状态时,在 Styles 面板中替换图片或视频。

Canvas image changing as the active locale changes

在外部本地化内容

如需将整个流程的文本导出到 Adapty 外部进行翻译(例如使用翻译服务或自有译者),请导出本地化文件。翻译完成后,再将文件导入回来。

导出本地化文件

要导出包含所有语言的完整流程,请在面板顶部点击 Import / Export,然后选择 Export。要单独导出某个语言及其源语言,请在该语言的列上下文菜单中选择 Export。

Import / Export menu in the Localizations panel header

导入/导出文件格式

本地化文件为 .tsv(制表符分隔)格式,采用 UTF-8 编码,每行对应一条字符串或操作 URL。导出的文件包含整个流程的内容,无论你在面板中设置了什么筛选条件。导入文件时,请保持其格式不变。各列说明如下:

列描述
id行标识符。Adapty 在导入时通过它匹配行,请保持不变。若某 id 不存在于流程中,Adapty 将忽略该行。
Screen字符串所属的屏幕。Adapty 在导入时忽略此列。
[locale]每个语言区域对应一列,以语言代码命名(例如 en、fr)。对于不在流程中的语言区域,Adapty 将忽略对应列。

示例:

在导出的文件中:

  • 格式以 HTML 标签形式呈现,例如 <b>,变量以 {{name}} 形式呈现。请保持原样,Adapty 在导入时会自动还原。
  • 条件文本的每个分支都有自己的行,不包含条件本身。
  • 图片和视频不包含在内:您需要在编辑工具中本地化它们。

要翻译导出后新增的字符串,请重新导出该文件。

Adapty 无法导入包含 Screen、Element 和 Property 列的旧格式文件。如需复用其中的译文,请重新导出流程,然后将译文复制到新文件中。

导入包含译文的文件

Warning

如果文件中某个单元格为空,Adapty 在导入时会删除该单元格的译文,但默认语言列除外。若要保留某个语言的译文,请保持导出时的内容不变,或直接删除该语言列。如果导入后误删了需要保留的译文,可撤销本次导入——整个导入操作是一个撤销步骤。

要导入整个流程,请在面板顶部点击 Import / Export,然后选择 Import。要导入单个语言,请在其列上下文菜单中选择 Import,然后选择已翻译的文件。

文件中没有对应行的字符串保留其当前值。导入整个流程时,会更新默认语言环境中所有发生变化的文本。导入单个语言环境时,只更改你所导入的那个语言环境。如需导入新语言,请先添加对应的语言环境。

预览不同语言区域

预览区域中的文本始终显示当前激活的语言区域。如果你在属性面板中编辑文本内容,这些编辑仅作用于该语言区域。切换回默认语言区域即可编辑源内容。

  • 如需切换当前语言,可从底部工具栏的 Locale 下拉菜单中选择,或在 Localizations 面板中点击对应的标签页。
  • 如需从 Localizations 面板切换当前屏幕,点击对应区块标题中的 View screen 。
  • 如需将本地化表格铺满整个屏幕,点击 Hide preview。
Locale preview in Flow & Paywall Builder

要在不预览每个页面的情况下查找未翻译的文本,请运行 flow-audit 技能。