Skip to content

Multilingual Docs Upload #3

Multilingual Docs Upload

Multilingual Docs Upload #3

name: "Multilingual Docs Upload"
on:
push:
paths:
- "discord/**"
- "docs/**"
branches: [master]
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
permissions: write-all
jobs:
upload:
name: "Upload localization base to Crowdin"
runs-on: ubuntu-latest
if: ${{ contains(github.event.head_commit.message, '!crowdin upload') || github.event_name == 'workflow_dispatch' }}
environment: translations
steps:
- name: "Checkout Repository"
uses: actions/checkout@v4
- name: "Setup Python"
uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: "Install uv"
uses: astral-sh/setup-uv@v6
with:
enable-cache: true
- name: Sync dependencies
run: uv sync --no-python-downloads --group dev --group docs --extra speed --extra voice
- name: "Get locales"
env:
SPHINXBUILD: ${{ github.workspace }}/.venv/bin/sphinx-build
run: |
make html
sphinx-build -b gettext . ./build/locales
working-directory: ./docs
- name: "Build locales"
env:
SPHINXBUILD: ${{ github.workspace }}/.venv/bin/sphinx-build
run:
sphinx-intl update -p ./build/locales ${{ vars.SPHINX_LANGUAGES }}
working-directory: ./docs
- name: "Crowdin"
uses: crowdin/[email protected]
with:
upload_sources: true
upload_translations: false
download_translations: false
localization_branch_name: ${{ vars.CROWDIN_LOCALIZATION_BRANCH }}
create_pull_request: false
config: "crowdin.yml"
env:
GITHUB_TOKEN: ${{ secrets.CI_TOKEN }}
CROWDIN_PROJECT_ID: ${{ vars.CROWDIN_PROJECT_ID }}
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_API_TOKEN }}