翻译管理

Using Localization Files (Strings)

文本由 Phrase Language AI 从英语机器翻译而得。

上传本地化文件

将文件上传到项目时,所有新资源都从该文件中提取并存储在项目中。上传文件的格式不必是项目设置的初始格式。如果为分组资源提供了tags""%1"",则新键将应用这些tags。

某些格式(如'Gettext'、'')提供了额外的有价值的元信息,如备注、描述或有关复数形式的信息。无论何时何地,这些信息都会被提取出来,并与分配的资源一起存储,这样本地化文件中提供的所有有价值的信息都会被保存起来供继续使用。

上传文件的方法有多种:

  • 应用程序中,创建新项目或通过在项目页面选择上传文件

  • via API

  • via CLI

上传选项

  • 更新翻译

    默认情况下,仅提取新内容,不会删除或更新本地化项目中任何现有键;上传文件不会丢失任何数据。如果需要覆盖现有数据,通过选择更新翻译选项,用本地化文件中的内容替换项目资源。现有翻译将被上传的本地化文件的内容覆盖。

    此选项在 Orchestrator API 中也可用。

    注释

    为防止数据丢失,请确保您从 phrase 下载对本地化文件的最新更改,然后再更改,并使用更新翻译选项再次上传。

  • 使用翻译键前缀

    输入唯一标识符(例如文件路径)以优先于上传的翻译键名称。使用与项目或文件相关的有意义的前缀来组织键。

    例如,带有前缀 project_ 的导入键 hello_world 将导致键 project_hello_world

    翻译键前缀确保键与现有键相匹配,以避免不同项目或文件之间的冲突。

    此选项在 Orchestrator API 和 CLI 界面中也可用。

  • 更新说明

    如果需要更新上传文件中键的所有描述,请选择此选项。empty 描述将覆盖现有描述。描述可以包含译员的任何其他信息,并帮助识别编辑器中的单个键。

  • 跳过上传tags

    要保持翻译条理化,请为带有有意义标签的键添加多个 tags。选择此选项可防止新键被自动添加上传标签。

  • 标记有新增和更新翻译的键

    选择此选项以在上传时自动为新键和具有更新翻译的键添加标签。这将帮助于区分新的、更新的和旧的翻译字Strings,确保只进一步处理相关的键。

    此选项在 Orchestrator API 中也可用。

  • 编码

    指定文件的编码(例如 UTF-8)或自动选择它(自动选择的编码可能会导致不正确的编码,可以通过撤消上传来回滚)。

  • 校对

    跳过未验证""%1""可以避免在更新翻译时再次验证非主要语言翻译的需要。

    将翻译标记为已审校将所有上传的翻译视为已审校。激活高级审校工作流后,此选项可用。它允许将键标记为准备推送到生产。

通过用户界面上传文件

要在 Strings 中上传文件,请遵循以下步骤:

  1. 上传前,确保文件格式根据类型正确。

  2. 从项目中,从更多菜单中选择上传文件

    上传文件页面打开。

  3. 单击选择文件,从目录中选择一个文件。

    所选文件将添加到文件字段。

  4. 为文件选择格式

    首先根据文件类型提供建议的格式。

  5. 从下拉列表中选择文件内容的语言。

    如果此信息不在文件本身中,请为内容创建新语言或使用现有语言。

  6. 可选提供要分配给新键的 tags 和其他选项。

  7. 点击保存

    内容导入并转换为键。

上传摘要

  • 上传失败

    如果文件无法正常处理,将提供Error详细信息以帮助减轻Error。

  • 上传成功

    成功处理翻译文件后,将显示一个摘要页面,其中概述了上传,并带有链接到下一个步骤的按钮。单击上上传标签在编辑器器中打开文件。

  • 删除键

    为了防止从本地化文件中删除键并再次上传时意外删除键,这些键不会自动删除。

    要移除这些键,请遵循以下步骤:

    1. 上传文件。

    2. 点击删除并选择删除未提及键

    3. 确认选择。

    上传文件中不包含的所有键和相关翻译将从项目中删除。

  • 撤销上传

    每次上传都会触发多个操作,并且可以修改项目中的大量数据,并且无法收回上传。

    要移除上传文件(错误)引入的键""%1"",请执行以下步骤:

    1. 从受影响上传的上传摘要中,单击删除并选择删除创建键

    2. 确认选择。

    上传创建的所有键和相关翻译被删除。上传前已存在的键的翻译不会被删除。要移除单个翻译,请使用每个翻译的版本历史记录。

上传存档

从任何项目页面,从更多菜单中选择uploads以访问上传存档。

上传存档列出所有可能状态的所有历史 uploads。单击所有状态下拉列表按状态(成功失败和/或进程/进度)筛选uploads。要查找特定上传,使用顶部的搜索 Box 按名称搜索。

通过单击列出的上传访问受影响资源的详细上传要。所有成功的uploads也会在项目目活动流中显示。

下载本地化文件

语言文件可以随时从项目下载,并转换为任何支持的文件格式

文件可通过应用程序、API、CLI或CLI下载。

文件可从任何项目的语言选项卡下载,方法是选择它们并单击下载(多个文件)或语言的更多选项more.jpeg/下载按钮。

下载选项

下载窗口中下载文件时,会出现下载选项,其中有常规高级编码选项卡。

选择不同的文件格式会带来不同的选择。有关详细信息,请参阅有关特定文件格式的相关文章。

  • 移除翻译键前缀

    如果在文件上传时添加了翻译键前缀,在高级选项卡中选择此选项以移除导出的翻译键名称中的前缀:

    1. 输入前缀以下载所有键,并尽可能移除指定的前缀。

      重要

      如果移除前缀后其他键共享相同的名称,这可能创建复制键名。

    2. 如果需要,选择使用翻译键前缀作为筛选仅下载包含指定前缀的翻译键,并从下载的文件移除前缀。

    此选项在 Orchestrator API 和 CLI 界面中也可用。

用例

维护文件结构

默认情况下,可译的资源存储为键和值,而不是保留原始文件结构。这样既可互换文件格式,又不会已锁定为一种格式,还可灵活使用tags分组。

某些框架或设置需要多个原文/源语文件,还需要额外配置。

保持单独的文件

一般来说,将每种语言的所有翻译保存在一个文件中。这使得资源下载更快、更强大。翻译以项目的形式进行,因此不需要单独的小文件。

如果需要将本地化文件保存在单独的文件中,则可以使用基于文件的工作流,在上传时标记键,并在将翻译好的键下载回原始文件时将tags作为参考。密钥可以携带多个tags并包含在多个文件中,确保重复使用和一致性。基于标签的工作流非常灵活,无需上传项目即可重新组织公司翻译资源。

为所有文件赋予键唯一名称,确保工作流流顺利进行。在基于键值的方法中,键在任何情况下都必须具有相同的值。一些框架允许在多个文件上使用非唯一键。Symfony 等格式支持消息域。这些域由文件名检测。键不会自动由基于文件名的领域限定范围,但可以通过为文件中的键使用唯一的域前缀来解决。

CLI 配置示例

如果使用 CLI 或将项目与存储库(例如=%GitHub、=%GitLab 或=%Bitbucket)连接,设置一个配置文件""%1""以管理 uploads 和 downloads。

例如,一个项目为原文/源语区域有多个语义命名的翻译文件。例如:accounts.en.ymlemail.en.yml 等。这些语义名称通过 tags 管理。

配置 .phrase.yml 以反映本地化项目中文件的公司,并通过在文件路径中包含标签占位符将其与 Strings 项目的 tags 相关联:

phrase:
  access_token:"3d7e6598d955bfcab104c45c40af1b9459df5692ac4c28a17793"
  project_id:"23485c9c5dfb15d85b32d9c5f3d2hl54"
  file_format: yml
  push:
    sources:
      - 文件:./path/to/locales/<标签>.en.yml
        params:
          locale_id: "abcd1234cdef1234abcd1234cdef1234"
  pull:
    targets:
      # 个账户
      - 文件:./path/to/区域/帐户.<locale_name>.yml
        params:
          tags: 账户
      # 封电子邮件
      - 文件:./path/to/区域/电子邮件.<locale_name>.yml
        params:
          tags:电子邮件

也可以在 push 部分使用参数=% tags=%,而不是使用=%<标签>=%占位符。

配置在运行push或从存储库库触发同步时,基于标签来自的文件创建带有tags的键。当运行“pull”或触发导导出存储库库时,它将根据tags将其分组到文件中。

为不同地区、客户或受众本地化项目

产品、网站或应用程序被翻译成多种不同语言,但在某些情况下,本地化不仅仅是选择的语言,而是一种语言中的不同版本。

如果:

  • 一种产品在使用相同语言的地区有不同的品牌。

  • 产品由希望使用白标签解决方案的不同客户使用。

  • 需要简单、正式或非正式的语言变体。

本地化静态产品

如果产品已经开发完毕,很少更新,项目内可以有一个单独的产品版本。

  • 如果单一输出或短期术语项目:

    创建分支,在项目期间专门在该分支上工作,完成后删除该分支。

  • 如果长期术语项目:

    保留现有项目的复制。这样,同一公司客户邀请和合作时,只能访问他们的项目,而其他项目对他们来说是隐藏的。

持续更新本地化项目

如果产品不断更新新内容(键),那么将这些更新应用于多个项目并保持同步就很困难。在项目中使用专用语言进行维护。

遵循ISO标准的语言代码(例如en-US)不必是唯一的,因此同一语言的许多版本可以在项目中创建。使用唯一的语言名称区分地区、客户或受众。

设置时,默认区域任何新引入的键将显示为其他语言的未翻译,并相应地进行本地化。如果与客户和他们自己的译员合作,通过更新他们用户个人资料或项目用户管理中的语言访问,特别分配给他们只能编辑他们的语言版本。

工作设置并行本地化流程,并审校工作流。这种灵活性还扩展到通过 API 上传和下载语言文件或自动化流程。

这篇文章有帮助吗?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.