diff --git a/.github/workflows/crowdin.yml b/.github/workflows/crowdin.yml new file mode 100644 index 0000000..feceb0d --- /dev/null +++ b/.github/workflows/crowdin.yml @@ -0,0 +1,29 @@ +name: "Crowdin Sync Translations" + +on: + schedule: + - cron: '0 7 * * *' + workflow_dispatch: + +jobs: + synchronize-with-crowdin: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Crowdin action + uses: crowdin/github-action@v2 + with: + upload_sources: true + upload_translations: true + download_translations: true + localization_branch_name: l10n_crowdin_translations + create_pull_request: true + pull_request_title: 'New Translations' + pull_request_body: 'New translations by [Crowdin GitHub Action](https://github.com/crowdin/github-action)' + commit_message: 'Add translations through Crowdin' + env: + GITHUB_TOKEN: ${{ secrets.PAT }} + CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} # A numeric ID, found at https://crowdin.com/project//tools/api + CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }} diff --git a/README.md b/README.md index 21c93b6..2c0b08e 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ ## IntegratedDynamics-Compat [![Build Status](https://github.com/CyclopsMC/IntegratedDynamics-Compat/workflows/CI/badge.svg)](https://github.com/CyclopsMC/IntegratedDynamics-Compat/actions?query=workflow%3ACI) +[![Crowdin](https://badges.crowdin.net/cyclopsmc-integrateddynamics-c/localized.svg)](https://crowdin.com/project/cyclopsmc-integrateddynamics-c) [![Download](https://img.shields.io/static/v1?label=Maven&message=GitHub%20Packages&color=blue)](https://github.com/CyclopsMC/packages/packages/770048) [Integrated Dynamics](https://github.com/CyclopsMC/IntegratedDynamics) compatibility with other mods. diff --git a/crowdin.yml b/crowdin.yml new file mode 100644 index 0000000..4559673 --- /dev/null +++ b/crowdin.yml @@ -0,0 +1,44 @@ +project_id_env: CROWDIN_PROJECT_ID +api_token_env: CROWDIN_PERSONAL_TOKEN +base_path: . + +preserve_hierarchy: true + +files: + - source: src/main/resources/assets/integrateddynamicscompat/lang/en_us.json + translation: src/main/resources/assets/integrateddynamicscompat/lang/%locale_with_underscore%.json + excluded_target_languages: + - en + skip_untranslated_strings: true + languages_mapping: + locale_with_underscore: + af: af_za + ar: ar_sa + ca: ca_es + cs: cs_cz + da: da_dk + de: de_de + el: el_gr + en-US: en_us + es-ES: es_es + fi: fi_fi + fr: fr_fr + he: he_il + hu: hu_hu + it: it_it + ja: ja_jp + ko: ko_kr + nl: nl_nl + "no": no_no + pl: pl_pl + pt-BR: pt_br + pt-PT: pt_pt + ro: ro_ro + ru: ru_ru + sr: sr_sp + sv-SE: sv_se + tr: tr_tr + uk: uk_ua + vi: vi_vn + zh-CN: zh_cn + zh-TW: zh_tw