文档

初始设置是必需的

在使用 XLIFF Translator 之前,您需要为您的 Angular 应用程序配置国际化。

前往设置

开始使用 XLIFF 翻译器

选择存储库

在连接到 Git 提供程序后:

GitHub未连接

要连接,请生成一个具有以下范围的个人访问令牌:

  • repo
  • read:org

在此处获取您的令牌:设置 > 开发者设置 > 个人访问令牌 > 令牌(经典) > 生成新令牌: Settings > Developer settings > Personal access tokens > Tokens (classic) > Generate new token

令牌
输入您的访问令牌
GitHub 提供者配置表单
  1. 选择一个提供者: 从 GitHub、GitLab 或 Bitbucket 中选择
  2. 配置访问: 创建并提供适当的令牌
  3. 保存您的配置: 输入您的令牌并保存连接

Github

创建一个带有 repo 和 repo:org 权限的个人访问令牌。

GitLab

创建一个个人访问令牌,具有 api, read_repository, 和 write_repository 范围.

Bitbucket

创建一个带有 repository:read 和 repository:write 权限的应用密码。

仓库管理

选择存储库

在连接到 Git 提供程序后:

Organization
Repository
Updated Apr 8, 2025
检测到 90 个翻译单元
没有可用的翻译...
仓库选择与翻译选项
  1. 导航到提供者的页面,查看您的储存库列表
  2. 浏览并选择包含您的 Angular 项目的 XLIFF 文件的代码库
  3. 指定要使用的分支(默认通常是主分支)

翻译选项

选择分支
主枝
XLIFF扩展
xlf
TransUnit 状态
新
已处理的 TransUnit 状态
翻译完成
翻译选项配置modal

正在审查和最终确定

拉取请求审查

翻译过程完成后:

  1. 审核您在 Git 提供商中创建的拉取请求
  2. 检查翻译内容的准确性
  3. 直接在 XLIFF 文件中进行任何必要的调整
  4. 合并拉取请求,以使用翻译更新您的主要代码库

该工作流程允许您在版本控制系统中保留翻译,并遵循标准代码审查实践以更新翻译。

有效翻译的提示

  • 定期进行翻译,以避免大量未翻译的内容。
  • 为翻译创建一个专用分支,以将其与功能开发分开。
  • 确保你的源代码为翻译单元提供清晰的上下文,以提高 AI 翻译质量
  • 始终检查 AI 生成的翻译,尤其是对关键用户可见内容。
  • 使用特定的文件模式来针对一次一个语言的翻译

翻译工作流程

估算

在进行翻译之前,您可以评估任务的范围和复杂性:

  1. 选择您要使用的代码库
  2. 点击“评估”以分析您的 XLIFF 文件
  3. 配置估算选项:
    • 分支: 选择包含您的 XLIFF 文件的分支
    • 文件模式:默认情况下为"xlf",以搜索所有XLIFF文件。使用特定模式,例如"ru.xlf",仅针对俄文文件。
    • 翻译状态: 选择要包含的翻译单元(默认是“新”以专注于未翻译的内容)
  4. 审核估算结果,显示要处理的翻译单元数量

为什么估算?

估算过程帮助您了解:

  • 需要处理的翻译单元的确切数量
  • 需要多少积分(1个翻译单元 = 1个积分)
  • 大约需要的时间(每个翻译单位处理需要 10-20 秒)

重要:大型翻译项目涉及数百个翻译单元可能需要花费大量时间。请相应地进行计划。

翻译

运行基于AI的翻译是一个与估算不同的独立过程:

  1. 选择包含您 XLIFF 文件的仓库
  2. 点击“翻译”以开始该过程
  3. 配置翻译选项:
    • Branch: 选择源分支
    • File Pattern: 指定要翻译哪些 XLIFF 文件
    • Translation State: 选择要处理的翻译单元(例如,“new”,“needs-translation”)
    • Target State: 为翻译单元定义要设置的状态(例如,“已翻译”、“最终”)
  4. 开始翻译过程

您将被提示出现翻译选项模态框,如“选择仓库”部分所示。

翻译过程

在翻译过程中,XLIFF Translator:

  1. 克隆您的项目代码库
  2. 识别符合您模式的XLIFF文件
  3. 分析每个翻译单元及其在源代码中的上下文
  4. 发送翻译指令到AI引擎,并附上相关上下文
  5. 更新XLIFF文件以包含翻译内容
  6. 创建一个拉取请求以包含更改(如果已配置)