Sync Crowdin #112
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.24.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 }} | |
# There has to be a better way to do this | |
- name: Normalization of Translation Strings | |
run: | | |
dart pub get | |
cd assets/i18n | |
sudo chmod 766 *.json | |
cd ../.. | |
dart run slang analyze | |
dart run slang clean | |
dart run slang normalize | |
cd assets/i18n | |
dart nuke.dart >> $GITHUB_STEP_SUMMARY | |
cd ../.. | |
dart run slang | |
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 commit -m "chore: Remove empty values from JSON" assets/i18n/strings_*.json | |
git push origin HEAD:feat/translations |