Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
717aed5
Translate Type-Driven Correctness book to Russian
r007 Oct 9, 2026
500fce0
Merge pull request #1 from r007/translate-type-driven-correctness-ru
r007 Oct 9, 2026
3d0213a
Translate Rust Patterns book to Russian
r007 Oct 9, 2026
6a3f8cc
Translate README content to Russian
r007 Oct 9, 2026
7a020f2
Merge upstream microsoft/RustTraining and sync Russian translations
r007 Oct 9, 2026
2c4788c
Merge pull request #2 from r007/translate-type-driven-correctness-ru
r007 Oct 9, 2026
c78f94f
Translate Engineering book intro, TOC and chapter 1 to Russian
r007 Oct 9, 2026
f29a1c2
Translate Engineering book chapters 2-5 to Russian
r007 Oct 9, 2026
5e22938
Translate Engineering book chapters 6-13 to Russian
r007 Oct 9, 2026
52b4585
Merge pull request #3 from r007/translate-engineering-ru
r007 Oct 9, 2026
448306d
Translate Async Rust book intro, TOC and chapters 1-9 to Russian
r007 Oct 9, 2026
e044e4a
Translate Async Rust book chapters 10-13 to Russian
r007 Oct 9, 2026
056be9d
Translate Async Rust book chapters 14-17 to Russian
r007 Oct 9, 2026
0b0cad5
Merge pull request #4 from r007/translate-async-ru
r007 Oct 9, 2026
6d49b0e
Translate Python book intro, TOC and chapters 1-9 to Russian
r007 Oct 9, 2026
2a73e17
Translate Python book chapters 10-13 to Russian
r007 Oct 9, 2026
19d5f17
Translate Python book chapters 14-17 to Russian
r007 Oct 9, 2026
58425c1
Merge pull request #5 from r007/translate-python-ru
r007 Oct 9, 2026
cefea2b
Translate C/C++ book TOC and chapters 1-14 to Russian (WIP)
r007 Oct 9, 2026
ac769e0
Translate C/C++ book chapters 15-19 and TOC to Russian
r007 Oct 9, 2026
57c93fe
Merge pull request #6 from r007/translate-c-cpp-ru
r007 Oct 9, 2026
e2a13a1
Translate C# book SUMMARY and chapters 1-6 to Russian (WIP)
r007 Oct 9, 2026
11fa518
Translate C# book chapters 7-12 to Russian (WIP)
r007 Oct 9, 2026
9536909
Translate C# book chapters 13-17 and TOC to Russian
r007 Oct 9, 2026
82fd730
Merge pull request #7 from r007/translate-csharp-ru
r007 Oct 9, 2026
f860909
Finish Russian translation: metadata, README, xtask, docker, own proj…
r007 Oct 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
# Keep the build context small and deterministic.
# NOTE: do NOT exclude *.md — the book sources are markdown.
# Держим контекст сборки небольшим и детерминированным.
# ПРИМЕЧАНИЕ: НЕ исключайте *.md — исходники книг написаны в Markdown.

.git
.github
.gitignore

# Build output (mirrors .gitignore)
# Результаты сборки (повторяют .gitignore)
target/
site/
docs/
**/book/

# Editor / OS noise
# Файлы редакторов и ОС
.vscode/
.idea/
**/*:Zone.Identifier
Expand Down
21 changes: 11 additions & 10 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
name: Docker image
name: Образ Docker

# Build-only. Nothing is published, so this adds no release surface or
# registry credentials — it exists so the Dockerfile cannot silently rot.
# Только сборка. Ничего не публикуется, поэтому нет дополнительной поверхности
# релизов и учётных данных реестра. Workflow нужен, чтобы Dockerfile не
# сломался незаметно.
on:
push:
branches: [main]
Expand Down Expand Up @@ -31,7 +32,7 @@ jobs:

- uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0

- name: Build image
- name: Сборка образа
uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0
with:
context: .
Expand All @@ -42,20 +43,20 @@ jobs:
cache-from: type=gha
cache-to: type=gha,mode=max

- name: Smoke test
- name: Дымовой тест
run: |
docker run -d --name books -p 3000:8080 rust-training:ci
for i in $(seq 1 30); do
if curl -fsS http://localhost:3000/ >/dev/null 2>&1; then ok=1; break; fi
sleep 2
done
if [ "${ok:-0}" != "1" ]; then
echo "::error::server did not come up"; docker logs books; exit 1
echo "::error::сервер не поднялся"; docker logs books; exit 1
fi
# Landing page and at least one book must resolve.
# NB: match the <title>; the <h1> is split by a <span> tag.
curl -fsS http://localhost:3000/ | grep -q "<title>Rust Training Books</title>"
# Обложка и хотя бы одна книга должны открываться.
# ПРИМЕЧАНИЕ: сравниваем по <title>, потому что <h1> разбит тегом <span>.
curl -fsS http://localhost:3000/ | grep -q "<title>Учебные книги по Rust</title>"
curl -fsS -o /dev/null -w '%{http_code}\n' http://localhost:3000/async-book/ | grep -q 200
# Extensionless links must resolve via try_files.
# Ссылки без расширения должны открываться через try_files.
curl -fsS -o /dev/null -w '%{http_code}\n' http://localhost:3000/async-book/ch00-introduction | grep -q 200
docker rm -f books
18 changes: 9 additions & 9 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Deploy to GitHub Pages
name: Публикация на GitHub Pages

on:
push:
Expand All @@ -18,16 +18,16 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
- name: Получение кода
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- name: Install Rust
- name: Установка Rust
uses: dtolnay/rust-toolchain@stable

- name: Configure GitHub Pages
- name: Настройка GitHub Pages
uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6.0.0

- name: Cache cargo dependencies
- name: Кэш зависимостей cargo
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: |
Expand All @@ -40,15 +40,15 @@ jobs:
restore-keys: |
${{ runner.os }}-cargo-

- name: Install mdbook and dependencies
- name: Установка mdbook и зависимостей
run: |
which mdbook || cargo install mdbook
which mdbook-mermaid || cargo install mdbook-mermaid

- name: Build documentation
- name: Сборка документации
run: cargo xtask deploy

- name: Upload artifact
- name: Загрузка артефакта
uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0
with:
path: ./docs
Expand All @@ -60,6 +60,6 @@ jobs:
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
- name: Публикация на GitHub Pages
id: deployment
uses: actions/deploy-pages@368f82528645a54fb793d4d04e342629a3f51346 # v5.0.1
6 changes: 3 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# mdbook build output
# Результат сборки mdbook
**/book/

# xtask output
# Результат xtask
site/
docs/
target/

# Zone.Identifier files (Windows/WSL artifact)
# Файлы Zone.Identifier (артефакт Windows/WSL)
*:Zone.Identifier
28 changes: 21 additions & 7 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,25 @@
# Microsoft Open Source Code of Conduct
# Кодекс поведения участников

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
Мы хотим, чтобы участие в проекте было открытым и безопасным для всех, независимо от опыта, возраста, пола, национальности, религии, инвалидности и других личных признаков.

Resources:
## Чего мы ждём

- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
- Contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with questions or concerns
- Employees can reach out at [aka.ms/opensource/moderation-support](https://aka.ms/opensource/moderation-support)
- Уважительного общения и готовности выслушать других.
- Конструктивной критики, которая направлена на текст и код, а не на человека.
- Внимания к технической сути: проверяйте факты и ссылки на документацию.
- Признания чужого вклада, в том числе в переводе и в ревью.

## Что недопустимо

- Оскорбления, унижения, преследование и травля.
- Публикация чужих личных данных без согласия.
- Сознательное введение в заблуждение, спам и реклама, не связанные с проектом.
- Любое поведение, которое создаёт враждебную обстановку для участников.

## Ответственность

Мейнтейнеры проекта могут удалить комментарии, коммиты и Pull Request'ы, которые нарушают этот кодекс, и ограничить доступ к обсуждениям участникам, которые систематически его нарушают.

## Как сообщить о проблеме

Вопросы о кодексе задавайте через Issues репозитория. Если обращение конфиденциально, напишите мейнтейнеру напрямую через его профиль на GitHub: [@r007](https://github.com/r007).
55 changes: 44 additions & 11 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,47 @@
# Contributing
# Как внести вклад

This project welcomes contributions and suggestions. Most contributions require you to
agree to a Contributor License Agreement (CLA) declaring that you have the right to,
and actually do, grant us the rights to use your contribution. For details, visit
https://cla.microsoft.com.
Спасибо, что хотите помочь проекту! Здесь принимаются исправления текста и перевода, правки примеров кода, улучшения сборки и предложения новых тем.

When you submit a pull request, a CLA-bot will automatically determine whether you need
to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the
instructions provided by the bot. You will only need to do this once across all repositories using our CLA.
Подписывать соглашение о вкладе (CLA) не нужно. Отправляя изменения, вы соглашаетесь, что они распространяются по лицензиям проекта: MIT для кода и CC BY 4.0 для текста.

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
## Что можно предложить

- Исправления опечаток, неточностей и ошибок в переводе.
- Улучшения примеров кода и упражнений. Код должен компилироваться.
- Исправления ссылок, якорей и сборки.
- Новые главы или книги. Сначала откройте Issue, чтобы обсудить объём и структуру.

## Как работать

1. Сделайте fork репозитория и создайте ветку от `main`.
2. Внесите изменения и проверьте сборку: `cargo xtask build` или `cd <книга> && mdbook build`.
3. Откройте Pull Request с кратким описанием того, что изменено и почему.

## Стиль перевода

- Обращение к читателю на «вы».
- Термины используем единообразно (см. таблицу ниже).
- Код, идентификаторы, имена файлов, команды и сообщения компилятора остаются на английском.
- Комментарии в примерах кода пишем по-русски.
- Имена файлов и якорные ссылки без необходимости не меняем: от них зависят ссылки внутри книг и связь с оригиналом.

## Глоссарий

| English | Русский | Примечание |
|---------|---------|------------|
| trait | трейт | |
| crate | крейт | |
| ownership | владение | |
| borrowing | заимствование | |
| lifetime | время жизни | |
| closure | замыкание | |
| iterator | итератор | |
| panic | паника | |
| thread | поток | |
| channel | канал | |
| runtime | рантайм | |
| Future, Pin, Mutex, Send, Sync, PhantomData, newtype, typestate, UB | — | оставляем английскими |

## Кодекс поведения

Участие в проекте регулируется [кодексом поведения](CODE_OF_CONDUCT.md).
101 changes: 101 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading