comprehensive-rust icon indicating copy to clipboard operation
comprehensive-rust copied to clipboard

Translations

Open mgeisler opened this issue 2 years ago • 37 comments

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

  • #262
  • #283
  • #284
  • #285
  • #286
  • #317
  • #323
  • #324
  • #326
  • #399
  • #439
  • #445
  • #500
  • #537
  • #652
  • #653
  • #671
  • #684
  • #836
  • #1451
  • #1957

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.

mgeisler avatar Jan 26 '23 11:01 mgeisler

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

ghost avatar Feb 01 '23 14:02 ghost

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.

mgeisler avatar Feb 02 '23 10:02 mgeisler

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

baltuky avatar Feb 02 '23 10:02 baltuky

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

hilbert-yaa avatar Feb 02 '23 11:02 hilbert-yaa

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 avatar Feb 02 '23 14:02 mgeisler

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.

mgeisler avatar Feb 02 '23 14:02 mgeisler

I've done that on my side. Thanks!

hilbert-yaa avatar Feb 02 '23 15:02 hilbert-yaa

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.

mgeisler avatar Feb 02 '23 15:02 mgeisler

Hi @mgeisler, I could do a Polish translation.

pierd avatar Feb 10 '23 17:02 pierd

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!

mgeisler avatar Feb 13 '23 17:02 mgeisler

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

pierd avatar Feb 13 '23 18:02 pierd

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.

wfranck avatar Feb 24 '23 13:02 wfranck

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).

pierd avatar Feb 27 '23 07:02 pierd

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.

mgeisler avatar Feb 27 '23 10:02 mgeisler

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.

jiyongp avatar Feb 27 '23 11:02 jiyongp

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.

jooyunghan avatar Feb 27 '23 14:02 jooyunghan

#500

Bot-Kerem avatar Mar 13 '23 10:03 Bot-Kerem

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

CoinEZ-JPN avatar May 22 '23 02:05 CoinEZ-JPN

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!).

mgeisler avatar May 22 '23 11:05 mgeisler

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

mbpouri avatar May 24 '23 11:05 mbpouri

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

mgeisler avatar May 24 '23 16:05 mgeisler

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 avatar Jun 09 '23 13:06 mgeisler

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 avatar Aug 14 '23 07:08 mgeisler

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 avatar Aug 14 '23 18:08 mgeisler

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 avatar Aug 24 '23 09:08 mgeisler

@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 avatar Aug 25 '23 09:08 mgeisler

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 avatar Nov 09 '23 14:11 mgeisler

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?

mgeisler avatar Nov 19 '23 10:11 mgeisler

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.

henrif75 avatar Nov 20 '23 18:11 henrif75

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

AdrienBaudemont avatar Nov 20 '23 18:11 AdrienBaudemont