You've already forked comprehensive-rust
mirror of
https://github.com/google/comprehensive-rust.git
synced 2026-06-11 18:37:59 +02:00
2fb2578a51
This PR fixes a narrow set of `po/ru.po` entries where the existing fuzzy translation is **factually wrong** — different concept, swapped link, wrong day number, broken markdown, etc. — not where it's merely stylistically outdated. The other ~50 fuzzy entries are left with their `#, fuzzy` flag untouched for @baltuky (the original translator) to revisit on their own pace. ## Scope **Wrong chapter titles in SUMMARY** | msgid | was | now | |---|---|---| | Associated Types | Скалярные типы | Ассоциированные типы | | Shared Types (C++ interop) | Скалярные типы | Общие типы | | Try Conversions | Неявные преобразования | Преобразования через Try | | Marker Traits | Небезопасные типажи | Маркерные типажи | | Shared References | Заимствование (= different section) | Общие ссылки | **msgmerge nearest-match garbage.** Six chapter-link entries had been overwritten with the recurring `"Больше информации об использовании шаблонов..."` boilerplate or with an unrelated link — replaced with correct ones: `[Static]`, `[Pattern Matching]`, `[Matching Values]`, `[Deriving]`, `[Strings]`, `[Marker Traits]` (which pointed at the Arrays link). **Wrong body translations** - `Native support for Rust slices in C++` → was `"Встроенная поддержка тестирования"` (slices ≠ testing) - `` `while let` expressions `` and `` `let else` expressions `` → both were `"Выражение `if let`"` - `while-let` (anchor) → was `"Выражение `while let`"` (anchor name vs section title) - `Lives for the entire duration of the program` → was `"Функция `main` является точкой входа в программу"` - `Storing Books` → was `"Строки"` (Books ≠ Strings) - `An exercise on pattern matching.` → was about enums + pattern matching - `Welcome to Day 4` → was `"Добро пожаловать в День 1"` - `Can be scaled down to very constrained devices such as microcontrollers.` → was `"...мобильные телефоны"` (microcontrollers ≠ phones) - `Some things to try:` → was `"Примечания:"` (notes ≠ things to try) **Wrong code literals** - `"Welcome to RustOS 3.14"` → was `"Добро пожаловать в День 1"` - `"Hello "` → was `"Привет, мир!"` (different literal) **Broken markdown links** (literally not rendering as links) - Two `After looking at the exercises... [solutions](solutions-*.md)` entries had `\\[solutions\\]` with escaped brackets and no working link target. ## Terminology Followed the existing glossary in `ru.po` (Trait → Типаж, Borrow → Заимствование, Closure → Замыкание, Slice → Срез, Lifetime → Время жизни) and the established RU Rust canon for the new replacements (Marker Traits → Маркерные типажи; `#[derive]` → Вывод типажей). Shared/Exclusive References intentionally kept as Общие/Эксклюзивные ссылки, matching the modern shared/exclusive terminology that this course uses (not the older immutable/mutable framing) — happy to switch if reviewers prefer the canonical RU Book "неизменяемые/изменяемые". ## Verification ``` $ msgfmt --statistics -o /dev/null po/ru.po 574 translated messages, 50 fuzzy translations, 3136 untranslated messages. ``` (Before: 552 translated, 72 fuzzy, 3136 untranslated. Δ = +22 translated, −22 fuzzy.) Co-authored-by: Arsen Ozhetov <yabanciinbt@gmail.com>