From 95cf0210be6b96b86ad4396451c786cf8bb9961a Mon Sep 17 00:00:00 2001 From: Nicholas Carrigan Date: Sat, 8 Jan 2022 19:43:05 -0800 Subject: [PATCH 1/6] feat: add i18n workflows --- .github/workflows/crowdin-download.yml | 102 +++++++++++++++++++++++++ .github/workflows/crowdin-upload.yml | 58 ++++++++++++++ 2 files changed, 160 insertions(+) create mode 100644 .github/workflows/crowdin-download.yml create mode 100644 .github/workflows/crowdin-upload.yml diff --git a/.github/workflows/crowdin-download.yml b/.github/workflows/crowdin-download.yml new file mode 100644 index 0000000..a4c568f --- /dev/null +++ b/.github/workflows/crowdin-download.yml @@ -0,0 +1,102 @@ +name: Crowdin Download +on: + workflow_dispatch: + # schedule: + # # runs every day at 12:00 noon UTC + # - cron: '0 12 * * *' + +jobs: + i18n-download: + name: Download + runs-on: ubuntu-20.04 + + steps: + - name: Checkout Source Files + uses: actions/checkout@v2 + with: + token: ${{ secrets.CROWDIN_CAMPERBOT_PAT }} + + - name: Generate Crowdin Config + uses: freecodecamp/crowdin-action@main + env: + CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_SERVICE_TOKEN }} + CROWDIN_API_URL: 'https://freecodecamp.crowdin.com/api/v2/' + CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID_DOCS }} + PLUGIN: 'generate-config' + PROJECT_NAME: 'rpg' + + ##### 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 + + env: + GITHUB_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_PAT }} + CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID_DOCS }} + CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_SERVICE_TOKEN }} + + # Convert Simplified Chinese to Traditional # + - name: Convert Chinese + uses: freecodecamp/crowdin-action@main + env: + 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 }} + PLUGIN: 'convert-chinese' + FILE_PATHS: '["/docs/i18n/chinese/"]' + + # Create Commit + - name: Commit Changes + uses: freecodecamp/crowdin-action@main + env: + CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_SERVICE_TOKEN }} + CROWDIN_API_URL: 'https://freecodecamp.crowdin.com/api/v2/' + CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID_DOCS }} + PLUGIN: 'commit-changes' + GH_USERNAME: 'camperbot' + GH_EMAIL: ${{ secrets.ACTIONS_CAMPERBOT_EMAIL }} + GH_BRANCH: 'i18n-sync-docs' + GH_MESSAGE: 'This PR was automagically generated by Crowdin.' + + # Generate PR # + # All languages should go ABOVE this. # + + - name: Create PR + uses: freecodecamp/crowdin-action@main + env: + CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_SERVICE_TOKEN }} + CROWDIN_API_URL: 'https://freecodecamp.crowdin.com/api/v2/' + CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID_DOCS }} + 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' \ No newline at end of file diff --git a/.github/workflows/crowdin-upload.yml b/.github/workflows/crowdin-upload.yml new file mode 100644 index 0000000..3455a93 --- /dev/null +++ b/.github/workflows/crowdin-upload.yml @@ -0,0 +1,58 @@ +name: Crowdin Upload +on: + workflow_dispatch: + schedule: + # runs every day at 11:00 AM UTC + - cron: '0 11 * * *' +jobs: + i18n-upload: + name: Upload + runs-on: ubuntu-20.04 + + steps: + - name: Checkout Source Files + uses: actions/checkout@v2 + + - name: Generate Crowdin Config + uses: freecodecamp/crowdin-action@main + env: + CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_SERVICE_TOKEN }} + CROWDIN_API_URL: "https://freecodecamp.crowdin.com/api/v2/" + CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} + PLUGIN: "generate-config" + PROJECT_NAME: "rpg" + + - name: Crowdin Upload + uses: crowdin/github-action@master + # options: https://github.com/crowdin/github-action/blob/master/action.yml + with: + # uploads + upload_sources: true + upload_translations: false + auto_approve_imported: false + import_eq_suggestions: false + + # downloads + download_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 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} + CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_SERVICE_TOKEN }} + + - name: Hide Non-Translated Strings + uses: freecodecamp/crowdin-action@main + env: + CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_SERVICE_TOKEN }} + CROWDIN_API_URL: "https://freecodecamp.crowdin.com/api/v2/" + CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} + PLUGIN: "hide-renpy-strings" From 04c1c3ee961058b07c68c886646ef8fe62a9461f Mon Sep 17 00:00:00 2001 From: Nicholas Carrigan Date: Sat, 8 Jan 2022 19:46:17 -0800 Subject: [PATCH 2/6] fix: branch name --- .github/workflows/crowdin-download.yml | 40 +++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/crowdin-download.yml b/.github/workflows/crowdin-download.yml index a4c568f..b0afe9c 100644 --- a/.github/workflows/crowdin-download.yml +++ b/.github/workflows/crowdin-download.yml @@ -20,10 +20,10 @@ jobs: uses: freecodecamp/crowdin-action@main env: CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_SERVICE_TOKEN }} - CROWDIN_API_URL: 'https://freecodecamp.crowdin.com/api/v2/' + CROWDIN_API_URL: "https://freecodecamp.crowdin.com/api/v2/" CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID_DOCS }} - PLUGIN: 'generate-config' - PROJECT_NAME: 'rpg' + PLUGIN: "generate-config" + PROJECT_NAME: "rpg" ##### Download Chinese ##### - name: Crowdin Download Chinese Translations @@ -48,7 +48,7 @@ jobs: create_pull_request: false # global options - config: './crowdin-config.yml' + config: "./crowdin-config.yml" base_url: ${{ secrets.CROWDIN_BASE_URL_FCC }} # Uncomment below to debug @@ -64,9 +64,9 @@ jobs: uses: freecodecamp/crowdin-action@main env: CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_SERVICE_TOKEN }} - CROWDIN_API_URL: 'https://freecodecamp.crowdin.com/api/v2/' + CROWDIN_API_URL: "https://freecodecamp.crowdin.com/api/v2/" CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID_CURRICULUM }} - PLUGIN: 'convert-chinese' + PLUGIN: "convert-chinese" FILE_PATHS: '["/docs/i18n/chinese/"]' # Create Commit @@ -74,13 +74,13 @@ jobs: uses: freecodecamp/crowdin-action@main env: CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_SERVICE_TOKEN }} - CROWDIN_API_URL: 'https://freecodecamp.crowdin.com/api/v2/' + CROWDIN_API_URL: "https://freecodecamp.crowdin.com/api/v2/" CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID_DOCS }} - PLUGIN: 'commit-changes' - GH_USERNAME: 'camperbot' + PLUGIN: "commit-changes" + GH_USERNAME: "camperbot" GH_EMAIL: ${{ secrets.ACTIONS_CAMPERBOT_EMAIL }} - GH_BRANCH: 'i18n-sync-docs' - GH_MESSAGE: 'This PR was automagically generated by Crowdin.' + GH_BRANCH: "i18n-sync" + GH_MESSAGE: "This PR was automagically generated by Crowdin." # Generate PR # # All languages should go ABOVE this. # @@ -89,14 +89,14 @@ jobs: uses: freecodecamp/crowdin-action@main env: CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_SERVICE_TOKEN }} - CROWDIN_API_URL: 'https://freecodecamp.crowdin.com/api/v2/' + CROWDIN_API_URL: "https://freecodecamp.crowdin.com/api/v2/" CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID_DOCS }} - PLUGIN: 'pull-request' + 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' \ No newline at end of file + BRANCH: "i18n-sync" + 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" From e0a6955a0ff90af4f7f6baa30c55c0376d4f6889 Mon Sep 17 00:00:00 2001 From: "Nicholas Carrigan (he/him)" Date: Sun, 9 Jan 2022 11:10:47 -0800 Subject: [PATCH 3/6] fix: correct repo name Co-authored-by: Shaun Hamilton --- .github/workflows/crowdin-download.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/crowdin-download.yml b/.github/workflows/crowdin-download.yml index b0afe9c..ce1e0db 100644 --- a/.github/workflows/crowdin-download.yml +++ b/.github/workflows/crowdin-download.yml @@ -94,7 +94,7 @@ jobs: PLUGIN: "pull-request" GH_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_PAT }} BRANCH: "i18n-sync" - REPOSITORY: "freecodecamp/freecodecamp" + REPOSITORY: "freecodecamp/learntocoderpg" BASE: "main" TITLE: "chore(i18n,docs): processed translations" BODY: "This PR was opened auto-magically by Crowdin." From e683e8864cf498474b383d2d29e37008e10cf740 Mon Sep 17 00:00:00 2001 From: "Nicholas Carrigan (he/him)" Date: Sun, 9 Jan 2022 11:15:59 -0800 Subject: [PATCH 4/6] fix: correct path name --- .github/workflows/crowdin-download.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/crowdin-download.yml b/.github/workflows/crowdin-download.yml index ce1e0db..33e374a 100644 --- a/.github/workflows/crowdin-download.yml +++ b/.github/workflows/crowdin-download.yml @@ -67,7 +67,7 @@ jobs: CROWDIN_API_URL: "https://freecodecamp.crowdin.com/api/v2/" CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID_CURRICULUM }} PLUGIN: "convert-chinese" - FILE_PATHS: '["/docs/i18n/chinese/"]' + FILE_PATHS: '["/game/tl/chinese/"]' # Create Commit - name: Commit Changes From a84564faca600688f60d0409f25b52b69edd64c9 Mon Sep 17 00:00:00 2001 From: Nicholas Carrigan Date: Mon, 10 Jan 2022 05:48:03 -0800 Subject: [PATCH 5/6] chore: use better secrets name --- .github/workflows/crowdin-download.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/crowdin-download.yml b/.github/workflows/crowdin-download.yml index 33e374a..d92ad80 100644 --- a/.github/workflows/crowdin-download.yml +++ b/.github/workflows/crowdin-download.yml @@ -21,7 +21,7 @@ jobs: env: CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_SERVICE_TOKEN }} CROWDIN_API_URL: "https://freecodecamp.crowdin.com/api/v2/" - CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID_DOCS }} + CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID_RPG }} PLUGIN: "generate-config" PROJECT_NAME: "rpg" @@ -56,7 +56,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_PAT }} - CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID_DOCS }} + CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID_RPG }} CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_SERVICE_TOKEN }} # Convert Simplified Chinese to Traditional # @@ -75,12 +75,12 @@ jobs: env: CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_SERVICE_TOKEN }} CROWDIN_API_URL: "https://freecodecamp.crowdin.com/api/v2/" - CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID_DOCS }} + CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID_RPG }} PLUGIN: "commit-changes" GH_USERNAME: "camperbot" GH_EMAIL: ${{ secrets.ACTIONS_CAMPERBOT_EMAIL }} GH_BRANCH: "i18n-sync" - GH_MESSAGE: "This PR was automagically generated by Crowdin." + GH_MESSAGE: "chore(i18n): processed translations" # Generate PR # # All languages should go ABOVE this. # @@ -90,13 +90,13 @@ jobs: env: CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_SERVICE_TOKEN }} CROWDIN_API_URL: "https://freecodecamp.crowdin.com/api/v2/" - CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID_DOCS }} + CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID_RPG }} PLUGIN: "pull-request" GH_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_PAT }} BRANCH: "i18n-sync" REPOSITORY: "freecodecamp/learntocoderpg" BASE: "main" - TITLE: "chore(i18n,docs): processed translations" + TITLE: "chore(i18n): processed translations" BODY: "This PR was opened auto-magically by Crowdin." LABELS: "crowdin-sync" TEAM_REVIEWERS: "i18n" From 492b34c88f26698b237307e6d5fa5bac9456357f Mon Sep 17 00:00:00 2001 From: Nicholas Carrigan Date: Wed, 12 Jan 2022 19:29:02 -0800 Subject: [PATCH 6/6] chore: syncronise secret names --- .github/workflows/crowdin-download.yml | 2 +- .github/workflows/crowdin-upload.yml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/crowdin-download.yml b/.github/workflows/crowdin-download.yml index d92ad80..a6edb80 100644 --- a/.github/workflows/crowdin-download.yml +++ b/.github/workflows/crowdin-download.yml @@ -65,7 +65,7 @@ jobs: env: 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 }} + CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID_RPG }} PLUGIN: "convert-chinese" FILE_PATHS: '["/game/tl/chinese/"]' diff --git a/.github/workflows/crowdin-upload.yml b/.github/workflows/crowdin-upload.yml index 3455a93..92e30e1 100644 --- a/.github/workflows/crowdin-upload.yml +++ b/.github/workflows/crowdin-upload.yml @@ -3,7 +3,7 @@ on: workflow_dispatch: schedule: # runs every day at 11:00 AM UTC - - cron: '0 11 * * *' + - cron: "0 11 * * *" jobs: i18n-upload: name: Upload @@ -18,7 +18,7 @@ jobs: env: CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_SERVICE_TOKEN }} CROWDIN_API_URL: "https://freecodecamp.crowdin.com/api/v2/" - CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} + CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID_RPG }} PLUGIN: "generate-config" PROJECT_NAME: "rpg" @@ -46,7 +46,7 @@ jobs: # dryrun_action: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} + CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID_RPG }} CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_SERVICE_TOKEN }} - name: Hide Non-Translated Strings @@ -54,5 +54,5 @@ jobs: env: CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_SERVICE_TOKEN }} CROWDIN_API_URL: "https://freecodecamp.crowdin.com/api/v2/" - CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} + CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID_RPG }} PLUGIN: "hide-renpy-strings"