chore: import upstream snapshot with attribution
i18n - Build Validation / Validate i18n Builds (24) (push) Has been cancelled
CI - Node.js / Lint (24) (push) Has been cancelled
CI - Node.js / Build (24) (push) Has been cancelled
CI - Node.js / Test (24) (push) Has been cancelled
CI - Node.js / Test - Upcoming Changes (24) (push) Has been cancelled
CI - Node.js / Test - i18n (italian, 24) (push) Has been cancelled
CI - Node.js / Test - i18n (portuguese, 24) (push) Has been cancelled
CD - Docker - GHCR Images / Build and Push Images (push) Has been cancelled
i18n - Build Validation / Validate i18n Builds (24) (push) Has been cancelled
CI - Node.js / Lint (24) (push) Has been cancelled
CI - Node.js / Build (24) (push) Has been cancelled
CI - Node.js / Test (24) (push) Has been cancelled
CI - Node.js / Test - Upcoming Changes (24) (push) Has been cancelled
CI - Node.js / Test - i18n (italian, 24) (push) Has been cancelled
CI - Node.js / Test - i18n (portuguese, 24) (push) Has been cancelled
CD - Docker - GHCR Images / Build and Push Images (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,342 @@
|
||||
name: i18n - Download Client UI
|
||||
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_CLIENT }}
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
i18n-download-client-ui-translations:
|
||||
name: Client
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Checkout Source Files
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
token: ${{ secrets.CROWDIN_CAMPERBOT_PAT }}
|
||||
|
||||
- name: Generate Crowdin Config
|
||||
uses: freecodecamp/crowdin-action@36a78cbf92f5a6c05a3a32dc8bf434a19a7c59e2 # main
|
||||
env:
|
||||
PLUGIN: 'generate-config'
|
||||
PROJECT_NAME: 'client'
|
||||
|
||||
##### Download Chinese #####
|
||||
- name: Crowdin Download Chinese Translations
|
||||
uses: crowdin/github-action@8868a33591d21088edfc398968173a3b98d51706 # v2.16.2
|
||||
# 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: 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@36a78cbf92f5a6c05a3a32dc8bf434a19a7c59e2 # main
|
||||
env:
|
||||
PLUGIN: 'convert-chinese'
|
||||
FILE_PATHS: '["client/i18n/locales/chinese"]'
|
||||
|
||||
##### Download Espanol #####
|
||||
- name: Crowdin Download Espanol Translations
|
||||
uses: crowdin/github-action@8868a33591d21088edfc398968173a3b98d51706 # v2.16.2
|
||||
# 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: 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@8868a33591d21088edfc398968173a3b98d51706 # v2.16.2
|
||||
# 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: 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@8868a33591d21088edfc398968173a3b98d51706 # v2.16.2
|
||||
# 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: 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@8868a33591d21088edfc398968173a3b98d51706 # v2.16.2
|
||||
# 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: 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@8868a33591d21088edfc398968173a3b98d51706 # v2.16.2
|
||||
# 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: 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@8868a33591d21088edfc398968173a3b98d51706 # v2.16.2
|
||||
# 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_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@8868a33591d21088edfc398968173a3b98d51706 # v2.16.2
|
||||
# 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_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@8868a33591d21088edfc398968173a3b98d51706 # v2.16.2
|
||||
# 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_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
|
||||
|
||||
###### Format JSON #####
|
||||
# Crowdin gives the files read-only permissions, so we first have to allow
|
||||
# writes.
|
||||
- name: Format JSON
|
||||
run: |
|
||||
sudo chown -R $(whoami): client/i18n/locales
|
||||
npx --yes prettier --write client/i18n/locales/**/*.json
|
||||
|
||||
###### Lowercase directory names #####
|
||||
|
||||
- name: Lowercase Directories
|
||||
uses: freecodecamp/crowdin-action@36a78cbf92f5a6c05a3a32dc8bf434a19a7c59e2 # main
|
||||
env:
|
||||
PLUGIN: 'lowercase-directories'
|
||||
FILE_PATH: 'client/i18n/locales'
|
||||
# Crowdin translators might have the directories
|
||||
# Create Commit
|
||||
- name: Commit Changes
|
||||
uses: freecodecamp/crowdin-action@36a78cbf92f5a6c05a3a32dc8bf434a19a7c59e2 # main
|
||||
env:
|
||||
PLUGIN: 'commit-changes'
|
||||
GH_USERNAME: 'camperbot'
|
||||
GH_EMAIL: ${{ secrets.ACTIONS_CAMPERBOT_EMAIL }}
|
||||
GH_BRANCH: 'i18n-sync-client'
|
||||
GH_MESSAGE: 'chore(i18n,client): processed translations'
|
||||
|
||||
# Generate PR #
|
||||
# All languages should go ABOVE this. #
|
||||
|
||||
- name: Create PR
|
||||
uses: freecodecamp/crowdin-action@36a78cbf92f5a6c05a3a32dc8bf434a19a7c59e2 # main
|
||||
env:
|
||||
PLUGIN: 'pull-request'
|
||||
GH_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_PAT }}
|
||||
BRANCH: 'i18n-sync-client'
|
||||
REPOSITORY: 'freecodecamp/freecodecamp'
|
||||
BASE: 'main'
|
||||
TITLE: 'chore(i18n,client): processed translations'
|
||||
BODY: 'This PR was opened auto-magically by Crowdin.'
|
||||
LABELS: 'crowdin-sync'
|
||||
TEAM_REVIEWERS: 'i18n'
|
||||
Reference in New Issue
Block a user