I’d suggest we keep a list of point-people for each translation, who we can expect to make quick edits.
Simple changes that don’t require translation can be done for all languages by the original PR author. For the rest I think we can do it on a best-effort basis, and translations may lag.
For example, I expect the contribution pages are the hardest to translate now, so translations may initially just say something like “This page has not been translated. Please see the english language version.”.
As content lands that needs translation I’d suggest we ping the translation team with a window of a few days to submit a counter-PR with translations. Those that don’t make it in time can submit translations later, and if not it’ll just have to bitrot.
The big exceptions to the best-effort policy I think are the front page and the downloads page. I’ll be responsible for updating all the downloads pages each release, and making sure any changes to the front page get translated.
Since the home page and download pages have such custom layout I wonder if they should be turned into layouts themselves and all the text inserted as keys, so we don’t have to keep a bunch of markup in sync.
Seems reasonable to me, I just wanted to point out that if we are working with “keys” we might end up with translations containing both paragraphs in the original language and in English on the same page (or worse empty strings if the implementation does not fallback to English). Which is less than desirable
It will be important to wait for all translations of a certain key before deploying to avoid that kind of problems.
I am really interested in Rust and I can contribute with the translations for Brazilian Portuguese.
I already worked in several efforts like this (InfoQ, Why’s poignant guide to Ruby, etc…).
I’d like to participate to the French translation. But there is a common problem with translations of documentations : keep them updated. I usually read English documentation even if a French one is available, since translated docs are usually outdated.
IMO to make the system viable :
- When a change occurs on the original page, the translators should be warned.
- The visitor of a outdated page should be warned too and provided a link to the original page
- There should be a way to easily find all the changes that occurred to the original page since it was translated.
For translating content of web sites, Pontoon is the popular choice for Mozilla web properties these days. You can learn more about how it works at MDN.
Please count me in if u want any helps in translating into Chinese.
I’d like to be part of the Brazilian Portuguese (native) and Spanish translation too.
I think, as @steveklabnik said, we should start with the simplest one that is the Rust language site.
As that uses jekyll, there is few simple ways to do that (I’m not aware the way ruby lang is doing it). I’m, right now, doing it in my own blog which I plan to write in portuguese, spanish and english.
I’m following the simple approach from this post, and was also discussed in Jekyll forums.
I think the website will be easier to translate and keep it updated because it is just few pages.
For the book translations I agree that will have same delays between the original update and the translations but that is acceptable, and happens in other languages too.
About translating the API Docs and the compiler, I see it as maximum one “nice to have”, because even other already popular languages like Ruby and Python they don’t have API Docs translated, because generally programmers have at least a basic level of english to read the api docs.
I’m super late to the party, but I’m very interested in doing translation to Indonesia. How can I start to help? We are starting with the website right?
@lunchboxav The website translation PR is stalled, but there aren’t any blockers I think. Somebody just needs to push it forward. If you wanted to rebase that patch it would be a good starting point.
Yup, as the author of it, it’s just that I have not had the time.
I would recommend re-doing the work rather than literally rebasing; we’ve since added pages to the website, even…
Thanks for replying @brson and @steveklabnik
OK, just to clarify (I’m afraid to break things), what I need to do is clone the existing rust-www repo, make a new branch, do the translation and then submit a PR?
Don’t worry, you can’t break anything
You have the process exactly right.
Alright, cool. Will do it then
Any convention for the branch name then?
We don’t have any official conventions.
It’s been a while, but we just merged initial work on the infrastructure needed to translate the website: https://github.com/rust-lang/rust-www/pull/296#issuecomment-231400676
See it live at https://www.rust-lang.org/ which should redirect you to https://www.rust-lang.org/en-US/ !
I’d like to localize docs in French. I am contributing to MDN for JS and other docs.
In order for “API-like” pages not to stale too much, we use doc status pages for l10n and for English. I don’t know if this could work here but it’s a really helpful tool for maintenance (as pointed by @Uther).
(agreed with what has been said for both site and book, no idea for compiler though :/)
Looking forward contributing to this
@SphinxKnight something like that looks like it would be a great resources for Rust translators. It does a common theme in this thread that everybody is afraid of translations going out of date. Do you know how to set up such a system for the website? @jdm mentioned previously a tool that can help.
Even without the change tracking, the website is ready to accept translations now AFAIK. Though I don’t personally know the process involved, I suspect it is not too difficult to work out.
cc @goyox86 @csgui @Uther @maojingkai @douglascorrea anybody interested in either getting started with translations or setting up Pontoon to work with the website?
I’m interested in translating to spanish. I can try to setup Pontoon to work with the website but I have no idea of where to start
Hi @goyox86! Here are instructions for setting up a project to work with Pontoon. I haven’t looked at them in detail but it doesn’t look all that complex. The #l10n IRC channel is a good resource for getting help. Also #pontoon.