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
27.93k stars 1.67k forks source link

Request "Translator's Notes" box for translated verison of book #1450

Closed moaminsharifi closed 1 year ago

moaminsharifi commented 1 year ago

At some point as a translator, it can be incredibly challenging to create a meaningful translation while staying true to the original text. The task of translating goes beyond simple word-for-word substitutions; it requires capturing the essence and intention of the original message. This can be particularly difficult when there are cultural nuances, idiomatic expressions, or wordplays that do not directly translate into the target language.

2023-11-06 14_38_30-NVIDIA GeForce Overlay DT

Explaining more to the readers becomes necessary when the translation deviates from the original text in order to convey the intended message accurately. This can involve providing footnotes, glossaries, or even a brief commentary to help the readers navigate cultural differences or unfamiliar concepts. By doing so, the translator ensures that the translation remains faithful to the original text while still being understandable to the target audience.

Honestly, I'm not sure if this is an appropriate place for this problem to be discussed.

moaminsharifi commented 1 year ago

@mgeisler Do you have any idea about it?

djmitche commented 1 year ago

Who would be the audience for the translators' notes?

mgeisler commented 1 year ago

Hi @moaminsharifi!

At some point as a translator, it can be incredibly challenging to create a meaningful translation while staying true to the original text.

Yes, I've seen that myself when trying to translate in to Danish... I often don't know how to express the same as the English sentence :smile:

Honestly, I'm not sure if this is an appropriate place for this problem to be discussed.

Here (in an issue) or the GitHub discussions are both great places to discuss this.

Explaining more to the readers becomes necessary when the translation deviates from the original text in order to convey the intended message accurately. This can involve providing footnotes, glossaries,

Note that we now have https://google.github.io/comprehensive-rust/glossary.html, though it's very incomplete, even in the English version.

or even a brief commentary to help the readers navigate cultural differences or unfamiliar concepts.

My gut feeling is that it would be best to incorporate this directly into the body text: then it's right there where people need it as they read the course.

The translation system should give you pretty full flexibility to inject extra content or even extra paragraphs. You would need to artificially attach such content to one of the regular paragraphs on the slide, which I guess is awkward?

moaminsharifi commented 1 year ago

Hi @moaminsharifi!

My gut feeling is that it would be best to incorporate this directly into the body text: then it's right there where people need it as they read the course.

The translation system should give you pretty full flexibility to inject extra content or even extra paragraphs. You would need to artificially attach such content to one of the regular paragraphs on the slide, which I guess is awkward?

I wanted to thank you @mgeisler for the friendly conversation and helpful advice.

It's so hard for any reader to follow when extra notes are put between paragraphs for just mentioning one word. Currently, we have a speaker note that is directed at teachers.

According to what I know, the current system is not flexible about content, for example, I want to add an extra block between those texts. image

A nice to have, but worth mentioning at least. Like issue about LTR texts in RTL and finnaly with some simple css fixed.

moaminsharifi commented 1 year ago

Who would be the audience for the translators' notes?

In my context the person who read book in Persian (Farsi).

mgeisler commented 1 year ago

It's so hard for any reader to follow when extra notes are put between paragraphs for just mentioning one word.

Yeah, I think I agree that it will be confusing if there is a paragraph of text in the middle of the slide to explain the meaning of a translated word.

Would it be helpful to explain the translation in the glossary? That's kind of why it's there. We should mention the glossary prominently in the beginning of the course and let people refer to it throughout the course.

Currently, we have a speaker note that is directed at teachers.

Over the last year, my thinking about these notes have shifted towards them being notes with generally useful background material. So less for teachers and more for everybody who reads the course on their own. I've considered simply renaming them to "Notes" to reflect this.

So from that perspective, it would be natural to have the notes contain information about the translations as well, where necessary.

According to what I know, the current system is not flexible about content, for example, I want to add an extra block between those texts.

I believe you're correct :slightly_smiling_face: The translation works by manipulating the Markdown AST (similar to the HTML DOM) and so you would be in the middle of a list in your example.

The text you write in your translation is turned into an AST fragment and forcibly put into the place of the original English text. You won't be able to write Markdown which emits a "close the current list item" event for the AST. So the results will be strange if you attempt to start a new paragraph here. Even injecting an extra list item is probably not going to work, but it all depends on how the library we use will interpret the mal-formed Markdown AST.

Essentially, the translation system has a strong assumption that the English text is the base and that translations work by replacing this text with equivalent text. So you'll have a hard time injecting useful notes even if we have a "Translation Notes" box at the bottom each page: each box would need its own English place holder text! Otherwise you cannot add different translator notes to different pages (the English texts are de-duplicated automatically).

Given all that, I think it'll be hard to implement this in our current infrastructure...

djmitche commented 1 year ago

We could potentially do something in the HTML rendering to surface these notes in out-of-line fashion, such as bubbles to the side of the text.

moaminsharifi commented 1 year ago

Would it be helpful to explain the translation in the glossary? That's kind of why it's there. We should mention the glossary prominently in the beginning of the course and let people refer to it throughout the course.

One question about it,@mgeisler can We add some glossary for each language? something like extra-glossary for each language.

We could potentially do something in the HTML rendering to surface these notes in out-of-line fashion, such as bubbles to the side of the text. With those explanation

It is useful to have Tooltips because you can use them wherever needed without changing the base system. Also they are inline with html tags.

image

https://www.w3schools.com/howto/howto_css_tooltip.asp

mgeisler commented 1 year ago

Would it be helpful to explain the translation in the glossary? That's kind of why it's there. We should mention the glossary prominently in the beginning of the course and let people refer to it throughout the course.

One question about it,@mgeisler can We add some glossary for each language? something like extra-glossary for each language.

My thinking was that there would be one common glossary with words and phrases like "function", "method", type parameter", etc... For English, we would explain what the words mean, and for other languages, the glossary would both explain what they mean and also mention the original English word.

I don't think any language has done this yet since most haven't been refreshed after the glossary was added (and the glossary is very incomplete).

mgeisler commented 1 year ago

I'll close this issue: we don't have an easy way of adding extra information to the translations and I don't think we will get one soon.