Skip to content
Snippets Groups Projects
i18n.yml 1.42 KiB
Newer Older
name: i18n

on:
  push:
    branches:
      - 'master'
      - 'release-**'
  pull_request:
concurrency:
  group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }}
  cancel-in-progress: true

  files-changed:
    name: Check which files changed
    runs-on: ubuntu-22.04
    timeout-minutes: 3
    outputs:
      i18n: ${{ steps.changes.outputs.i18n }}
    steps:
      - uses: actions/checkout@v4
      - name: Test which files changed
        uses: dorny/paths-filter@v3.0.0
        id: changes
        with:
          token: ${{ github.token }}
          filters: .github/file-paths.yaml
    needs: files-changed
    if: needs.files-changed.outputs.i18n == 'true'
    timeout-minutes: 15
    - uses: actions/checkout@v4
    - name: Prepare front-end environment
      uses: ./.github/actions/prepare-frontend
    - name: Prepare back-end environment
      uses: ./.github/actions/prepare-backend
    - name: Install xgettext if necessary
      run: |
        if ! command -v xgettext > /dev/null; then
          sudo apt install gettext
        fi
    - name: Check xgettext version
      run: xgettext --version
    - name: Check i18n tags/make sure template can be built
      run: ./bin/i18n/update-translation-template
    - name: Verify i18n translations (.po files)
      run: ./bin/i18n/build-translation-resources