website icon indicating copy to clipboard operation
website copied to clipboard

Automated integration with Crowdin

Open ludekjanda opened this issue 1 year ago • 7 comments

Crowdin supports automated syncronization with GitHub repositories:

https://support.crowdin.com/github-integration/

Advantages:

  • automated source refresh in Crowdin
  • new files are automatically added to Crowdin
  • export back to GitHub is also automated (only 100% proofread files would be exported)

Prerequisites:

  • The admin of the Crowdin project @bdaehlie needs to add that integration at https://crowdin.com/project/lets-encrypt-website/apps
  • One file would be added to the repo: crowdin.yaml
  • Translations would be pushed to a new branch "l10n". From there we will need to merge them back to "main" with pull requests.

ludekjanda avatar Sep 08 '23 08:09 ludekjanda

Here is a nice video how to integrate using GitHub actions: https://www.youtube.com/watch?v=5b7BMuCoKGg I have done several integrations in the past, I could help with that.

ludekjanda avatar Sep 08 '23 12:09 ludekjanda

The problem was that a few files generated by Crowdin were invalid (partially because of macros, partially because they convert markdown to html then to sentences for translation, then reverse, which may generate a few odd artefacts/bugs). It may be fixed now, we need to check if we can import without manual intervention.

tdelmas avatar Sep 08 '23 20:09 tdelmas

@tdelmas we need to verify whether these bugs are solved now. I am not sure what is the difference between the automated sync and the manual download of translation. Does it mean that on manual download, some strings need some extra manual intervention? I am in close contact with the Crowdin team, such bugs can be fixed easily.

Please can you also clarify the whole process? Where can I find the latest sources? Here? https://github.com/letsencrypt/website/tree/main/content/en

Some files are missing in Crowdin now, for example this one: https://github.com/letsencrypt/website/blob/main/content/en/docs/too-many-registrations-for-this-ip.md

I think I need to refresh sources in Crowdin now. For the next steps, I could set up a paralel project for testing and link it to my forked repo. We could test whether the automatically downloaded files have any errors on pull request...

What do you think?

ludekjanda avatar Sep 08 '23 20:09 ludekjanda

@tdelmas sorry I am overcomplicating. We do not need setting up a parallel process just for testing it. As the automated translations are being output into a separate l10n branch, not into the main, we can safely set up the whole integration and test the result when comparing both sites from both branches. The only change in the main branch would be that extra file crowdin.yaml added there and 2 actions.

ludekjanda avatar Sep 09 '23 05:09 ludekjanda

I don't understand the Crowdin side of things well but I added the GitHub app to Crowdin. It is not set up, do you have privileges to do that @ludekjanda ?

bdaehlie avatar Sep 15 '23 03:09 bdaehlie

@bdaehlie thanks Josh, I can see it in Crowdin now. I just did a few click through it, it seems I should be able to set it up. Let's see. My priority is to do the first push manually to see all problems that may arise with formatting. I'll need @tdelmas help with verifying, probably.

ludekjanda avatar Sep 15 '23 06:09 ludekjanda

@ludekjanda do not hesitate to ping me when you need!

tdelmas avatar Sep 15 '23 07:09 tdelmas