Add a Github Action to send translations to Crowdin for each merge in main (#25869)
parent
d184524233
commit
626a7b6a77
3 changed files with 116 additions and 0 deletions
@ -0,0 +1,76 @@ |
||||
name: Crowdin / Download translations |
||||
on: |
||||
schedule: |
||||
- cron: '17 4 * * *' # Every day |
||||
workflow_dispatch: |
||||
|
||||
permissions: |
||||
contents: write |
||||
pull-requests: write |
||||
|
||||
jobs: |
||||
download-translations: |
||||
runs-on: ubuntu-latest |
||||
|
||||
steps: |
||||
- name: Checkout |
||||
uses: actions/checkout@v3 |
||||
|
||||
- name: Increase Git http.postBuffer |
||||
# This is needed due to a bug in Ubuntu's cURL version? |
||||
# See https://github.com/orgs/community/discussions/55820 |
||||
run: | |
||||
git config --global http.version HTTP/1.1 |
||||
git config --global http.postBuffer 157286400 |
||||
|
||||
# Download the translation files from Crowdin |
||||
- name: crowdin action |
||||
uses: crowdin/github-action@v1 |
||||
with: |
||||
upload_sources: false |
||||
upload_translations: false |
||||
download_translations: true |
||||
crowdin_branch_name: main |
||||
push_translations: false |
||||
create_pull_request: false |
||||
env: |
||||
CROWDIN_PROJECT_ID: ${{ vars.CROWDIN_PROJECT_ID }} |
||||
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }} |
||||
|
||||
# As the files are extracted from a Docker container, they belong to root:root |
||||
# We need to fix this before the next steps |
||||
- name: Fix file permissions |
||||
run: sudo chown -R runner:docker . |
||||
|
||||
# This is needed to run the normalize step |
||||
- name: Install native Ruby dependencies |
||||
run: sudo apt-get install -y libicu-dev libidn11-dev |
||||
|
||||
- name: Set up Ruby |
||||
uses: ruby/setup-ruby@v1 |
||||
with: |
||||
ruby-version: .ruby-version |
||||
bundler-cache: true |
||||
|
||||
- name: Run i18n normalize task |
||||
run: bundle exec i18n-tasks normalize |
||||
|
||||
# Create or update the pull request |
||||
- name: Create Pull Request |
||||
uses: peter-evans/create-pull-request@v5.0.2 |
||||
with: |
||||
commit-message: 'New Crowdin translations' |
||||
title: 'New Crowdin Translations (automated)' |
||||
author: 'GitHub Actions <noreply@github.com>' |
||||
body: | |
||||
New Crowdin translations, automated with Github Actions |
||||
|
||||
See `.github/workflows/crowdin-download.yml` |
||||
|
||||
This PR will be updated every day with new translations. |
||||
|
||||
Due to a limitation in Github Actions, checks are not running on this PR without manual action. |
||||
If you want to run the checks, then close and re-open it. |
||||
branch: i18n/crowdin/translations |
||||
base: main |
||||
labels: i18n |
@ -0,0 +1,35 @@ |
||||
name: Crowdin / Upload translations |
||||
|
||||
on: |
||||
push: |
||||
branches: |
||||
- main |
||||
paths: |
||||
- crowdin.yml |
||||
- app/javascript/mastodon/locales/en.json |
||||
- config/locales/en.yml |
||||
- config/locales/simple_form.en.yml |
||||
- config/locales/activerecord.en.yml |
||||
- config/locales/devise.en.yml |
||||
- config/locales/doorkeeper.en.yml |
||||
- .github/workflows/crowdin-upload.yml |
||||
|
||||
jobs: |
||||
upload-translations: |
||||
runs-on: ubuntu-latest |
||||
|
||||
steps: |
||||
- name: Checkout |
||||
uses: actions/checkout@v3 |
||||
|
||||
- name: crowdin action |
||||
uses: crowdin/github-action@v1 |
||||
with: |
||||
upload_sources: true |
||||
upload_translations: false |
||||
download_translations: false |
||||
crowdin_branch_name: main |
||||
|
||||
env: |
||||
CROWDIN_PROJECT_ID: ${{ vars.CROWDIN_PROJECT_ID }} |
||||
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }} |
Loading…
Reference in new issue