237 lines
7.0 KiB
YAML
237 lines
7.0 KiB
YAML
name: Crowdin Curriculum Download
|
|
on:
|
|
workflow_dispatch:
|
|
schedule:
|
|
# runs every weekday at 12:30 PM UTC
|
|
- cron: '30 12 * * 1-5'
|
|
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_PAT }}
|
|
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_SERVICE_TOKEN }}
|
|
CROWDIN_API_URL: 'https://freecodecamp.crowdin.com/api/v2/'
|
|
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID_CURRICULUM }}
|
|
|
|
jobs:
|
|
i18n-download-curriculum-translations:
|
|
name: Curriculum
|
|
runs-on: ubuntu-20.04
|
|
|
|
steps:
|
|
- name: Checkout Source Files
|
|
uses: actions/checkout@v3
|
|
with:
|
|
token: ${{ secrets.CROWDIN_CAMPERBOT_PAT }}
|
|
|
|
- name: Generate Crowdin Config
|
|
uses: freecodecamp/crowdin-action@main
|
|
env:
|
|
PLUGIN: 'generate-config'
|
|
PROJECT_NAME: 'curriculum'
|
|
|
|
##### Download Chinese #####
|
|
- name: Crowdin Download Chinese Translations
|
|
uses: crowdin/github-action@master
|
|
# options: https://github.com/crowdin/github-action/blob/master/action.yml
|
|
with:
|
|
# uploads
|
|
upload_sources: false
|
|
upload_translations: false
|
|
auto_approve_imported: false
|
|
import_eq_suggestions: false
|
|
|
|
# downloads
|
|
download_translations: true
|
|
download_language: zh-CN
|
|
skip_untranslated_files: true
|
|
export_only_approved: true
|
|
|
|
push_translations: false
|
|
|
|
# pull-request
|
|
create_pull_request: false
|
|
|
|
# global options
|
|
config: './crowdin-config.yml'
|
|
base_url: ${{ secrets.CROWDIN_BASE_URL_FCC }}
|
|
|
|
# Uncomment below to debug
|
|
# dryrun_action: true
|
|
|
|
# Convert Simplified Chinese to Traditional #
|
|
- name: Convert Chinese
|
|
uses: freecodecamp/crowdin-action@main
|
|
env:
|
|
PLUGIN: 'convert-chinese'
|
|
FILE_PATHS: '["/curriculum/challenges/chinese/", "/curriculum/dictionaries/chinese"]'
|
|
|
|
##### Download Espanol #####
|
|
- name: Crowdin Download Espanol Translations
|
|
uses: crowdin/github-action@master
|
|
# options: https://github.com/crowdin/github-action/blob/master/action.yml
|
|
with:
|
|
# uploads
|
|
upload_sources: false
|
|
upload_translations: false
|
|
auto_approve_imported: false
|
|
import_eq_suggestions: false
|
|
|
|
# downloads
|
|
download_translations: true
|
|
download_language: es-EM
|
|
skip_untranslated_files: true
|
|
export_only_approved: true
|
|
|
|
push_translations: false
|
|
|
|
# pull-request
|
|
create_pull_request: false
|
|
|
|
# global options
|
|
config: './crowdin-config.yml'
|
|
base_url: ${{ secrets.CROWDIN_BASE_URL_FCC }}
|
|
|
|
# Uncomment below to debug
|
|
# dryrun_action: true
|
|
|
|
##### Download Italian #####
|
|
- name: Crowdin Download Italian Translations
|
|
uses: crowdin/github-action@master
|
|
# options: https://github.com/crowdin/github-action/blob/master/action.yml
|
|
with:
|
|
# uploads
|
|
upload_sources: false
|
|
upload_translations: false
|
|
auto_approve_imported: false
|
|
import_eq_suggestions: false
|
|
|
|
# downloads
|
|
download_translations: true
|
|
download_language: it
|
|
skip_untranslated_files: true
|
|
export_only_approved: true
|
|
|
|
push_translations: false
|
|
|
|
# pull-request
|
|
create_pull_request: false
|
|
|
|
# global options
|
|
config: './crowdin-config.yml'
|
|
base_url: ${{ secrets.CROWDIN_BASE_URL_FCC }}
|
|
|
|
# Uncomment below to debug
|
|
# dryrun_action: true
|
|
|
|
##### Download Brazilian Portuguese #####
|
|
- name: Crowdin Download Portuguese (Brazilian) Translations
|
|
uses: crowdin/github-action@master
|
|
# options: https://github.com/crowdin/github-action/blob/master/action.yml
|
|
with:
|
|
# uploads
|
|
upload_sources: false
|
|
upload_translations: false
|
|
auto_approve_imported: false
|
|
import_eq_suggestions: false
|
|
|
|
# downloads
|
|
download_translations: true
|
|
download_language: pt-BR
|
|
skip_untranslated_files: true
|
|
export_only_approved: true
|
|
|
|
push_translations: false
|
|
|
|
# pull-request
|
|
create_pull_request: false
|
|
|
|
# global options
|
|
config: './crowdin-config.yml'
|
|
base_url: ${{ secrets.CROWDIN_BASE_URL_FCC }}
|
|
|
|
# Uncomment below to debug
|
|
# dryrun_action: true
|
|
|
|
##### Download Ukrainian #####
|
|
- name: Crowdin Download Ukrainian Translations
|
|
uses: crowdin/github-action@master
|
|
# options: https://github.com/crowdin/github-action/blob/master/action.yml
|
|
with:
|
|
# uploads
|
|
upload_sources: false
|
|
upload_translations: false
|
|
auto_approve_imported: false
|
|
import_eq_suggestions: false
|
|
|
|
# downloads
|
|
download_translations: true
|
|
download_language: uk
|
|
skip_untranslated_files: true
|
|
export_only_approved: true
|
|
|
|
push_translations: false
|
|
|
|
# pull-request
|
|
create_pull_request: false
|
|
|
|
# global options
|
|
config: './crowdin-config.yml'
|
|
base_url: ${{ secrets.CROWDIN_BASE_URL_FCC }}
|
|
|
|
# Uncomment below to debug
|
|
# dryrun_action: true
|
|
|
|
##### Download Japanese #####
|
|
- name: Crowdin Download Japanese Translations
|
|
uses: crowdin/github-action@master
|
|
# options: https://github.com/crowdin/github-action/blob/master/action.yml
|
|
with:
|
|
# uploads
|
|
upload_sources: false
|
|
upload_translations: false
|
|
auto_approve_imported: false
|
|
import_eq_suggestions: false
|
|
|
|
# downloads
|
|
download_translations: true
|
|
download_language: ja
|
|
skip_untranslated_files: true
|
|
export_only_approved: true
|
|
|
|
push_translations: false
|
|
|
|
# pull-request
|
|
create_pull_request: false
|
|
|
|
# global options
|
|
config: './crowdin-config.yml'
|
|
base_url: ${{ secrets.CROWDIN_BASE_URL_FCC }}
|
|
|
|
# Uncomment below to debug
|
|
# dryrun_action: true
|
|
|
|
# Create Commit
|
|
- name: Commit Changes
|
|
uses: freecodecamp/crowdin-action@main
|
|
env:
|
|
PLUGIN: 'commit-changes'
|
|
GH_USERNAME: 'camperbot'
|
|
GH_EMAIL: ${{ secrets.ACTIONS_CAMPERBOT_EMAIL }}
|
|
GH_BRANCH: 'i18n-sync-curriculum'
|
|
GH_MESSAGE: 'chore(i18n,learn): processed translations'
|
|
|
|
# Generate PR #
|
|
# All languages should go ABOVE this. #
|
|
|
|
- name: Create PR
|
|
uses: freecodecamp/crowdin-action@main
|
|
env:
|
|
PLUGIN: 'pull-request'
|
|
GH_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_PAT }}
|
|
BRANCH: 'i18n-sync-curriculum'
|
|
REPOSITORY: 'freecodecamp/freecodecamp'
|
|
BASE: 'main'
|
|
TITLE: 'chore(i18n,learn): processed translations'
|
|
BODY: 'This PR was opened auto-magically by Crowdin.'
|
|
LABELS: 'crowdin-sync'
|
|
TEAM_REVIEWERS: 'i18n'
|