1
0
mirror of https://github.com/google/comprehensive-rust.git synced 2026-06-11 18:37:59 +02:00
Files
Arsen 2fb2578a51 ru: fix 25 factually wrong fuzzy entries (#3184)
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>
2026-06-09 17:33:14 +00:00
..
2025-07-27 18:34:47 +02:00