Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: setup Crowdin #1086

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

andrii-bodnar
Copy link

Hey everyone,

It's Andrii from Crowdin. Just stumbled across issue #790 and decided to suggest an automated way to synchronize localization resources between Crowdin and the repository. The community translators can work together in Crowdin, translations would be delivered as PR and volunteers can raise issues for problematic strings via Crowdin.

I'm suggesting the integration with Crowdin via GitHub Actions. Crowdin is free for open-source projects. This integration works in the following way:

  • the action runs when some changes are being pushed for the locales/en.yml file in the main branch
  • upload new source texts to the Crowdin project
  • upload existing translations to Crowdin (using the upload_translations action config parameter, it's necessary only for the first time)
  • download all the new translations from Crowdin and commit these translations to the l10n_crowdin_translations branch
  • open a Pull Request with the latest translations.

You can find my demo Crowdin project here - it-tools-demo.

Example of the first PR that will be created by Crowdin Action - andrii-bodnar#1 (Don't worry about the diffs - it's just updated the translation files to the actual state. The next PRs will include the new translations only).

By the way, I found an already created project in Crowdin - https://crowdin.com/project/it-tools 🙂

Closes: #790

Copy link

vercel bot commented May 14, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated (UTC)
it-tools ✅ Ready (Inspect) Visit Preview May 14, 2024 1:04pm

@andrii-bodnar
Copy link
Author

andrii-bodnar commented May 14, 2024

In addition, there are some great Crowdin apps to engage community translations:

  • Crowdin Contributors Action - A GitHub Action that allows you to automate the maintenance for your contributors' table.
  • Badges & Status Images - allows generating badges, charts, and additional graphics for each language in your Crowdin Project.

The next steps we can do to move further with this integration:

  • Add the rest of the target languages to the existing Crowdin project.
  • Generate a Crowdin Personal Access Token in your Crowdin account settings (scopes: Projects, Translation Status, Source files & strings, Translations).
  • Create the Actions secrets for your repository:
    • CROWDIN_PERSONAL_TOKEN - the personal access token generated in Crowdin.
    • CROWDIN_PROJECT_ID - ID of the Crowdin project (644730).
  • merge this PR.

cc @CorentinTh

Copy link

sonarcloud bot commented May 14, 2024

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[OTHER] Set up community translation integration for a repository
1 participant