Skip to content

heads up: Potential Shift to Machine Translations on the Horizon #1676

Closed
1 of 1 issue completed
Closed
@UlisesGascon

Description

@UlisesGascon
Member

In the last TC meeting, we discussed the future of translations. Here are some notes:

Current Situation

  • Translations are quite outdated across all languages.
  • Currently, we rely on the community for translation efforts.
  • There are instances where users encounter outdated information on the website, which can lead to frustration.
  • We are planning to migrate the website, and updating/moving translations will add a significant workload when we release the content.

Proposed Solution

The idea is to explore using automated translations by default (machine translations). This would require some effort to build the CI system and ensure that the English version of the documentation is optimized for machine translation (plain English, simplified structure, etc.).

This approach could greatly simplify the migration, as it allows us to focus on i18n support rather than handling both translation and content migration.

Of course, we would still enable the community to tweak and improve translations as needed. This way, we can continue providing high-quality documentation for everyone.

Let’s Discuss

What do you think? (@crandmck, @expressjs/docs-wg, and @expressjs/express-tc)

Additionally, I wonder if we should consider freezing translation efforts for now (such as issues like #1480, #1553) and redirecting that team’s efforts toward planning the future website so we can kick that off in 2025.

Sub-issues

Sub-issues

1 of 1 Issues completed

Activity

chrisdel101

chrisdel101 commented on Oct 30, 2024

@chrisdel101
Contributor

Assuming the translations themselves are adequate this seems like a good idea since many translations are missing items, and as you said, some might have incorrect info. I'd be nice to have continuity across the translations, with all of them having the same links and pages in their languages.

At least the look of the home pages are consistent due to #1568.

Was there any idea of what changes would be needed to make this work? I wonder if this work can be bundled with any site restructuring that @bjohansebas has mentioned wanting to do in passing. (Thinking he meant like more flexbox and page containers if I understood?)

What format would the translations provide? Could it be like Json? If it's running in the CI and would run every build, and gave json (or some other data) it would be amazing if it was possible to have only a single site markup! Instead of a separate one for each language. And inject the json into the page markup at build time!
Just my two cents...

bjohansebas

bjohansebas commented on Oct 30, 2024

@bjohansebas
Member

I'll leave my thoughts and questions here later, but I think #1553 could move forward since the PR is ready and we just need to add the PAT, while #1480 needs a bit more research, so it would be better to freeze it for now, if that sounds good to you.

pinned this issue on Oct 30, 2024
crandmck

crandmck commented on Oct 31, 2024

@crandmck
Member

I think it's a good idea in general. The existing localizations are so inconsistent in both extent and quality that starting over (as it were) makes more sense, especially with the quality of machine translation today.

I wonder if we should consider freezing translation efforts for now

Yes, we shouldn't spend any more time/effort on stuff that will just get thrown away.

We should also provide some notice or guidance to the community of our intent and that we're freezing localization efforts as we work in this direction (e.g. we don't want any translation contributions, etc.).

UlisesGascon

UlisesGascon commented on Nov 1, 2024

@UlisesGascon
MemberAuthor

We should also provide some notice or guidance to the community of our intent and that we're freezing localization efforts as we work in this direction (e.g. we don't want any translation contributions, etc.).

We should include a message in the README.md and rewrite the https://github.com/expressjs/expressjs.com/blob/gh-pages/CONTRIBUTING.md#contributing-translations ?

bjohansebas

bjohansebas commented on Nov 1, 2024

@bjohansebas
Member

I think this will be a great addition. As mentioned, there is quite a bit of inconsistency in the page translations, so automating this will be fantastic. There are some AIs that do this well, like Cohere or ChatGPT. This will also help in the future when migrating the site to newer technologies that offer a better developer experience

Was there any idea of what changes would be needed to make this work? I wonder if this work can be bundled with any site restructuring that @bjohansebas has mentioned wanting to do in passing. (Thinking he meant like more flexbox and page containers if I understood?)

The design and code of the site won’t be affected here, the focus will be solely on translations. So, that work is a separate matter, but they go hand-in-hand to improve the documentation.

We should include a message in the README.md and rewrite the https://github.com/expressjs/expressjs.com/blob/gh-pages/CONTRIBUTING.md#contributing-translations ?

Yes, we should update the contributions. Should this be integrated into #1671, or would it be better in a separate PR?

chrisdel101

chrisdel101 commented on Nov 2, 2024

@chrisdel101
Contributor

I can add something to #1671? I'm thinking I will leave the documentation for how to contribute translations as it is, but add a header that says that we are moving in this direction, and we are pausing translation work temporarily, or something.
If/when we finalize the machine solution, we can then remove the sections completely.

(I'm going to go ahead and add this. It can always removed or changed before merge.)

Or I can remove the translations sections entirely now? But it seems better to wait on removal and just apply the brakes for now.

carlosstenzel

carlosstenzel commented on Nov 2, 2024

@carlosstenzel
Contributor

I can add something to #1671? I'm thinking I will leave the documentation for how to contribute translations as it is, but add a header that says that we are moving in this direction, and we are pausing translation work temporarily, or something. If/when we finalize the machine solution, we can then remove the sections completely.

(I'm going to go ahead and add this. It can always removed or changed before merge.)

Or I can remove the translations sections entirely now? But it seems better to wait on removal and just apply the brakes for now.

I like the idea of ​​having this information on the pages. Good idea

bjohansebas

bjohansebas commented on Nov 12, 2024

@bjohansebas
Member

I understand that translation efforts are currently paused, but are grammar corrections still being accepted?

bjohansebas

bjohansebas commented on Nov 30, 2024

@bjohansebas
Member

It might be a good idea to use Crowdin, as it is used by Node.js and Electron on their website, and it's really good. Since Express is an open-source project, it's free (if we request the license).

carlosstenzel

carlosstenzel commented on Dec 3, 2024

@carlosstenzel
Contributor

It might be a good idea to use Crowdin, as it is used by Node.js and Electron on their website, and it's really good. Since Express is an open-source project, it's free (if we request the license).

I like the idea

16 remaining items

bjohansebas

bjohansebas commented on May 29, 2025

@bjohansebas
Member

At @ctcpip 's request, I'm adding this to the agenda for the TC to approve using Crowdsourcing, which allows the project to be public and lets people correct translations. Since this Crowdin extension introduces a new process/workflow, we prefer to have explicit approval.

btw, note that the integration is working well, and translations are already being pulled from Crowdin. However, we need people from the community to fix those translations or finish the ones that Crowdin itself can't complete.

And at my own request, i’d like the @expressjs/docs-captains team to have more freedom in making decisions about this, so we’re not dependent on someone from the TC and can carry out the process asynchronously. Therefore, i'm requesting admin access to the project on Crowdin.

jonchurch

jonchurch commented on Jun 4, 2025

@jonchurch
Member

cc @crandmck I am fine unblocking @bjohansebas by making him and Admin on the Crowdin site

ctcpip

ctcpip commented on Jun 4, 2025

@ctcpip
Member

TC agreed today to defer to the docs captains on CrowdIn stuff. So it will be up to you all to make decisions on Crowdsourcing, workflow changes, etc.

ShubhamOulkar

ShubhamOulkar commented on Jun 5, 2025

@ShubhamOulkar
Member

I am fine unblocking @bjohansebas by making him and Admin on the Crowdin site

💯% agree. I think now he is able to install app referenced in #1934 (comment). 🎆🚀

bjohansebas

bjohansebas commented on Jun 7, 2025

@bjohansebas
Member

The project on Crowdin is now public and accessible at https://express.crowdin.com/website. I’ve created the #express-website-i18n channel in the OpenJS Slack for any questions about the translations or if you’d like to get permissions to help translate into a language you know.

unpinned this issue on Jun 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Development

No branches or pull requests

    Participants

    @crandmck@carlosstenzel@UlisesGascon@jonchurch@chrisdel101

    Issue actions

      heads up: Potential Shift to Machine Translations on the Horizon · Issue #1676 · expressjs/expressjs.com