Sync Crowdin #12
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Sync Crowdin | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: 00 12 * * 1 | |
push: | |
branches: dev | |
paths: | |
- assets/i18n/*.json | |
- assets/i18n/*.dart | |
- .github/workflows/sync_crowdin.yml | |
jobs: | |
sync: | |
name: Sync | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup Flutter | |
uses: subosito/flutter-action@v2 | |
with: | |
cache: true | |
flutter-version: 3.22.x | |
- name: Sync translations from Crowdin | |
uses: crowdin/github-action@v1 | |
with: | |
config: crowdin.yml | |
upload_sources: true | |
upload_translations: false | |
download_translations: true | |
localization_branch_name: feat/translations | |
create_pull_request: true | |
pull_request_title: "chore: Sync translations" | |
pull_request_body: "Sync translations from [crowdin.com/project/revanced](https://crowdin.com/project/revanced)" | |
pull_request_base_branch_name: "dev" | |
commit_message: "chore: Sync translations" | |
github_user_name: revanced-bot | |
github_user_email: github@revanced.app | |
env: | |
GITHUB_TOKEN: ${{ secrets.REPOSITORY_PUSH_ACCESS }} | |
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} | |
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }} | |
- name: Generate Translation Strings | |
run: | | |
dart pub get | |
dart run slang | |
flutter analyze lib/gen/strings.g.dart --no-fatal-infos --no-fatal-warnings | |
- name: Remove empty values & Validation of Translation Strings | |
run: | | |
dart run slang analyze | |
dart run slang clean | |
dart run slang normalize | |
cd assets/i18n | |
sudo chmod 777 *.json | |
dart nuke.dart >> $GITHUB_STEP_SUMMARY | |
flutter analyze lib/gen/strings.g.dart --no-fatal-infos --no-fatal-warnings | |
- name: Commit translations | |
run: | | |
git config user.name revanced-bot | |
git config user.email github@revanced.app | |
sudo chown -R $USER:$USER .git | |
git add assets/i18n/strings.*.json | |
git commit -m "chore: Remove empty values from JSON" assets/i18n/strings.*.json | |
git push origin HEAD:feat/translations |