google / comprehensive-rust

This is the Rust course used by the Android team at Google. It provides you the material to quickly teach Rust.
https://google.github.io/comprehensive-rust/
Apache License 2.0
28.06k stars 1.68k forks source link

Translations #282

Open mgeisler opened 1 year ago

mgeisler commented 1 year ago

Thanks to our wonderful volunteers, we're able to translate the course. This bug simply tracks the various efforts:

Please create more issues if you want to help translate the course!

How to get started?

The Rust Book is already translated into a number of languages. Please try to use the same terminology for your translations.

A great way to get started is to submit an almost-empty PO file for your language. That will ensure that you have the tooling setup and it will make it easier for others to jump in and help.

After a translation is merged, you can see the translation status.

ghost commented 1 year ago

Is there a translation in French? If not i would like to do it.

mgeisler commented 1 year ago

Is there a translation in French? If not i would like to do it.

Hey @dblackstar, nobody has signed up for that yet! It would be awesome to have a French translation too. Let me quickly create an issue for that.

baltuky commented 1 year ago

Hey 👋 Let’s translate it in Russian. I can do that

hilbert-yaa commented 1 year ago

Working on the Chinese Mandarin translation of the book, thanks for your prior instructions! Can you help create an issue for that?

mgeisler commented 1 year ago

Working on the Chinese Mandarin translation of the book, thanks for your prior instructions! Can you help create an issue for that?

Thanks @Hilbert-Yaa for creating the issue, I've added it to the list above!

Hey :wave: Let’s translate it in Russian. I can do that

Awesome @baltuky, I've created #326 for that.

mgeisler commented 1 year ago

I've attached Cloud Translate versions of the messages.pot to the new issues. Please let me know if you need me to update anything else. You can also generate those yourself via #291.

hilbert-yaa commented 1 year ago

I've done that on my side. Thanks!

mgeisler commented 1 year ago

Hi all, if you haven't already, please take a look at the Rust Book translations: https://doc.rust-lang.org/book/appendix-06-translation.html. When possible, I suggest using the same terminology as they use.

pierd commented 1 year ago

Hi @mgeisler, I could do a Polish translation.

mgeisler commented 1 year ago

Hi @mgeisler, I could do a Polish translation.

Hi @pierd, thanks a lot, that would be super cool! If you create an issue for it, then I'll link it here!

pierd commented 1 year ago

Created the issue for Polish translation: https://github.com/google/comprehensive-rust/issues/399

wfranck commented 1 year ago

could I help with this issue in Spanish? I had not seen that the ticket for Spanish was open and I made progress with the translation.

pierd commented 1 year ago

Do we generally translate source code snippets? IMHO it definitely makes sense for the comments and maybe string literals but not really for variable/function/etc names.

I was checking other translations for some examples. Brazilian Portuguese version translates some string literals and some comments but not all (modules, some exercise) while Korean version leaves the string literals as is but translates all comments (modules, the same exercise).

mgeisler commented 1 year ago

Do we generally translate source code snippets? IMHO it definitely makes sense for the comments and maybe string literals but not really for variable/function/etc names.

I agree: I would definitely translate the comments and perhaps also strings.

Note that even if you want to reuse the English text for the translation, it pays off to copy it (most PO editors can do this easily). This is because it gives you one string less to care about when looking at the PO file.

@jiyongp, @jooyunghan, @rastringer, @hugojacob, did you discuss this too?

It would be great to update TRANSLATIONS.md with guidance about this.

jiyongp commented 1 year ago

No. I don't think we (Korean translators) have reached to a consensus on that. Even the Korean translation of the Rust book is inconsistent in its translations of comments.

I just wish we seldom use comments in code snippets.

jooyunghan commented 1 year ago

For production-ready translations, I'd translate comments and string literals as well (but not variables) in the code snippets. For this project, I put more focus on slide text and speaker notes than code snippets. In most cases, comments/literals were in simple/short English which I thought we could do it later when we have time.

Bot-Kerem commented 1 year ago

500

CoinEZ-JPN commented 1 year ago

would be more than happy to give Japanese a try if not already being handled

mgeisler commented 1 year ago

would be more than happy to give Japanese a try if not already being handled

Hi @CoinEZ-JPN, that would be amazing! Just follow the translation instructions and refer to #652 in your PRs.

You're encouraged to submit a PR with an almost-untranslated po/ja.po file. That way you can check that the tooling works for you. (This applies to all languages: please ensure there is a po/xx.po file for your language. That also makes it easier for others to help out!).

mbpouri commented 1 year ago

hey @mgeisler, could you please create an issue for Farsi/Persian as well? more than happy to contribute. cheers

mgeisler commented 1 year ago

Hey @mbpouri, there is now a #671 for you to work on! Thanks a lot for offering to help!

mgeisler commented 1 year ago

Hey all, I've written up a bit about how I suggest approaching reviews of the many translation PRs. Basically, help the contributors and err on the side of accepting contributions over trying to make everything perfect in the first go.

mgeisler commented 1 year ago

Hi there! Just a heads up: I hope to land https://github.com/google/mdbook-i18n-helpers/pull/46 in the next few days. After that, I will make a new release of mdbook-i18n-helpers and normalize all our PO files.

The PR is the final bit needed for us to update mdbook-i18n-helpers. The new version extracts text in a much more fine grained way. As you've all seen, we currently extract the text as-is, with indentation and newlines etc. The new version will extract text in a "logical" fashion: paragraphs are unwrapped, list items are extracted one-by-one, headers are extracted without leading "#". Even tables are extracted better: you now get a message per cell instead of a single message with the entire table.

I hope this will make your lives easier since you'll see much less Markdown syntax in your PO files!

mgeisler commented 1 year ago

Just a heads up: I hope to land google/mdbook-i18n-helpers#46 in the next few days.

The PR to mdbook-i18n-helpers is merged. I will make a release tomorrow and put up a PR which normalizes the PO files. I will also apply the same normalization to all in-flight PRs — this should allow them to merge cleanly onto the normalized PO files.

mgeisler commented 1 year ago

Hi all translators! The PRs are all merged, thanks @henrif75 for helping with that!

You are all invited to refresh the translations now. Afterwards, please go through the PO files and remove fuzzy markers.

mgeisler commented 1 year ago

@henrif75, could you put refresh PRs for the translations that haven't been touched in, say, 2-3 months? Just to clean them up and incorporate the new content for anyone who wants to contribute.

mgeisler commented 1 year ago

Hi all! I wanted to let you know about #1460. This is an update to mdbook-i18n-helpers which will remove ~6k lines from the PO files. It changes the way code blocks are processed: we now extract strings and comments directly.

If you have translated the comments of one or more code blocks, then please run mdbook-i18n-normalize on your PO file to preserve the translations. You can do this before/after refreshing the translation. See #1461 for an example PR which shows the state after normalization.

I hope this further reduces the churn in the translations and makes it easier to work with the large code samples in this course.

mgeisler commented 1 year ago

Hi again, I had another idea for how we can avoid churn in the PO files: https://github.com/google/mdbook-i18n-helpers/issues/127. Put simply, we could round or remove the line numbers. We could also remove the source location completley.

Do people here use the source location to look up the surrounding English text when translating?

henrif75 commented 1 year ago

Hi again, I had another idea for how we can avoid churn in the PO files: google/mdbook-i18n-helpers#127. Put simply, we could round or remove the line numbers. We could also remove the source location completley.

Do people here use the source location to look up the surrounding English text when translating?

I don't use the line numbers, but the source file yes.

AdrienBaudemont commented 1 year ago

How would that interact with poedit? I have been using this tool when working on translations.

mgeisler commented 11 months ago

I don't use the line numbers, but the source file yes.

Okay, so rounding line numbers to 10, 20, ... would not cause much problems for you.

How would that interact with poedit? I have been using this tool when working on translations.

I hope it will handle out of bounds line numbers gracefully, but I don't know :smile: So if the message claims to be from foo.md:120 but there are only 128 lines in foo.md, then Poedit ought to handle this in some reasonable way.

azevedoalice commented 10 months ago

I'd be happy to help with Brazilian Portuguese.

henrif75 commented 10 months ago

I'd be happy to help with Brazilian Portuguese.

That would be great, @azevedoalice ! You can follow instructions above and start reviewing the outstanding PRs for pt-BR. Welcome!

martcpp commented 9 months ago

is there a translation for Nigeria pidgin if not will love to do that

henrif75 commented 9 months ago

Hi @martcpp we don't and that would be awesome. In the first post of this issue, there are information on how to get started. It would very important too if you can find another pidgin speaker to help out with code reviews in the future too. Thank you!

is there a translation for Nigeria pidgin if not will love to do that

martcpp commented 9 months ago

@henrif75 i will start working on it soon i can also help with code review as i am a developer too

martcpp commented 9 months ago

@henrif75 i will start working on it soon i can also help with code review as i am a developer too

Hi @martcpp we don't and that would be awesome. In the first post of this issue, there are information on how to get started. It would very important too if you can find another pidgin speaker to help out with code reviews in the future too. Thank you!

is there a translation for Nigeria pidgin if not will love to do that