expressjs.com icon indicating copy to clipboard operation
expressjs.com copied to clipboard

Proposal to map out outdated translations

Open UlisesGascon opened this issue 1 year ago • 6 comments

In our recent TC meeting, we discussed the need for a more efficient method of detecting outdated translated versions of our documentation. Below is a proposal aimed at addressing this issue and enhancing the user experience for our contributors.

Assumptions

  • Typically, changes are made to the English version of the documentation first, without waiting for translations to be completed. (For example, see: PR #1474)
  • Our community is eager to assist with translations (Issue #1237), but it's challenging for them to initiate the process.
  • Identifying which parts of the documentation have changed and need updating in their respective translated versions is difficult, leading to outdated translations.

Workflow

I propose creating a GitHub Action similar to the one discussed in Issue #1479. This action would detect changes made in any version using regex for the paths. It would then add tags in the PR for other versions that need translation, such as needs fr translation and needs sp translation. This tagging system would enable us to easily identify closed PRs requiring translation. For instance, we could filter closed PRs for the French version using a tag-based search: French Version PRs.

If a change doesn't require translation, such as fixing a typo in the English text, we can simply remove the corresponding tags before merging the PR.

Next Steps

  • [ ] Develop a GitHub Action to support this workflow.
  • [ ] Update the CONTRIBUTING.md guide to incorporate this workflow.

UlisesGascon avatar Apr 02 '24 21:04 UlisesGascon

Great idea! Keep in mind that the API doc is not translated, so this only applies to the rest of the doc.

crandmck avatar Apr 08 '24 17:04 crandmck

@crandmck @UlisesGascon @bjohansebas @chrisdel101

Hello team,

I developed a script that creates a page with translation statuses.

But :´( the action doesn't work

Captura de Tela 2024-08-30 às 21 02 22

I think it could be a configuration for action

Captura de Tela 2024-08-30 às 21 02 04

I forced the manual creation of the page, to view

https://deploy-preview-1586--expressjscom-preview.netlify.app/en/resources/status-translate

Would anyone like to help me develop this idea? or solve the action problem?

carlosstenzel avatar Aug 31 '24 00:08 carlosstenzel

Maybe it could work to add these lines during the checkout in GitHub Actions, so it references the branch.

- uses: actions/checkout@v3
      with:
        fetch-depth: 0
        ref: ${{ github.event.pull_request.head.ref }}

edit: I saw that you tried that, I'll keep investigating. edit: I've tested it in my repo (see https://github.com/bjohansebas/expressjs.com/pull/5), and with the suggested change, it works fine. If it doesn't work with these changes in the official repo, it might be a permissions issue.

bjohansebas avatar Aug 31 '24 14:08 bjohansebas

@bjohansebas thanks for the feedback, it's probably permissions. @crandmck can you help us?

carlosstenzel avatar Sep 02 '24 00:09 carlosstenzel

It looks like @UlisesGascon did something very similar to this in https://github.com/expressjs/expressjs.com/pull/1514 ... Unless I'm misunderstanding.

For example, I notice that this PR I opened today automatically was tagged with numerous needs-translation-xx labels.

Can you guys clarify if there's a difference between this PR and what the above PR did?

crandmck avatar Sep 02 '24 19:09 crandmck

The permission to add labels or commits depends on who executes it. For you, write is allowed, for others it is only read.

Your Captura de Tela 2024-09-02 às 20 04 22

other people Captura de Tela 2024-09-01 às 21 53 48

carlosstenzel avatar Sep 02 '24 23:09 carlosstenzel