Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Russian translation #326

Open
mgeisler opened this issue Feb 2, 2023 · 24 comments
Open

Russian translation #326

mgeisler opened this issue Feb 2, 2023 · 24 comments

Comments

@mgeisler
Copy link
Collaborator

mgeisler commented Feb 2, 2023

For reference, there is a Russian translation of the Rust Book: https://github.com/rust-lang-ru/book.

Say hello below and assign yourself one or more files via this spreadsheet.

@mgeisler
Copy link
Collaborator Author

mgeisler commented Feb 2, 2023

Here is a Cloud Translated version of messages.pot: ru.zip. I hope it can work as a starting point for you 😄

@mgeisler
Copy link
Collaborator Author

mgeisler commented Feb 2, 2023

For reference, there is a Russian translation of the Rust Book: https://github.com/rust-lang-ru/book.

@baltuky
Copy link
Collaborator

baltuky commented Feb 2, 2023

@mgeisler Would appreciate if you could assign this issue to me

@mgeisler
Copy link
Collaborator Author

mgeisler commented Feb 3, 2023

@mgeisler Would appreciate if you could assign this issue to me

There you go! 😄

@mgeisler
Copy link
Collaborator Author

Hi @baltuky, would you be able to add a nearly-empty PO file for Russian? Just translate a few entries — that will get us started and it will make it easier for others to start contributing!

@baltuky
Copy link
Collaborator

baltuky commented May 24, 2023

Hey Martin,
Yes, I've created a PO file for Russian. I will create a PR for that later today.

@mgeisler
Copy link
Collaborator Author

Yes, I've created a PO file for Russian. I will create a PR for that later today.

That's amazing, thank you very much!

@baltuky
Copy link
Collaborator

baltuky commented May 24, 2023

@mgeisler I've created a PR that brings a fresh ru.po file, PTAL

@atmsk
Copy link

atmsk commented Jun 2, 2023

I would like to contribute. How do I get started?

@baltuky
Copy link
Collaborator

baltuky commented Jun 2, 2023

I would like to contribute. How do I get started?

Hey 👋
It makes sense to start by reading the Translations of Comprehensive Rust 🦀 page.

I've prepared a draft of Day 1: Morning part and working on Day 1: Afternoon. So, feel free to pick any other chapters.

@istolga
Copy link
Collaborator

istolga commented Jun 3, 2023

also want to contribute

@mgeisler
Copy link
Collaborator Author

mgeisler commented Jun 3, 2023

Hey all! There seems to be great momentum here! I propose that you split the work via a spreadsheet. That seems to work well for the two Chinese translations.

Edit it all you want, use as much or as little as you like!

@baltuky
Copy link
Collaborator

baltuky commented Jun 3, 2023

Hey all! There seems to be great momentum here! I propose that you split the work via a spreadsheet. That seems to work well for the two Chinese translations.

Edit it all you want, use as much or as little as you like!

That is a great idea. 💯 I've updated the spreadsheet with my assignments. Now the translation process should be more transparent.
Please place the spreadsheet link to the issue description for better visibility.

@starostinak
Copy link

Hey, I also want to contribute 👋 Will look though the translations guide and pick something unclaimed from the spreadsheet.

@starostinak
Copy link

I've claimed day 2 morning in the spreadsheet.

@gorodnev
Copy link

hello, I'm interested in this activity as well. I'd take the 'bare-metal' chapter of the book.

@mgeisler
Copy link
Collaborator Author

mgeisler commented Jun 29, 2023

Thanks @starostinak and @gorodnev! I suggest starting small to get familiar with the infrastructure.

@Makarevich
Copy link
Collaborator

I just checked the assignment sheet and realized that the list of files in the column A is quite obsolete and I suspect that some of the translations need to be updated as well. (There are certainly quite a few "fuzzy" entries in the ru.po, which need to be updated.) Would it make sense to track the assignments by chapter instead: Intro, Day 1: Morning, Day 1: Afternoon, etc?

@mgeisler
Copy link
Collaborator Author

mgeisler commented Jan 2, 2024

Hey folks, just a heads up that we're tinkering with publishing the course as a PDF — including for the translations: #1572.

If you have input on the font to use, please let us know!

@jnovikov
Copy link
Member

Hi. I want to contribute to this effort. Should I just add myself to the sheet and assign some pages there ?

@henrif75
Copy link
Collaborator

Hi. I want to contribute to this effort. Should I just add myself to the sheet and assign some pages there ?

Hi @jnovikov!
You can follow the instructions on https://github.com/google/comprehensive-rust/blob/main/TRANSLATIONS.md.
I believe the assignment sheet is obsolete, given it was unchanged for quite a while and the Comprehensive Rust material was substantially updated. My suggestion to you is to either update the sheet or you start a PR, adding here what are you intending to do.
Thank you!

mgeisler pushed a commit that referenced this issue Apr 7, 2024
* Build `messages.pot` (untracked) using `gettext` with granularity=0;
* Update `ru.po` with `msgmerge --update`;
* Make it easier to review consequent translation-centric pull requests;

#326
@1dimir
Copy link
Contributor

1dimir commented Apr 9, 2024

Hi! It seems that I'm in. And I have a few questions.

What is the desired granularity of pull requests? From my point of view the translation task could be split into three stages. First one is to make all pages readable in Russian: translate everything that should be translated. Second, re-read, refine and rephrase section-wise. Third, collect some meta-information, remove obsolete translations and flags. So is it OK to pull really small changes until we start refining? Or I just try and see how it goes?

PO files format supports translator comments. I started using them quite extensively. Noting, why was a particular translation used, what possible alternatives were there etc. It may seem to duplicate pull request discussions, but having it in po comments will keep the context for future reviews. E.g. I would also put there some summary of concurrency terminology discussion from past changes. Am I not misusing the tool feature?

What is the right place to ask tiny questions regarding the source material? If it isn't worth starting a new Discussion. E.g. we have two Hello, World! titles, one is about the first program and another could have a title: Hello Rust as it's about the language introduction.

@mgeisler
Copy link
Collaborator Author

PO files format supports translator comments. I started using them quite extensively. Noting, why was a particular translation used, what possible alternatives were there etc. It may seem to duplicate pull request discussions, but having it in po comments will keep the context for future reviews. E.g. I would also put there some summary of concurrency terminology discussion from past changes. Am I not misusing the tool feature?

I think that's a great idea! In general, I've tried to not be prescriptive in how people use the PO files, but I think it's a nice idea to document past discussions like you suggest.

Longer-term, I think we should switch to a translation platform, #1305. That might remove the need for PO files completely if it becomes the source of truth. I could also imagine letting the PO files be the source of truth and then synchronize them to the platform (and make PRs to the PO files when exporting from the platform). Regardless, most platforms will likely support some form of translation comments.

@mgeisler
Copy link
Collaborator Author

So is it OK to pull really small changes until we start refining?

Yes, I would encourage that! I've seen in other languages that it's much easier to review and merge small PRs.

There are a few challenges in translating the course: a big one is the human aspect of finding someone who is motivated to do the work of translating and reviewing. Making the PRs small helps here since it makes it easier to merge uncontroversial translations.

What is the right place to ask tiny questions regarding the source material? If it isn't worth starting a new Discussion. E.g. we have two Hello, World! titles, one is about the first program and another could have a title: Hello Rust as it's about the language introduction.

You are welcome to create issues for things that look like bugs or where you have ideas for improvements — discussions are probably more for open-ended, well, discussions. We don't have a super strict separation 😄

You're also very welcome to simply create a PR whenever you spot something weird in the source text. I'm not a native English speaker, so there are still some typos and inconsistencies hidden here and there.

dyeroshenko pushed a commit that referenced this issue Apr 16, 2024
* Add translations for the new extracted messages related to Day 1and
Day 2 chapters;
* Fix numbering in translation of Day 4 titles;
* Use PO file translator comments for notes and reasons why one or
another choice was made, mention alternatives;
* Do not translate type and trait names;
* Rename: Поток управления -> Управляющие конструкции;
* Rename: Перечисления и сопоставление с образцом. -> Деструктуризация;
* Rename: Ссылки -> Заимствование;
* Rename: Висячие ссылки -> Изменяемые ссылки;
* Rename: Вторая половина дня -> После обеда;
* Rename: Поток управления -> `Let` в потоке управления (src: Let
Control Flow);
* Rename: Функции -> Обобщённые функции (src: Generic Functions);
* Rename: Обобщения (generics). -> Обобщённые типажи (src: Generic
Traits);
* Cannot translate `Slices: &[T]` - possible bug

#326
dyeroshenko pushed a commit that referenced this issue Apr 29, 2024
* Translate new `msid`s related to navigation of days 3 and 4 sections;
* Rename to provide more context:
    * `Iterator` -> Типаж `Iterator`
    * `IntoIterator` -> Типаж `IntoIterator`
    * `FromIterator` -> Типаж `FromIterator`
* Rename: Функции -> Небезопасные функции (Unsafe Functions)
* Mention alternatives in translator's comments;
* Mark translations brought from the Rust book;

#326
dyeroshenko pushed a commit that referenced this issue May 17, 2024
* Update translation file with the new (2024-05-04) `messages.pot`
version;
* Translate `src/types-and-values.md`;
* Translate `src/types-and-values/*.md`;
* Revise a number of fuzzy translations;
* Fix a markdown link in control-flow-basics;
* Preserve some source code in `msgstr` that shouldn't be translated;
* Translate few schedule and welcome pages items;
* Mention an alternative translation for destructuring: распаковка;
* Translate session timings, use case endings with numbers;

#326
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

10 participants