rust-lang / book

The Rust Programming Language
https://doc.rust-lang.org/book/
Other
15.17k stars 3.42k forks source link

Hebrew translation #1032

Open idanmel opened 6 years ago

idanmel commented 6 years ago

Started a Hebrew translation at https://github.com/idanmel/rust-book-heb

carols10cents commented 6 years ago

Thanks! I've added a link to the translations appendix! https://github.com/rust-lang/book/blob/master/second-edition/src/appendix-06-translation.md

reuvenpo commented 6 years ago

Hey, I'd just like to drop my two cents(shekels?) on this topic, if this project ever gets off the ground or is retried by someone in the future:

Hebrew has a problem where all three of "attribute, property, trait" and a few other less used terms usually map to "תכונה", which, especially when used inconsistently, causes a lot of confusion and ambiguity.

I propose the use of these translations in the domain of Rust lingo in hebrew:

trait - תכונה (In my opinion this term better describes traits, than the traditional interpretation of property/attribute/field)

struct - מבנה (to avoid confusion with classes, מחלקות)

enum - מבחר (literally "selection" or "several options". there is no native term for "enumeration" to my knowledge)

enum variant - בחירה (together these two sound even better in Hebrew than they do in English IMO)

impl - מימוש

struct property - שדה (literally field, but avoids ambiguity and is appropriate)

error - שגיאה (because טעות, which is currently used in the linked repo, is more akin to "mistake")

type - טיפוס panic! - פאניקה abort - נטישה match - התאמה unsafe - לא בטוח ownership - בעלות pointer - מצביע reference - השאלה mut. ref. - השאלה ברת שינוי / השאלה ייחודית immut. ref. - השאלה מנועת שינוי / השאלה משותפת lifetime - פז"ם (seriously!) Result<T, E> - תוצאה function - פונקציה method- מתודה array - מערך tuple - רצף

I think specific traits, types, and variable names should be spelled out in english.

Some of the terms i didn't mention are just better said in Hebrish IMO, and some i just didn't think about.

There's probably a lot of other terms worth representing with native Hebrew words, but generally that'll require more attention and interest from Hebrew speakers :)

Tadaboody commented 4 years ago

Looks like the page is down, @idanmel did you move it?

idanmel commented 4 years ago

Yeah, Not sure. Maybe I did it while spring cleaning by repos. In any case, I didn't update this in about 3 years.

GilRtr commented 3 years ago

@reuvenpo What would you call a crate in Hebrew? I was thinking maybe חבילה.

reuvenpo commented 3 years ago

Oh man, is this an old one! :smiley: Yeah, the two alternatives would be ארגז and תיבה, both of which are better reserved for other uses. חבילה is the standard term for "package", both in and outside of programming, so it will do.

On a semantically related note, Box<T> should be קופסא, but if given the option I would totally vote for translating Box<Moses> as "משה בתיבה" :joy:

EDIT: To clarify, i'd use ארגז כלים for "toolkit" or "SDK". And תיבה can be used for stuff like "stash", "cache", etc, if you didn't want to transliterate them as קאש. (The literal translation for stash/cache, מקום מסתור, sounds out of place to me for this use, and the semantically related איחסון should be used for "storage")

GilRtr commented 3 years ago

What can I call a language construct? I think מבנה should be reserved for struct. @reuvenpo would תבנית make sense? If so, what does that leave for patterns... דפוס? Also what about tests? בדיקות could work, altho it might be confused with CR. What should I call concurrency?

DK26 commented 3 years ago

What is the correct repository? Is there any? @idanmel

GilRtr commented 3 years ago

I have started a new one, once I finish the file I am currently working on I will create a remote repo on my github account

DK26 commented 3 years ago

@reuvenpo What would you call a crate in Hebrew? I was thinking maybe חבילה.

ארגז is the correct translation for crate חבילה is package

and both can be used as direct translation as it seems to make sense as a crate can be more than a package.

תלות בארגז להוריד ארגז לעלות ארגז להתקין ארגז להוריד ארגזים

להגדיר שם חבילה עבור הארגז

It seems to reflect the original author's meaning

DK26 commented 3 years ago

What can I call a language construct? I think מבנה should be reserved for struct. @reuvenpo would תבנית make sense? If so, what does that leave for patterns... דפוס? Also what about tests? בדיקות could work, altho it might be confused with CR. What should I call concurrency?

construct could possibly be מרכיב as language construct could be מרכיב שפה or מרכיב בשפה (context depended) or מבנה שפה with context מבנה השפה, מבנה בשפה as a whole translation for language construct instead of the word construct by itself.

Edit: As for concurrency, I assume you ask because of the difference between concurrency and parallelism not having unique translations. It seems the correct answer is מקביליות where parallelism maybe ריבוי as ריצה בריבוי תהליכים or ריצה בריבוי נימים or ריצה בריבוי מעבדים

reuvenpo commented 3 years ago

I suggest we kind of use a הלחם בסיסים sort of thing for concurrency: בוזמניות. Or just בו-זמניות if you don't mind writing the dash every time.

reuvenpo commented 3 years ago

As for the word מרכיב, that should be "component" imo. But i guess it could be used for both. Don't shy away from neologisms, or creative metaphores. e.g. use terms from hebrew grammar even, such as בניינים ומשקלים. Maybe "language construct" should be משקל?

reuvenpo commented 3 years ago

"code review" can be סקירת קוד or סיקור קוד. Tests should be בדיקות. That's the common lingo everywhere i worked.

reuvenpo commented 3 years ago

Thinking about this i had this idea: "indentation" is usually translated as הזחה, but i always found it to be an ugly word, and never heard it elsewhere. Would people understand it better if it was called קומה as in a floor in a building? Adding or removing indentation can be לעלות ולרדת קומה. The metaphor being that related code should be on the same "floor". That would be really useful in python imo.

DK26 commented 3 years ago

Thinking about this i had this idea: "indentation" is usually translated as הזחה, but i always found it to be an ugly word, and never heard it elsewhere. Would people understand it better if it was called קומה as in a floor in a building? Adding or removing indentation can be לעלות ולרדת קומה. The metaphor being that related code should be on the same "floor". That would be really useful in python imo.

הזחה is the official word used when teaching Computer Science practices in the Academics. So maybe the question is rather the book should be translated with official academic terms or every-day terms. Maybe the academic terms should at least be mentioned in parenthesis every time something new is introduced. It would be nice to have CS students not getting confused with a new terminology.

DK26 commented 3 years ago

"code review" can be סקירת קוד or סיקור קוד. Tests should be בדיקות. That's the common lingo everywhere i worked.

Could it be סקר קוד ? https://he.wikipedia.org/wiki/%D7%A1%D7%A7%D7%A8_%D7%A7%D7%95%D7%93

reuvenpo commented 3 years ago

sure, it sounds better :) (I'm no authority, just a mildly opinionated language fanboy at best, so take my suggestions as just suggestions. I hope they're good ones)

EDIT: on second thought, it could be confusing because סקר is "poll". I think that סקירה is closer to "review".

GilRtr commented 3 years ago

Here is the repo: https://github.com/GilRtr/rustbook-heb

DK26 commented 3 years ago

sure, it sounds better :) (I'm no authority, just a mildly opinionated language fanboy at best, so take my suggestions as just suggestions. I hope they're good ones)

EDIT: on second thought, it could be confusing because סקר is "poll". I think that סקירה is closer to "review".

Well it depends on context. סקר in the context of a web forum or a voting campaign, where opinion is what you are looking for, is a "poll".

סקר in a context of R&D is a "market survey", and in the context of code, its "code review".

If it is said in an IT department within a company, they know what it means.

reuvenpo commented 3 years ago

personally i never heard סקר קוד, my colleagues usually say "see are", so if it's common out there i don't mind it.

DK26 commented 3 years ago

It seems that סקירת קוד can be used as adjective, as for example כלים לסקירת קוד. But I know little of the context to which this question was asked

ChayimFriedman2 commented 3 years ago

If we want the book to be understandable to the average Hebrew speaker programmer, we should stop trying translate each and every word and just use the English terms, either transliterated to Hebrew or as-is.

See the hebdevbook project from Ran Bar-Zik, who took the same approach. For example The React Book, the section titled "על המונחים בעברית":

אני כותב בעברית על טכנולוגיה ועל תכנות כבר יותר מעשור, והדילמה באילו מונחים בעברית להשתמש מלווה אותי תמיד. מצד אחד, האקדמיה ללשון העברית מספקת לנו מונחים רבים בעברית. מצד שני, בתעשיית ההייטק, שממנה אני מגיע, איש לא משתמש ברבים מהמונחים האלו. אם תגיעו לריאיון עבודה ותגידו: "במפגש המתכנתים האחרון שמעתי על דרך חדשה לבצע הידור שבודק הזחות במנשק מבוסס הבטחות", סביר להניח שלא תקבלו את העבודה. אבל אם תגידו, "במיטאפ האחרון שמעתי על דרך חדשה לבצע ִקמ ּפול שבודק אינדנטציה ב-API מבוסס פרומיסים" – יבינו על מה אתם מדברים. זו הסיבה שלא תמצאו בספר מילים כמו "הידור", "מחלקה" או "מרשתת", אלא "קמפול", "קלאס" ו"אינטרנט". המונחים שבהם השתמשתי הם המונחים שבהם משתמשים בתעשייה בפועל. בכל מקום שבו אני משתמש במונח לראשונה, אני מספק גם את הגרסה שלו באנגלית כדי שתוכלו להכניס אותו לחיפושים שלכם בגוגל.

(Oh my god, GitHub aligns RTL text so bad).

The border is quite vague, I agree, but I think that even non-programmers will benefit from that, and of course programmers that are already experienced in other languages.

TheShwarma commented 3 years ago

Oh man, is this an old one! 😃 Yeah, the two alternatives would be ארגז and תיבה, both of which are better reserved for other uses. חבילה is the standard term for "package", both in and outside of programming, so it will do.

On a semantically related note, Box<T> should be קופסא, but if given the option I would totally vote for translating Box<Moses> as "משה בתיבה" 😂

EDIT: To clarify, i'd use ארגז כלים for "toolkit" or "SDK". And תיבה can be used for stuff like "stash", "cache", etc, if you didn't want to transliterate them as קאש. (The literal translation for stash/cache, מקום מסתור, sounds out of place to me for this use, and the semantically related איחסון should be used for "storage")

Nope, the proper term would be קופסה for Box. https://www.facebook.com/AcademyOfTheHebrewLanguage/posts/1826883277381720

reuvenpo commented 3 years ago

Yeah, I was taught the old spellings first and I just default to them when not thinking about it. If you want to be pedantic and go with the universitא (:wink:), I don't care much. In my head it's the same as colour/color in english

Yaron-Ha commented 2 years ago

Any update about this translation? Should I start a new one?

IdanLib commented 1 year ago

Hey guys, what's up? I'm an Israeli native who taught English for over a decade and has experience translating. Recently discovered Rust and would love to contribute to making a Hebrew translation. Is there a current Hebrew version in the making?

IttayWeiss commented 1 year ago

@IdanLib I just now made available the translation I've been working on (first four chapters done and reviewed, chapter 5 done and being reviewed): https://github.com/IttayWeiss/rustbook-heb. Any comments you may have on the existing translation would be much appreciated, and it would be fantastic if you wanted to join in the fun.

IdanLib commented 1 year ago

Hi Ittay, ma kore? :)

Thanks for replying first of all. It seems from the thread that there are (or were?) multiple attempts to create a Hebrew version of the Rust book, some of them date back to 2017 or so, so it wasn't even clear if there is one currently in the works. I'm happy to hear that there is. Are you the only person currently working on this translation?

So yes, I would love to contribute. I browsed the repo, I assume the contents of the book are here, right? https://github.com/IttayWeiss/rustbook-heb/tree/main/src I also browsed this glossary, here: https://github.com/IttayWeiss/rustbook-heb/blob/main/HebEngTerms.txt I am still learning Rust, but I might have a few suggestions, if that's acceptable. I would also love to review any current translations or work on translating additional chapters.

How would you like to proceed? Do you want to have a quick chat on the phone or on zoom? (We can also just message here or on LinkedIn, though I'd love to get to know fellow programmers in a more direct manner). My number is 0546-363136. but whatever you prefer is fine.

Talk soon! Idan

On Tue, Mar 21, 2023 at 4:00 PM Ittay Weiss @.***> wrote:

@IdanLib https://github.com/IdanLib I just now made available the translation I've been working on (first four chapters done and reviewed, chapter 5 done and being reviewed): https://github.com/IttayWeiss/rustbook-heb. Any comments you may have on the existing translation would be much appreciated, and it would be fantastic if you wanted to join in the fun.

— Reply to this email directly, view it on GitHub https://github.com/rust-lang/book/issues/1032#issuecomment-1477889510, or unsubscribe https://github.com/notifications/unsubscribe-auth/A32GJUJGTKSJKMXRTIQ4GVDW5GX7PANCNFSM4EFW6OIQ . You are receiving this because you were mentioned.Message ID: @.***>

IttayWeiss commented 1 year ago

Hi Idan. It's great that you're interested in Rust generally, and in contributing to the translation in particular.

As far as I know, the previous Hebrew translation projects died out. I wanted to start a solid new project that is going to be likely to culminate in the entire book being translated, so I worked just on my own on the first four chapters, in order to form a usable kernel.

The source files are indeed where you think they are. You can compile the book with mdbook build (I had to tweak some of the configuration in order to get it to work with Hebrew. You can find that in my first commit (or maybe the second commit, I don't remember)). It is highly recommended to first read the original book before taking on translation of entire chapters. So it's up to you when you feel you are ready to translate. I'm very happy to have a chat with you. You can contact me on weittay@gmail.com to set something up.

Best, Ittay

ronyhe commented 1 year ago

Hey @IttayWeiss I submitted a PR, LMK what you think