name: 🌐 Translation Sync

on:
  push:
    branches: [develop]
    paths:
      - "translations/**"
      - "crowdin.yml"
      - "i18n.ts"
      - ".github/workflows/crowdin.yml"
  # Run weekly to pull new translations
  schedule:
    - cron: "0 2 * * 1" # Every Monday at 2 AM UTC
  workflow_dispatch:

permissions:
  contents: write
  pull-requests: write

jobs:
  sync-translations:
    runs-on: ubuntu-latest

    steps:
      - name: 📥 Checkout Repository
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
        with:
          fetch-depth: 0

      - name: 🌐 Sync Translations with Crowdin
        uses: crowdin/github-action@8868a33591d21088edfc398968173a3b98d51706 # v2.16.2
        with:
          upload_sources: true
          upload_translations: true
          download_translations: true
          localization_branch_name: I10n_crowdin_translations
          create_pull_request: true
          pull_request_title: "feat: New Crowdin Translations"
          pull_request_body: "New Crowdin translations by [Crowdin GH Action](https://github.com/crowdin/github-action)"
          pull_request_base_branch_name: "develop"
          pull_request_labels: "🌐 translation"
          # Quality control options
          skip_untranslated_strings: false
          skip_untranslated_files: false
          export_only_approved: false
          # Commit customization
          commit_message: "feat(i18n): update translations from Crowdin"
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
          CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
