1
0
mirror of https://github.com/google/comprehensive-rust.git synced 2025-01-10 00:44:21 +02:00

ru: translate days 1-2 section titles (#1973)

* 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
This commit is contained in:
1dimir 2024-04-16 17:24:25 +03:00 committed by GitHub
parent f103971cf4
commit b76af9c710
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

224
po/ru.po
View File

@ -56,6 +56,8 @@ msgstr "День 1: Утро"
msgid "Welcome"
msgstr "Добро пожаловать"
# There should be two separate keys (or additional context): Hello Rust and Hello, World.
# And translations should be accordingly: Знакомство с Rust и Привет, мир!
#: src/SUMMARY.md src/hello-world.md src/types-and-values/hello-world.md
#, fuzzy
msgid "Hello, World"
@ -65,37 +67,44 @@ msgstr "Привет, мир!"
msgid "What is Rust?"
msgstr "Что такое Rust?"
# Alternative translation: Достоинства. I'd rather not use преимущества, as it can be read as advantages over smth else,
# but we also describe here modern language features (generics, unpacking and other syntax sugar),
# which other languages have a plenty
#: src/SUMMARY.md src/hello-world/benefits.md
msgid "Benefits of Rust"
msgstr ""
msgstr "Сильные стороны"
#: src/SUMMARY.md src/hello-world/playground.md
msgid "Playground"
msgstr ""
msgstr "Песочница"
#: src/SUMMARY.md src/types-and-values.md
msgid "Types and Values"
msgstr ""
msgstr "Типы и значения"
#: src/SUMMARY.md src/types-and-values/variables.md
msgid "Variables"
msgstr ""
msgstr "Переменные"
# Direct translation is Значения, but section is about Литералы or Литералы значений
#: src/SUMMARY.md src/types-and-values/values.md
msgid "Values"
msgstr ""
msgstr "Литералы"
# Операции are chosen over Операторы since description is about how to do simple arithmetics,
# not the definition of operators
#: src/SUMMARY.md src/types-and-values/arithmetic.md
msgid "Arithmetic"
msgstr ""
msgstr "Арифметические операции"
# Вывод типов is also possible, but the chosen Выведение типов is less ambiguous
#: src/SUMMARY.md src/types-and-values/inference.md
msgid "Type Inference"
msgstr ""
msgstr "Выведение типов"
#: src/SUMMARY.md src/types-and-values/exercise.md
msgid "Exercise: Fibonacci"
msgstr ""
msgstr "Упражнение: Числа Фибоначчи"
#: src/SUMMARY.md src/types-and-values/solution.md
#: src/control-flow-basics/solution.md src/tuples-and-arrays/solution.md
@ -108,12 +117,14 @@ msgstr ""
#: src/testing/solution.md src/error-handling/solution.md
#: src/unsafe-rust/solution.md
msgid "Solution"
msgstr ""
msgstr "Решение"
# Управляющие конструкции is used in rust-lang book translation
# Alternative simplified title: Ветвление и циклы
#: src/SUMMARY.md src/control-flow-basics.md
#, fuzzy
msgid "Control Flow Basics"
msgstr "Поток управления"
msgstr "Управляющие конструкции"
#: src/SUMMARY.md
#, fuzzy
@ -122,31 +133,31 @@ msgstr "Выражение `if`"
#: src/SUMMARY.md src/control-flow-basics/loops.md
msgid "Loops"
msgstr ""
msgstr "Циклы"
#: src/SUMMARY.md src/control-flow-basics/loops/for.md
msgid "`for`"
msgstr ""
msgstr "`for`"
#: src/SUMMARY.md src/control-flow-basics/loops/loop.md
msgid "`loop`"
msgstr ""
msgstr "`loop`"
#: src/SUMMARY.md src/control-flow-basics/break-continue.md
msgid "`break` and `continue`"
msgstr ""
msgstr "`break` и `continue`"
#: src/SUMMARY.md src/control-flow-basics/break-continue/labels.md
msgid "Labels"
msgstr ""
msgstr "Метки"
#: src/SUMMARY.md src/control-flow-basics/blocks-and-scopes.md
msgid "Blocks and Scopes"
msgstr ""
msgstr "Блоки и области видимости"
#: src/SUMMARY.md src/control-flow-basics/blocks-and-scopes/scopes.md
msgid "Scopes and Shadowing"
msgstr ""
msgstr "Области видимости и затенение"
#: src/SUMMARY.md src/control-flow-basics/functions.md
msgid "Functions"
@ -154,19 +165,21 @@ msgstr "Функции"
#: src/SUMMARY.md src/control-flow-basics/macros.md
msgid "Macros"
msgstr ""
msgstr "Макросы"
# Alternative translation: Сиракузская последовательность - frequently used in Russian sources
#: src/SUMMARY.md src/control-flow-basics/exercise.md
msgid "Exercise: Collatz Sequence"
msgstr ""
msgstr "Упражнение: Последовательность Коллатца"
# Утро - После обеда provides better schedule context, than Утро - Вторая половина дня
#: src/SUMMARY.md
msgid "Day 1: Afternoon"
msgstr ""
msgstr "День 1: После обеда"
#: src/SUMMARY.md src/tuples-and-arrays.md
msgid "Tuples and Arrays"
msgstr ""
msgstr "Кортежи и массивы"
#: src/SUMMARY.md src/tuples-and-arrays/arrays.md
msgid "Arrays"
@ -178,35 +191,37 @@ msgstr "Кортежи"
#: src/SUMMARY.md src/tuples-and-arrays/iteration.md
msgid "Array Iteration"
msgstr ""
msgstr "Обход массивов"
#: src/SUMMARY.md src/tuples-and-arrays/destructuring.md
#, fuzzy
msgid "Patterns and Destructuring"
msgstr "Перечисления и сопоставление с образцом."
msgstr "Деструктуризация"
#: src/SUMMARY.md src/tuples-and-arrays/exercise.md
msgid "Exercise: Nested Arrays"
msgstr ""
msgstr "Упражнение: Вложенные массивы"
#: src/SUMMARY.md src/references.md
msgid "References"
msgstr "Ссылки"
# Section describes borrowing, so that was used as a translation source
#: src/SUMMARY.md src/references/shared.md
#, fuzzy
msgid "Shared References"
msgstr "Ссылки"
msgstr "Заимствование"
# Section describes mutable borrowing o_O, so: Изменяемые ссылки
#: src/SUMMARY.md src/references/exclusive.md
#, fuzzy
msgid "Exclusive References"
msgstr "Висячие ссылки"
msgstr "Изменяемые ссылки"
#: src/SUMMARY.md
#, fuzzy
msgid "Slices: `&[T]`"
msgstr "Срезы"
msgstr "Срезы: `&[T]`"
#: src/SUMMARY.md src/references/strings.md
msgid "Strings"
@ -214,85 +229,89 @@ msgstr "Строки"
#: src/SUMMARY.md src/references/exercise.md
msgid "Exercise: Geometry"
msgstr ""
msgstr "Упражнение: Геометрия"
#: src/SUMMARY.md src/user-defined-types.md
msgid "User-Defined Types"
msgstr ""
msgstr "Определяемые пользователем типы"
#: src/SUMMARY.md src/user-defined-types/named-structs.md
msgid "Named Structs"
msgstr ""
msgstr "Именованные структуры"
#: src/SUMMARY.md src/user-defined-types/tuple-structs.md
msgid "Tuple Structs"
msgstr ""
msgstr "Кортежи"
#: src/SUMMARY.md src/user-defined-types/enums.md
#: src/pattern-matching/destructuring.md
msgid "Enums"
msgstr ""
msgstr "Перечисления"
# Rust documentation calls them Static items, that is why translation is: Статические объекты
#: src/SUMMARY.md
msgid "Static"
msgstr ""
msgstr "Статические объекты"
#: src/SUMMARY.md
msgid "Const"
msgstr ""
msgstr "Константы"
#: src/SUMMARY.md src/user-defined-types/aliases.md
msgid "Type Aliases"
msgstr ""
msgstr "Псевдонимы типов"
# События лифта - weird, События системы управления лифтом - too long, so Управление лифтом was chosen;
#: src/SUMMARY.md src/user-defined-types/exercise.md
msgid "Exercise: Elevator Events"
msgstr ""
msgstr "Упражнение: Управление лифтом"
#: src/SUMMARY.md
msgid "Day 2: Morning"
msgstr ""
msgstr "День 2: Утро"
#: src/SUMMARY.md src/pattern-matching.md
msgid "Pattern Matching"
msgstr ""
msgstr "Шаблоны и сопоставление"
#: src/SUMMARY.md src/pattern-matching/match.md
msgid "Matching Values"
msgstr ""
msgstr "Сопоставление"
#: src/SUMMARY.md src/pattern-matching/destructuring.md
msgid "Destructuring"
msgstr ""
msgstr "Деструктуризация"
# Alternative: `Let` вместе с управляющими конструкциями
#: src/SUMMARY.md src/pattern-matching/let-control-flow.md
#, fuzzy
msgid "Let Control Flow"
msgstr "Поток управления"
msgstr "`Let` в потоке управления"
#: src/SUMMARY.md src/pattern-matching/exercise.md
msgid "Exercise: Expression Evaluation"
msgstr ""
msgstr "Упражнение: Вычисление выражения"
#: src/SUMMARY.md src/methods-and-traits.md
msgid "Methods and Traits"
msgstr ""
msgstr "Методы и типажи"
#: src/SUMMARY.md src/methods-and-traits/methods.md
msgid "Methods"
msgstr "Методы"
# rust-book has both `Типажи` and `Трейты` fixed
#: src/SUMMARY.md src/methods-and-traits/traits.md
msgid "Traits"
msgstr ""
msgstr "Типажи"
#: src/SUMMARY.md src/methods-and-traits/traits/implementing.md
msgid "Implementing Traits"
msgstr ""
msgstr "Реализация типажей"
#: src/SUMMARY.md src/methods-and-traits/traits/supertraits.md
msgid "Supertraits"
msgstr ""
msgstr "Супер-типажи"
#: src/SUMMARY.md src/methods-and-traits/traits/associated-types.md
#, fuzzy
@ -301,7 +320,7 @@ msgstr "Скалярные типы"
#: src/SUMMARY.md src/methods-and-traits/deriving.md
msgid "Deriving"
msgstr ""
msgstr "Наследование"
#: src/SUMMARY.md
msgid "Exercise: Generic Logger"
@ -309,183 +328,184 @@ msgstr ""
#: src/SUMMARY.md src/generics.md
msgid "Generics"
msgstr ""
msgstr "Обобщения"
#: src/SUMMARY.md src/generics/generic-functions.md
#, fuzzy
msgid "Generic Functions"
msgstr "Функции"
msgstr "Обобщённые функции"
#: src/SUMMARY.md src/generics/generic-data.md
msgid "Generic Data Types"
msgstr ""
msgstr "Обобщённые типы данных"
#: src/SUMMARY.md src/generics/generic-traits.md
#, fuzzy
msgid "Generic Traits"
msgstr "Обобщения (generics)."
msgstr "Обобщённые типажи"
#: src/SUMMARY.md src/generics/trait-bounds.md
msgid "Trait Bounds"
msgstr ""
msgstr "Ограничение типажа"
#: src/SUMMARY.md src/generics/impl-trait.md
msgid "`impl Trait`"
msgstr ""
msgstr "Синтаксис `impl`"
#: src/SUMMARY.md src/generics/exercise.md
msgid "Exercise: Generic `min`"
msgstr ""
msgstr "Упражнение: Обобщение `min`"
#: src/SUMMARY.md
msgid "Day 2: Afternoon"
msgstr "День 2: Вторая половина дня"
msgstr "День 2: После обеда"
#: src/SUMMARY.md src/std-types.md
msgid "Standard Library Types"
msgstr ""
msgstr "Стандартная библиотека: Типы"
#: src/SUMMARY.md src/std-types/std.md
msgid "Standard Library"
msgstr ""
msgstr "Стандартная библиотека"
#: src/SUMMARY.md src/std-types/docs.md
msgid "Documentation"
msgstr ""
msgstr "Документация"
#: src/SUMMARY.md
msgid "`Option`"
msgstr ""
msgstr "`Option`"
#: src/SUMMARY.md
msgid "`Result`"
msgstr ""
msgstr "`Result`"
#: src/SUMMARY.md src/android/aidl/types/primitives.md
#: src/android/interoperability/cpp/type-mapping.md
#, fuzzy
msgid "`String`"
msgstr "Строки"
msgstr "`String`"
#: src/SUMMARY.md src/std-types/vec.md
msgid "`Vec`"
msgstr ""
msgstr "`Vec`"
#: src/SUMMARY.md src/std-types/hashmap.md src/bare-metal/no_std.md
msgid "`HashMap`"
msgstr ""
msgstr "`HashMap`"
#: src/SUMMARY.md src/std-types/exercise.md
#, fuzzy
msgid "Exercise: Counter"
msgstr "Упражнения"
msgstr "Упражнение: Счётчик"
#: src/SUMMARY.md src/std-traits.md
msgid "Standard Library Traits"
msgstr ""
msgstr "Стандартная библиотека: Типажи"
#: src/SUMMARY.md src/std-traits/comparisons.md src/async.md
msgid "Comparisons"
msgstr ""
msgstr "Сравнения"
#: src/SUMMARY.md src/std-traits/operators.md
msgid "Operators"
msgstr ""
msgstr "Перегрузка операторов"
#: src/SUMMARY.md src/std-traits/from-and-into.md
msgid "`From` and `Into`"
msgstr ""
msgstr "`From` и `Into`"
#: src/SUMMARY.md src/std-traits/casting.md
msgid "Casting"
msgstr ""
msgstr "Преобразование типов"
#: src/SUMMARY.md src/std-traits/read-and-write.md
msgid "`Read` and `Write`"
msgstr ""
msgstr "`Read` и `Write`"
#: src/SUMMARY.md
msgid "`Default`, struct update syntax"
msgstr ""
msgstr "`Default`"
#: src/SUMMARY.md src/std-traits/closures.md
msgid "Closures"
msgstr ""
msgstr "Замыкания"
#: src/SUMMARY.md src/std-traits/exercise.md
#, fuzzy
msgid "Exercise: ROT13"
msgstr "Упражнения"
msgstr "Упражнение: Шифр ROT13"
#: src/SUMMARY.md
msgid "Day 3: Morning"
msgstr ""
msgstr "День 3: Утро"
#: src/SUMMARY.md src/memory-management.md
msgid "Memory Management"
msgstr ""
msgstr "Управление памятью"
#: src/SUMMARY.md src/memory-management/review.md
msgid "Review of Program Memory"
msgstr ""
msgstr "Куча и стек"
#: src/SUMMARY.md src/memory-management/approaches.md
msgid "Approaches to Memory Management"
msgstr ""
msgstr "Подходы к управлению памятью"
#: src/SUMMARY.md src/memory-management/ownership.md
msgid "Ownership"
msgstr ""
msgstr "Владение"
#: src/SUMMARY.md src/memory-management/move.md
msgid "Move Semantics"
msgstr ""
msgstr "Перемещение"
#: src/SUMMARY.md
msgid "`Clone`"
msgstr ""
msgstr "Клонирование"
#: src/SUMMARY.md src/memory-management/copy-types.md
#, fuzzy
msgid "Copy Types"
msgstr "Составные типы"
msgstr "Копируемые типы"
#: src/SUMMARY.md
msgid "`Drop`"
msgstr ""
msgstr "Типаж `Drop`"
# Alternatives, based on common Design Patterns translations:
# Паттерн Строитель, Паттерн Builder, Тип Строитель
#: src/SUMMARY.md src/memory-management/exercise.md
msgid "Exercise: Builder Type"
msgstr ""
msgstr "Упражнение: Тип-построитель"
#: src/SUMMARY.md src/smart-pointers.md
msgid "Smart Pointers"
msgstr ""
msgstr "Умные указатели"
#: src/SUMMARY.md src/smart-pointers/box.md
#: src/android/interoperability/cpp/type-mapping.md
msgid "`Box<T>`"
msgstr ""
msgstr "`Box<T>`"
#: src/SUMMARY.md src/smart-pointers/rc.md
msgid "`Rc`"
msgstr ""
msgstr "`Rc`"
# Straightforward translation does little help.
# Explanatory should include verbs and is hard to fit in less than three-four words.
# So the Polymorphism was chosen.
# The section shows how Rust handles it in pointers context.
#: src/SUMMARY.md src/smart-pointers/trait-objects.md
msgid "Trait Objects"
msgstr ""
msgstr "Полиморфизм"
#: src/SUMMARY.md src/smart-pointers/exercise.md
msgid "Exercise: Binary Tree"
msgstr ""
msgstr "Упражнение: Двоичное дерево"
#: src/SUMMARY.md
msgid "Day 3: Afternoon"
msgstr ""
msgstr "День 3: После обеда"
#: src/SUMMARY.md src/borrowing.md
msgid "Borrowing"
msgstr ""
msgstr "Заимствование"
#: src/SUMMARY.md src/borrowing/shared.md
msgid "Borrowing a Value"
@ -526,7 +546,7 @@ msgstr ""
#: src/SUMMARY.md
#, fuzzy
msgid "Day 4: Morning"
msgstr "День 1: Утро"
msgstr "День 4: Утро"
#: src/SUMMARY.md src/iterators.md
msgid "Iterators"
@ -591,7 +611,7 @@ msgstr ""
#: src/SUMMARY.md
#, fuzzy
msgid "Day 4: Afternoon"
msgstr "День 2: Вторая половина дня"
msgstr "День 4: После обеда"
#: src/SUMMARY.md src/error-handling.md
msgid "Error Handling"
@ -965,7 +985,7 @@ msgstr "Упражнения"
#: src/SUMMARY.md
msgid "Bare Metal: Morning"
msgstr ""
msgstr "Bare Metal: Утро"
#: src/SUMMARY.md src/bare-metal/no_std.md
msgid "`no_std`"
@ -1030,7 +1050,7 @@ msgstr ""
#: src/SUMMARY.md
msgid "Bare Metal: Afternoon"
msgstr ""
msgstr "Bare Metal: После обеда"
#: src/SUMMARY.md
msgid "Application Processors"
@ -1114,7 +1134,7 @@ msgstr ""
#: src/SUMMARY.md
msgid "Concurrency: Morning"
msgstr ""
msgstr "Concurrency: Утро"
#: src/SUMMARY.md src/concurrency/threads.md
msgid "Threads"
@ -1181,7 +1201,7 @@ msgstr ""
#: src/SUMMARY.md
msgid "Concurrency: Afternoon"
msgstr ""
msgstr "Concurrency: После обеда"
#: src/SUMMARY.md
msgid "Async Basics"
@ -5652,7 +5672,7 @@ msgstr ""
#: src/methods-and-traits/exercise.md
#, fuzzy
msgid "Exercise: Logger Trait"
msgstr "Упражнения"
msgstr "Упражнение: Журнал событий"
#: src/methods-and-traits/exercise.md
msgid ""