Skip to content

Download translations from Crowdin #2

Download translations from Crowdin

Download translations from Crowdin #2

Workflow file for this run

name: Download translations from Crowdin
on:
workflow_dispatch:
jobs:
download:
name: Download translations and regenerate fonts
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5
with:
lfs: true
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: '3.9'
cache: 'pip'
cache-dependency-path: |
'build_tools/i18n/*.py'
requirements/base.txt
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: '20.x'
cache: 'yarn'
- name: Install gettext
run: sudo apt-get update && sudo apt-get install -y gettext
- name: Install Python dependencies
run: pip install -r requirements/base.txt
- name: Install JavaScript dependencies
run: yarn --frozen-lockfile
- name: Download source fonts
run: make i18n-download-source-fonts
- name: Download translations and regenerate files
env:
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_API_KEY }}
run: make i18n-download
- name: Generate App Token
id: generate-token
uses: tibdex/github-app-token@v2
with:
app_id: ${{ secrets.LE_BOT_APP_ID }}
private_key: ${{ secrets.LE_BOT_PRIVATE_KEY }}
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6
with:
token: ${{ steps.generate-token.outputs.token }}
commit-message: |
Update translations from Crowdin
This includes:
- Updated translation files (.po and .json)
- Compiled Django messages (.mo files)
- Regenerated font files
- Updated Intl JS files
branch: i18n-update-${{ github.ref_name }}
base: ${{ github.ref_name }}
delete-branch: true
title: 'Update translations from Crowdin for ${{ github.ref_name }}'
body: |
## Summary of changes
This PR updates translations downloaded from Crowdin.
### Changes included:
- Updated translation files (`.po` and `.json`)
- Compiled Django messages (`.mo` files)
- Regenerated custom font files
- Updated Intl JS files
### Testing checklist:
- [ ] Verify that translations are not obviously empty or untranslated in the message files
- [ ] Switch to a few different languages and navigate the app
- [ ] Check that fonts render correctly - especially on the language switcher
---
🤖 This PR was automatically generated by the i18n-download workflow
labels: |
i18n
TAG: user strings