键用于标识软件代码中可翻译的文本字符串。这允许使用一个键(作为可翻译字符串的代码名称)仅由 Phrase 引用一次,而不是为字符串的每次所需翻译进行引用。
一个键可以关联多个翻译,每个翻译对应项目的一个不同 语言区域设置。该功能类似于关系数据库中的主键,翻译即为键的一个属性。键存储在资源文件中,用于标识源语言和目标语言。
使用键可以让本地化管理平台向译员呈现可翻译文本,而无需呈现代码。
通常不需要将键添加到 项目 中,因为它们最好是在通过项目页面的 选项卡上传资源文件时创建的。
要防止上传或创建键,请使用 屏蔽键 功能。如果已存在被屏蔽的键,则无法在编辑器中对其进行翻译。
要从导出中排除键,请使用 排除键 功能。被排除的键也无法在编辑器中进行翻译。
可以通过在项目页面的 部分或 Strings editor pane 顶部选择 More/Duplicate key 来复制项目中的键。
可以将一个或多个项目中具有相同值的不同翻译键链接起来,以实现内容更新自动化。链接键 用于确保项目间的一致性,并消除对相同内容的重复工作。
可以从 Strings 编辑器 sidebar 的活动窗口中撤销对键的更改。
注意
在使用存储库(GitHub、GitLab 等)并删除键时,必须同时从 Phrase 和存储库中删除这些键,才能将其永久删除。这是为了防止因 Phrase 或存储库中的错误或意外而导致键被意外删除。
在字符串中,键的类型可能因上传文件的格式而异:
-
字符串(默认)
注意
除非在高级 项目 设置中启用了 选项,否则译员只能编辑字符串键。
-
数组
-
布尔值
-
Markdown
-
数字
键类型显示在 部分的 编辑器侧边栏 中。
键名在同一个项目中必须是唯一的。
命名键有多种策略:
如果未上传键,可以手动创建。
要创建键,请按照以下步骤操作:
从编辑器或 选项卡中删除键将删除该键的所有相关翻译,且此操作无法撤销。
在拥有超过 10,000 个键的项目中,未提及的键将不会在后续上传中进行计算。未提及的键是指未包含在当前上传中但仍存在于项目中的键。
屏蔽功能可防止整个键被添加到项目中;如果被屏蔽键的名称出现在上传的文件中,该键将被忽略且不会添加到项目中。
屏蔽用于从项目中省略某些键,使其不会被管理。
通常被屏蔽的键:
-
日期和时间格式字符串。
-
包含配置的键。
-
在使用 Phrase gem 管理时会导致问题的键。
在不进行处理或维护的单独语言文件中管理已屏蔽的键。
这些键可能会导致问题,如果使用,则应在创建项目时将其屏蔽。
-
activemodel.errors* -
number.format* -
number.currency* -
number.percentage* -
datetime.prompts*
要屏蔽键,请按照以下步骤操作:
-
在项目页面中,选择 选项卡。
-
点击 将键添加到已屏蔽键列表。
窗口随即打开。
-
提供键的名称或 正则表达式 (regex),然后点击 保存。
该键已添加到列表中。
可以通过点击 修改键,或点击
删除键。
某些键可能需要从特定语言中排除,并可被标记为已排除。这些键已上传并存在于项目中,但被忽略了。
已排除的翻译包括:
-
从相关语言的导出中排除。
-
从相关语言报告中排除。
如果内容为空,则不计为未翻译。
-
在翻译编辑器中可见但不可编辑。
已排除的翻译将从已翻译/未翻译计数和语言报告中省略。因此,即使已排除的翻译仍然缺少实际翻译,项目或区域设置也可能显示 0 个未翻译字符串。这包括空白内容或源文本的未翻译副本。要确认项目是否真正完成,除了查看未翻译计数外,请检查 选项卡或通过 API 查询 excluded:true 的翻译。
排除选项:
-
在翻译编辑器中排除某种语言下的单个翻译。
-
在翻译编辑器中排除某种语言下的多个翻译。
-
在创建或编辑键时,通过选择语言来排除多个翻译。
要排除某个键,请按照以下步骤操作:
也可以通过选择键并使用 菜单,从 编辑器键列表 中单独或批量排除键。