Download i18n Curriculum #25
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Download i18n Curriculum | |
on: | |
workflow_dispatch: | |
schedule: | |
# runs Monday and Wednesday at 12:15 PM UTC | |
- cron: '15 12 * * 1,3' | |
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: | |
download-i18n-curriculum: | |
name: Download i18n Curriculum | |
runs-on: ubuntu-22.04 | |
strategy: | |
matrix: | |
node-version: [20.x] | |
fail-fast: true | |
steps: | |
- name: Checkout Source Files | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
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 sources only once. Don't need it for other languages. | |
download_sources: true | |
push_sources: false | |
download_translations: true | |
download_language: zh-CN | |
skip_untranslated_strings: false | |
skip_untranslated_files: false | |
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_strings: false | |
skip_untranslated_files: false | |
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_strings: false | |
skip_untranslated_files: false | |
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_strings: false | |
skip_untranslated_files: false | |
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_strings: false | |
skip_untranslated_files: false | |
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_strings: false | |
skip_untranslated_files: false | |
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 German ##### | |
- name: Crowdin Download German 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: de | |
skip_untranslated_strings: false | |
skip_untranslated_files: false | |
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 Arabic ##### | |
- name: Crowdin Download Arabic 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: ar | |
skip_untranslated_strings: false | |
skip_untranslated_files: false | |
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 Swahili ##### | |
- name: Crowdin Download Swahili 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: sw | |
skip_untranslated_strings: false | |
skip_untranslated_files: false | |
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 Korean ##### | |
- name: Crowdin Download Korean 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: ko | |
skip_untranslated_strings: false | |
skip_untranslated_files: false | |
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 | |
###### Lowercase directory names ##### | |
- name: Lowercase Directories | |
uses: freecodecamp/crowdin-action@main | |
env: | |
PLUGIN: "lowercase-directories" | |
FILE_PATH: "curriculum/challenges" | |
- name: Overwrite Execute-Brain.md | |
run: sudo scripts/move-bf.sh | |
# 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" | |
# Create PR | |
- name: Create PR | |
uses: freecodecamp/crowdin-action@main | |
env: | |
PLUGIN: "pull-request" | |
GH_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_PAT }} | |
BRANCH: "i18n-sync-curriculum" | |
REPOSITORY: "freeCodeCamp/i18n-curriculum" | |
BASE: "main" | |
TITLE: "chore(i18n,learn): processed translations" | |
BODY: "This PR was opened auto-magically by Crowdin." |