跳转到主要内容

两个 Crowdin 工作流

Hyperlocalise 现在支持两种不同的 Crowdin 集成:
  1. 原生同步模式,带有 i18n.yml 加上 sync push / sync pull
  2. 与 Crowdin 兼容的文件模式,包含 crowdin.yml 以及 hyperlocalise crowdin ...
在需要使用 Hyperlocalise 管理的条目同步时,请使用原生同步模式。 当你希望更贴近 Crowdin CLI 文件工作流的直接替代方案时,请使用文件模式。

原生同步模式

必需配置

{
  "storage": {
    "adapter": "crowdin",
    "config": {
      "projectID": "123456",
      "apiTokenEnv": "CROWDIN_API_TOKEN"
    }
  }
}

Crowdin 企业

当你的工作区使用 Crowdin Enterprise 而不是默认的 Crowdin Cloud API 时,设置 apiBaseURL
{
  "storage": {
    "adapter": "crowdin",
    "config": {
      "projectID": "123456",
      "apiTokenEnv": "CROWDIN_API_TOKEN",
      "apiBaseURL": "https://example.api.crowdin.com"
    }
  }
}

可选配置字段

  • apiBaseURL:覆盖 Crowdin API 基础 URL。Crowdin Enterprise 请使用此项。
  • sourceLanguage
  • targetLanguages
  • timeoutSeconds

兼容 Crowdin 的文件模式

使用 crowdin.ymlcrowdin.yaml 示例:
project_id_env: CROWDIN_PROJECT_ID
api_token_env: CROWDIN_PERSONAL_TOKEN
preserve_hierarchy: true

files:
  - source: /src/messages.json
    translation: /locales/%locale%/%original_file_name%
    export_only_approved: true
v1 中支持的crowdin.yml字段:
  • project_id
  • project_id_env
  • api_token
  • api_token_env
  • base_url
  • base_url_env
  • base_path
  • base_path_env
  • preserve_hierarchy
  • files[].source
  • files[].translation
  • files[].languages_mapping
  • files[].excluded_target_languages
  • files[].skip_untranslated_strings
  • files[].skip_untranslated_files
  • files[].export_only_approved
使用兼容的 CLI 接口:
hyperlocalise crowdin init
hyperlocalise crowdin config validate
hyperlocalise crowdin upload sources
hyperlocalise crowdin upload translations --language fr
hyperlocalise crowdin download --language fr
对不受支持的 Crowdin 字段或命令,验证将失败并保持关闭状态。

常见问题

  • 未找到令牌:export CROWDIN_API_TOKEN
  • 企业 API 请求失败:请验证 storage.config.apiBaseURL 指向你的企业 API 主机并使用 https
  • 项目查找失败:请检查项目 ID 和账户权限
  • 部分更新:使用 --output json 审查冲突报告
  • 文件模式验证错误:移除不受支持的 crowdin.yml 字段,或切换到原生 i18n.yml 同步模式