name: i18n - Download Docs 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_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID_DOCS }} CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_SERVICE_TOKEN }} CROWDIN_API_URL: 'https://freecodecamp.crowdin.com/api/v2/' jobs: i18n-download-docs-translations: name: Docs runs-on: ubuntu-22.04 steps: - name: Checkout Source Files uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 with: token: ${{ secrets.CROWDIN_CAMPERBOT_PAT }} - name: Generate Crowdin Config uses: freecodecamp/crowdin-action@main env: PLUGIN: 'generate-config' PROJECT_NAME: 'docs' ##### 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: 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: '["/docs/i18n/chinese/"]' ##### Download Portuguese##### - name: Crowdin Download Portuguese 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: 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 Espanol ##### - name: Crowdin Espanol Download 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: 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_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_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_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_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 # 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-docs' GH_MESSAGE: 'chore(i18n,docs): 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-docs' REPOSITORY: 'freecodecamp/freecodecamp' BASE: 'main' TITLE: 'chore(i18n,docs): processed translations' BODY: 'This PR was opened auto-magically by Crowdin.' LABELS: 'crowdin-sync' TEAM_REVIEWERS: 'i18n'