type: team
name: localize
alias:
  - translate
description: Translate documents into other languages
skills:
  - url: ../init/index.mjs
    default_input:
      skipIfExists: true
      checkOnly: true
  - ../utils/load-sources.mjs
  - url: ../init/check.mjs
  - type: transform
    task_render_mode: hide
    jsonata: |
      $merge([
        $,
        {
          'documentStructure': originalDocumentStructure
        }
      ])
  - url: ../update/check-diagram-flag.mjs
  - url: ../utils/choose-docs.mjs
    default_input:
      isTranslate: true
  - ../localize/choose-language.mjs
  - type: team
    name: batchTranslateDocument
    skills:
      - ../localize/translate-multilingual.yaml
    iterate_on: selectedDocs
    concurrency: 5
  - url: ../utils/check-feedback-refiner.mjs
    default_input:
      stage: translation_refine
  - url: ./record-translation-history.mjs
  - url: ../utils/action-success.mjs
    default_input:
      action: '✅ Translation completed'
input_schema:
  type: object
  properties:
    glossary:
      type: string
      description: Glossary file for consistent terminology (use @filename.md)
    docs:
      type: array
      items:
        type: string
      description: Documents to translate
    langs:
      type: array
      items:
        type: string
      description: 'Target languages (available: en, zh, zh-TW, ja, fr, de, es, it, ru, ko, pt, ar)'
    feedback:
      type: string
      description: Tell us how to improve the translation style
    diagram:
      type: boolean
      description: Translate only diagram images without translating document content (use --diagram flag)
mode: sequential
