Sync Crowdin #137
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.27.x | |
- name: Sync translations from Crowdin | |
uses: crowdin/github-action@v2 | |
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: Validation of synced translations | |
run: | | |
dart pub get | |
dart run slang validate | |
- name: Normalization of Translation Strings | |
run: | | |
sudo chmod 766 assets/i18n/*.i18n.json | |
dart run slang analyze | |
dart run slang clean | |
dart run slang normalize | |
dart run slang | |
flutter analyze lib/gen/strings.g.dart --no-fatal-infos --no-fatal-warnings | |
# There will be no way flutter analyze will fail... right? | |
- 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/*.i18n.json | |
git push origin HEAD:feat/translations |