-
Notifications
You must be signed in to change notification settings - Fork 49
GH Actions Crowdin
Wilco Alsemgeest edited this page Jun 13, 2021
·
12 revisions
- Crowdin Action Documentation
- Crowdin Action Repository
- Crowdin Github Marketplace
- Crowdin CLI Documentation
This file must be named "crowdin.yml" and be in the root of the repository. Other locations is also possible, but requires a change in the workflow file.
# Project Public Identifier: joomla-xxx-xxx
project_id: number
api_token_env: CROWDIN_PERSONAL_TOKEN
base_path: language
base_url: "https://joomla.crowdin.com"
preserve_hierarchy: true
files:
- source: "/en-GB/en-GB.com_language.ini"
dest: "Joomla! Downloads/en-GB.com_language.ini"
translation: "/%locale%/%locale%.com_language.ini"
type: joomla
update_option: update_as_unapproved
- source: "/en-GB/en-GB.com_language1.ini"
dest: "Joomla! Downloads/en-GB.com_language1.ini"
translation: "/%locale%/%locale%.com_language1.ini"
- source: "/en-GB/en-GB.com_language2.ini"
dest: "Joomla! Downloads/en-GB.com_language2.ini"
translation: "/%locale%/%locale%.com_language2.ini"
This file is used within the the Github Actions configuration.
name: Crowdin Action
# Controls when the action will run.
on:
# Triggers the workflow on a schedule
schedule:
- cron: '15 * * * *'
# Triggers the workflow on push or pull request events but only for the master branch
push:
branches: [ master ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
synchronize-with-crowdin:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Checkout
uses: actions/checkout@v2
# Runs the Crowdin action command
- name: crowdin action
# Version of the Crowdin Github action to use
uses: crowdin/[email protected]
with:
# Upload sources to Crowdin
upload_sources: true
# Upload translations to Crowdin, only use true at initial run
upload_translations: false
# Download translations from Crowdin
download_translations: false
# Only download translated strings
skip_untranslated_strings: false
# Download translations with pushing to branch
push_translations: true
# To download translations to the specified version branch
localization_branch_name: 'l10n_crowdin_translations'
# Create pull request after pushing to branch
create_pull_request: true
# Configuration file to use
config: 'crowdin.yml'
# Use true for dryrun to test the run without actually processing anything
dryrun_action: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
Go to "Settings" - "Secrets" - "New repository secret"
Use name: CROWDIN_PERSONAL_TOKEN
Use value: Received from Crowdin project manager