nodejs.org icon indicating copy to clipboard operation
nodejs.org copied to clipboard

Translation of Content (and the Infra migration) and Nodejs.dev

Open ovflowd opened this issue 2 years ago • 25 comments

As we're going towards the path of over the time switch the layout and content from nodejs/nodejs.dev (Node.js Website Redesign) over here, I find myself questioning, what about existing pages on the nodejs/nodejs.dev and that also exist here. For example, the get-involved, about, and other pages.

Obviously, we have more existing translations here, but after doing some inspection, many of the translations need to be updated or doing funky things inside. (For example, the PT-BR translations have both English and Portuguese versions inside the Markdown files, but the English ones are commented).

Would this be an opportunity to "reset" the translations? Start over? Or should we keep the existing pages from nodejs.org instead of replacing conflicts with the ones from nodejs.dev? (Further explaining, if a page exists on both repositories, we choose to use the one from nodejs.org, and all remaining pages that do not exist on nodejs.org will be copied from nodejs.dev, such as the learn pages).

There are a few paths here:

  1. For all pages on nodejs/nodejs.org and nodejs/nodejs.dev we choose the ones from nodejs.dev, effectively resetting the translations.
    1. Route 1: And all remaining content stays translated as it is.
    2. Route 2: Or, all the remaining translated content already gets their translations removed, so we start over from translations.
  2. For all pages on nodejs/nodejs.org and nodejs/nodejs.dev we choose the ones from nodejs.org, only adding to nodejs/nodejs.org the content that only exists on nodejs.dev but not on nodejs.org.
    1. Route 1: And we keep the translations as they are
    2. Route 2: Or we nuke the remaining translated content and start the translations from scratch.
  3. Either Option 1 or Option 2 with the difference that instead of nuking translated content, we manually investigate all outdated translations or with funky content within their Markdowns (Either manually via GitHub's UI or maybe if Crowdin supports a diff tool, via Crowdin).

Regardless of the options, translations should be done via Crowdin, as it has an idiomatic IDE (online) for translations and a better translation review system that could prevent such funky divergences from happening.

Off-topic question: I also wonder if Crowdin supports versioning, meaning if a source translation file gets updated, it automatically requests the other translations to be updated/re-reviewed.

--

cc @trott @nodejs/website @nodejs/i18n @nodejs/nodejs-dev

ovflowd avatar Jan 08 '23 16:01 ovflowd

For me it is necessary to take all the content of nodejs.dev and put it on nodejs.org without looking at what has been done on nodejs.org in the past. But take the translation already done on nodejs.dev (fr, ja , he ...). I know it's barbaric and sad.

But it is necessary. Because it allows you to start again on a good basis. Another point is that the file structure will change. This allows to have the same contents (in different languages) in the same directory. This allows to maintain the contents more easily. It avoids having files that are out of date.

I can understand that my point of view is difficult to hear because it is radical. I understand that we are against this point I myself have worked on the translation of nodejs.org in French. But we have to move forward so the deletion of this amount of files is necessary in my opinion.

AugustinMauroy avatar Jan 08 '23 17:01 AugustinMauroy

I'm in favor of whatever is easiest/quickest to do right now in terms of getting the merge/migration/whatever of nodejs.dev and nodejs.org completed unless doing so makes it harder to do translations in the future. Basically, whatever is the least work for @ovflowd and anyone that might have to do work on the Build WG side.

Trott avatar Jan 18 '23 22:01 Trott

Thanks to all working through these thorny issues.

I have some questions:

  • @AugustinMauroy mentions "the file structure will change". I am under the impression that the goal is to not break any old links. Is the file structure changing? Does that mean links will break?
  • In terms of the translations, do we know about how many pages we are talking about? That would be helpful in determining the path forward.

I think something of a reset isn't a terrible option. Sometimes you have to break all the eggs to make an omelette? If there is an announcement on the change over, we could use it as an opportunity to reinvigorate translation efforts.

joesepi avatar Jan 19 '23 15:01 joesepi

@AugustinMauroy mentions "the file structure will change". I am under the impression that the goal is to not break any old links. Is the file structure changing? Does that mean links will break?

All links will work as the same. The source file structure changed, basically instead of all pages residing within /locale/ they will inside /pages/, but no worries, all links should be respected and be the same (I'm being extremely careful with that)

In terms of the translations, do we know about how many pages we are talking about? That would be helpful in determining the path forward.

How many pages are currently translated?

If there is an announcement on the change over, we could use it as an opportunity to reinvigorate translation efforts.

Agreed :) and now I want an omelette haha

ovflowd avatar Jan 19 '23 17:01 ovflowd

How many pages are currently translated?

you can have a % with crowdin

AugustinMauroy avatar Jan 19 '23 18:01 AugustinMauroy

How many pages are currently translated?

you can have a % with crowdin

Crowdin isn't used for the current website translation efforts, so any percentage from their dashboard is likely incorrect. EX: it could say 0%, but the bulk of the content was translated through PRs, but not marked as translated on their system

nschonni avatar Jan 19 '23 18:01 nschonni

@nschonni the % should reflect on what files are mapped inside the %two letter code% folders and maybe with the revision of translation? But I'm not sure.

ovflowd avatar Jan 19 '23 19:01 ovflowd

Yeah, I haven't looked at it in awhile, but looking now, it seems like the accepted vs translated are 2 separate numbers now image

nschonni avatar Jan 19 '23 19:01 nschonni

Yeah, I haven't looked at it in awhile, but looking now, it seems like the accepted vs translated are 2 separate numbers now

Hmmm, interesting. Also to mention, on the current initial infra PR, I'm deleting all untranslated files residing inside the translated folders, because... Well, what's the point? More stuff to build.

ovflowd avatar Jan 19 '23 19:01 ovflowd

That's probably OK for your dev cycles, but those files were approved/edited by the language groups through direct PRs to the repo, and likely shouldn't be thrown away. I think the current folder approach here and also shown in https://github.com/nodejs/nodejs.dev/pull/3150 is better than the suffix approach

nschonni avatar Jan 19 '23 19:01 nschonni

That's probably OK for your dev cycles, but those files were approved/edited by the language groups through direct PRs to the repo, and likely shouldn't be thrown away.

As I mentioned, the files I deleted are the same as the English ones (untranslated). There's no point of having untranslated files inside translated directories 🤔

I think the current folder approach here and also shown in https://github.com/nodejs/nodejs.dev/pull/3150 is better than the suffix approach

We're making the suffix approach right now because the initial PR/migration will be full SCG and we want to reduce the amount of file structure changes.

In the future, all these files are actually going to be thrown away (if we decide to use the files on nodejs.dev) which is what we're deciding in this issue.

ovflowd avatar Jan 19 '23 19:01 ovflowd

Ah, if you're just wiping out the English files copies, that's great! There was an issue around cleaning those up awhile ago, but I don't think it got finish. FYI, I think they originally got imported/created by Crowdin when we first set it up 😆 , so something to watch out for

nschonni avatar Jan 19 '23 19:01 nschonni

Oh I see, that's enlightening!

ovflowd avatar Jan 19 '23 19:01 ovflowd

I think https://github.com/nodejs/nodejs.org/pull/3056 was that initial push after the setup

nschonni avatar Jan 19 '23 19:01 nschonni

Would this be an opportunity to "reset" the translations? Start over? Or should we keep the existing pages from nodejs.org instead of replacing conflicts with the ones from nodejs.dev? (Further explaining, if a page exists on both repositories, we choose to use the one from nodejs.org, and all remaining pages that do not exist on nodejs.org will be copied from nodejs.dev, such as the learn pages).

Just depends.

For translation files, there're much more on node.org instead of node.dev in many languages, and I'm not very sure about the differences between the "node.dev" and "node.org".

IMO:maybe we can:

  1. "node.org" is mainly focusing on introductions of node itself, with non-technical or lower-tech articles (maybe including certifications/governance/general (junior guides of node)....ect.
  2. "node.dev" is deeply (purely) on development skills of node, so maybe knowledge articles of node can be removed from "node.org" to "node.dev" keeping the same translations (until now "knowledge" isn't shown in "node.org"), and what's more, for API research, maybe we can offer a direct link to direct to "node.dev"(because later we need new translations for APIs in "node.dev").

All in all:

a. Try best to keep and file the files to "node.org" or "node.dev" properly. Maybe this is a quick way to go with instead of totally resetting translations.

b. Remove all the untranslated files under each other language folder, add some new files where they didn't exist before in both sites.

SEWeiTung avatar Feb 13 '23 10:02 SEWeiTung

For translation files, there're much more on node.org instead of node.dev in many languages, and I'm not very sure about the differences between the "node.dev" and "node.org".

Many of the translations on nodejs.org are outdated, and some of the Markdown files even have obsolete content and mutated structure... Also most of the translations one translated the basics, which is fine, but just wanted to make it clear so we don't have the wrong impression that the translated versions have the full website translated.

IMO:maybe we can:

No, no, no. Let's please not fragment the websites. You completely missed the point here. Nodejs.dev is not a different website, it has the same core-content of Nodejs.org. Nodejs.dev was supposed to be a redesign and re-evaluation of the content to be offered on nodejs.org. (Aka the "Website Redesign" initiative).

a. Try best to keep and file the files to "node.org" or "node.dev" properly. Maybe this is a quick way to go with instead of totally resetting translations.

No, we don't have the capacity to maintain two different websites with different purposes.

b. Remove all the untranslated files under each other language folder, add some new files where they didn't exist before in both sites.

This is already done on #4991

"node.dev" is deeply (purely) on development skills of node, so maybe knowledge articles of node can be removed from "node.org" to "node.dev" keeping the same translations (until now "knowledge" isn't shown in "node.org"), and what's more, for API research, maybe we can offer a direct link to direct to "node.dev"(because later we need new translations for APIs in "node.dev").

I'm not sure where this idea is coming from, but we also don't have the capacity on curating Node.js learning content, there's already a lot out there. Let's not over-reach 😅

ovflowd avatar Feb 13 '23 12:02 ovflowd

Sorry, @MaledongGit but I disagree with all of your points. They are nice, but are way too naive for the reality we face right now, and I honestly believe we should laser-focus on the content we display. Instead of hosting a plethora of content, let's focus on keeping the core content updated, meaningful, and useful for the user.

ovflowd avatar Feb 13 '23 12:02 ovflowd

@ovflowd:Sorry, It seems according to your suggestions, "node.dev" will take place of "node.org"?

SEWeiTung avatar Feb 14 '23 01:02 SEWeiTung

Given that some of the arguments for SSR in https://github.com/nodejs/admin/issues/766 are based on the internationalization of the API docs, are there plans to actually translate their contents (which change very frequently)? Otherwise, it seems that the explosion in the number of documents boils down to not internationalizing the actual contents, but merely some common phrases and the surrounding navigation.

tniessen avatar Feb 14 '23 01:02 tniessen

@tniessen the API docs have been translated to a certain degree for some time over in https://github.com/nodejs/i18n, but never shipped as part of the website

nschonni avatar Feb 14 '23 02:02 nschonni

@tniessen @nschonni Hey 👋 For your information a discussion on next-10 is open about the translation of the docs. HERE In the content migration we will not translate the docs (unless I missed something).

AugustinMauroy avatar Feb 14 '23 08:02 AugustinMauroy

@ovflowd:Sorry, It seems according to your suggestions, "node.dev" will take place of "node.org"?

For many years, the idea has been to redesign nodejs.org, and nodejs.dev was the playground/website redesign repository.

So yes, the ultimate goal is to have both the content, layout, and feature set from nodejs.dev on nodejs.org, but no, we're not migrating the entire codebase of the nodejs.dev repository to the nodejs.org one, as they're entirely different frameworks.

We choose to steadily update the nodejs.org repository with the layout and content of nodejs.dev. There are a few issues open both on nodejs.org and nodejs.dev repositories to keep track of this...

PPS: Yes, we'll reuse the styles, React Components, and much as possible from the nodejs.dev codebase. But many things will also be done from scratch, as Gatsby and Next.js are fundamentally different 🤔

ovflowd avatar Feb 14 '23 09:02 ovflowd

Given that some of the arguments for SSR in https://github.com/nodejs/admin/issues/766 are based on the internationalization of the API docs, are there plans to actually translate their contents (which change very frequently)? Otherwise, it seems that the explosion in the number of documents boils down to not internationalizing the actual contents, but merely some common phrases and the surrounding navigation.

The explosion doesn't boil down on the internationalization of the content of the page, as even if the content itself is not translated, for a full static generation for all available languages, a copy of the non-translated pages needs to be done on the "localized language", this is done currently here. Of course, the idea is that docs are able to be translated in the future, according to the Docs Metadata Proposal

ovflowd avatar Feb 14 '23 09:02 ovflowd

@tniessen the API docs have been translated to a certain degree for some time over in nodejs/i18n, but never shipped as part of the website

As available on here but the reality is, basically no content was translated and it is kinda impossible to keep track of what was actually translated or not in a few of these directories (Each vX.XX is using a different folder structure which is kinda bad).

ovflowd avatar Feb 14 '23 09:02 ovflowd

@tniessen @nschonni Hey 👋 For your information a discussion on next-10 is open about the translation of the docs. https://github.com/nodejs/next-10/issues/153 In the content migration we will not translate the docs (unless I missed something).

To fix the link that you're mentioning, the Next-10 initiative for Docs translation is part of this

(But yes, Augustin is right, translation of API docs is not part of the initial scope of the Website Migration, actually not part of the scope per se, but will be achieved through that Next-10 proposal)

ovflowd avatar Feb 14 '23 09:02 ovflowd

Locking as pretty much the plan is defined.

ovflowd avatar Mar 15 '23 13:03 ovflowd

Unpinning and closing this issue as the plan is solid and outlined/defined.

ovflowd avatar Apr 09 '23 17:04 ovflowd