name: Crowdin Upload Sources Action

on:
  push:
    # Monitor all .json files within the /i18n/locales/en/ directory.
    # This ensures the workflow triggers if any the English namespace files are modified on the main branch.
    paths:
      - "/packages/web/public/i18n/locales/en/*.json"
    branches: [main]
  workflow_dispatch: # Allow manual triggering

jobs:
  synchronize-with-crowdin:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Upload sources with Crowdin
        uses: crowdin/github-action@v2
        with:
          base_url: "https://meshtastic.crowdin.com/api/v2"
          config: "./packages/web/crowdin.yml"
          upload_sources: true
          upload_translations: false
          download_translations: false
          crowdin_branch_name: "main"

        env:
          CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
          CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
