diff --git a/po/fa.po b/po/fa.po index f13cb695b8f..263355b2150 100644 --- a/po/fa.po +++ b/po/fa.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Comprehensive Rust 🦀\n" "POT-Creation-Date: 2024-09-11T22:10:46Z\n" -"PO-Revision-Date: 2024-09-13 00:14+0330\n" +"PO-Revision-Date: 2024-09-13 23:14+0330\n" "Last-Translator: alix1383 \n" "Language-Team: Persian\n" "Language: fa\n" @@ -566,7 +566,7 @@ msgstr "" #: src/SUMMARY.md msgid "`FromIterator`" -msgstr "" +msgstr "`FromIterator`" #: src/SUMMARY.md src/iterators.md src/iterators/exercise.md msgid "Exercise: Iterator Method Chaining" @@ -637,7 +637,7 @@ msgstr "" #: src/SUMMARY.md msgid "`Error` Trait" -msgstr "" +msgstr "`Error` Trait" #: src/SUMMARY.md src/error-handling/thiserror-and-anyhow.md msgid "`thiserror` and `anyhow`" @@ -1009,7 +1009,7 @@ msgstr "یک مثال ساده" #: src/SUMMARY.md src/bare-metal/no_std.md src/bare-metal/alloc.md msgid "`alloc`" -msgstr "" +msgstr "`alloc`" #: src/SUMMARY.md src/bare-metal/microcontrollers.md msgid "Microcontrollers" @@ -1126,7 +1126,7 @@ msgstr "" #: src/SUMMARY.md src/bare-metal/useful-crates/aarch64-paging.md msgid "`aarch64-paging`" -msgstr "" +msgstr "`aarch64-paging`" #: src/SUMMARY.md src/bare-metal/useful-crates/buddy_system_allocator.md msgid "`buddy_system_allocator`" @@ -1355,6 +1355,14 @@ msgid "" "io/github/stars/google/comprehensive-rust?style=flat-square)](https://github." "com/google/comprehensive-rust/stargazers)" msgstr "" +"[![Build workflow](https://img.shields.io/github/actions/workflow/status/" +"google/comprehensive-rust/build.yml?style=flat-square)](https://github.com/" +"google/comprehensive-rust/actions/workflows/build.yml?query=branch%3Amain) [!" +"[GitHub contributors](https://img.shields.io/github/contributors/google/" +"comprehensive-rust?style=flat-square)](https://github.com/google/" +"comprehensive-rust/graphs/contributors) [![GitHub stars](https://img.shields." +"io/github/stars/google/comprehensive-rust?style=flat-square)](https://github." +"com/google/comprehensive-rust/stargazers)" #: src/index.md msgid "" @@ -3009,7 +3017,7 @@ msgstr "" #: src/types-and-values/hello-world.md msgid "\"Hello 🌍!\"" -msgstr "\"Hello 🌍!\"" +msgstr "\"سلام 🌍!\"" #: src/types-and-values/hello-world.md msgid "What you see:" @@ -3366,9 +3374,8 @@ msgid "// The base case.\n" msgstr "//حالت پایه\n" #: src/types-and-values/exercise.md src/control-flow-basics/exercise.md -#, fuzzy msgid "\"Implement this\"" -msgstr "پیاده سازی" +msgstr "\"این را پیاده‌سازی کن\"" #: src/types-and-values/exercise.md msgid "// The recursive case.\n" @@ -3405,7 +3412,7 @@ msgstr "" #: src/control-flow-basics/if.md msgid "\"zero!\"" -msgstr "\"zero!\"" +msgstr "\"صفر!\"" #: src/control-flow-basics/if.md msgid "\"biggish\"" @@ -4084,7 +4091,7 @@ msgstr "\"matrix: {:#?}\"" #: src/tuples-and-arrays/exercise.md src/tuples-and-arrays/solution.md msgid "\"transposed: {:#?}\"" -msgstr "\"transposed: {:#?}\"" +msgstr "\"جابجا شده است: {:#?}\"" #: src/references.md src/smart-pointers.md src/borrowing.md #: src/concurrency/async-pitfalls.md @@ -4327,7 +4334,7 @@ msgstr "`str&` تکه‌ای از بایت‌های رمزگذاری‌شده UT #: src/references/strings.md src/std-traits/read-and-write.md msgid "\"World\"" -msgstr "\"World\"" +msgstr "\"دنیا\"" #: src/references/strings.md msgid "\"s1: {s1}\"" @@ -4335,7 +4342,7 @@ msgstr "\"s1: {s1}\"" #: src/references/strings.md msgid "\"Hello \"" -msgstr "\"Hello \"" +msgstr "\"سلام\"" #: src/references/strings.md src/memory-management/move.md msgid "\"s2: {s2}\"" @@ -4589,7 +4596,7 @@ msgstr "\"از یک دانشمند حوزه موشک در ناسا بپرس\"" #: src/bare-metal/microcontrollers/type-state.md #: src/concurrency/async-pitfalls/cancellation.md msgid "// ...\n" -msgstr "" +msgstr "// ...\n" #: src/user-defined-types/tuple-structs.md msgid "" @@ -4638,16 +4645,19 @@ msgstr "" "است:" #: src/user-defined-types/enums.md +#, fuzzy msgid "// Simple variant\n" -msgstr "" +msgstr "// Simple variant\n" #: src/user-defined-types/enums.md +#, fuzzy msgid "// Tuple variant\n" -msgstr "" +msgstr "// Tuple variant\n" #: src/user-defined-types/enums.md +#, fuzzy msgid "// Struct variant\n" -msgstr "" +msgstr "// Struct variant\n" #: src/user-defined-types/enums.md msgid "\"On this turn: {:?}\"" @@ -4819,9 +4829,8 @@ msgstr "" "نمی‌شوند:" #: src/user-defined-types/static.md -#, fuzzy msgid "\"Welcome to RustOS 3.14\"" -msgstr "به روز ۱ خوش آمدید" +msgstr "\"به RustOS 3.14 خوش آمدید\"" #: src/user-defined-types/static.md msgid "\"{BANNER}\"" @@ -4887,8 +4896,9 @@ msgid "" msgstr "" #: src/user-defined-types/aliases.md +#, fuzzy msgid "// Aliases are more useful with long, complex types:\n" -msgstr "" +msgstr "// Aliases are more useful with long, complex types:\n" #: src/user-defined-types/aliases.md msgid "C programmers will recognize this as similar to a `typedef`." @@ -4910,39 +4920,50 @@ msgid "" msgstr "" #: src/user-defined-types/exercise.md src/user-defined-types/solution.md +#, fuzzy msgid "" "/// An event in the elevator system that the controller must react to.\n" msgstr "" +"/// An event in the elevator system that the controller must react to.\n" #: src/user-defined-types/exercise.md +#, fuzzy msgid "// TODO: add required variants\n" -msgstr "" +msgstr "// TODO: add required variants\n" #: src/user-defined-types/exercise.md src/user-defined-types/solution.md +#, fuzzy msgid "/// A direction of travel.\n" -msgstr "" +msgstr "/// A direction of travel.\n" #: src/user-defined-types/exercise.md src/user-defined-types/solution.md +#, fuzzy msgid "/// The car has arrived on the given floor.\n" -msgstr "" +msgstr "/// The car has arrived on the given floor.\n" #: src/user-defined-types/exercise.md src/user-defined-types/solution.md +#, fuzzy msgid "/// The car doors have opened.\n" -msgstr "" +msgstr "/// The car doors have opened.\n" #: src/user-defined-types/exercise.md src/user-defined-types/solution.md +#, fuzzy msgid "/// The car doors have closed.\n" -msgstr "" +msgstr "/// The car doors have closed.\n" #: src/user-defined-types/exercise.md src/user-defined-types/solution.md +#, fuzzy msgid "" "/// A directional button was pressed in an elevator lobby on the given " "floor.\n" msgstr "" +"/// A directional button was pressed in an elevator lobby on the given " +"floor.\n" #: src/user-defined-types/exercise.md src/user-defined-types/solution.md +#, fuzzy msgid "/// A floor button was pressed in the elevator car.\n" -msgstr "" +msgstr "/// A floor button was pressed in the elevator car.\n" #: src/user-defined-types/exercise.md src/user-defined-types/solution.md #, fuzzy @@ -4951,11 +4972,11 @@ msgstr "\"یک مسافر طبقه همکف دکمه بالا را فشار دا #: src/user-defined-types/exercise.md src/user-defined-types/solution.md msgid "\"The car has arrived on the ground floor: {:?}\"" -msgstr "" +msgstr "\"ماشین به طبقه همکف رسیده است: {:?}\"" #: src/user-defined-types/exercise.md src/user-defined-types/solution.md msgid "\"The car door opened: {:?}\"" -msgstr "" +msgstr "\"در ماشین باز شد: {:?}\"" #: src/user-defined-types/exercise.md src/user-defined-types/solution.md msgid "\"A passenger has pressed the 3rd floor button: {:?}\"" @@ -4963,43 +4984,51 @@ msgstr "\"یک مسافر دکمه طبقه 3 را فشار داده است: {:? #: src/user-defined-types/exercise.md src/user-defined-types/solution.md msgid "\"The car door closed: {:?}\"" -msgstr "" +msgstr "\"در ماشین بسته شد: {:?}\"" #: src/user-defined-types/exercise.md src/user-defined-types/solution.md msgid "\"The car has arrived on the 3rd floor: {:?}\"" -msgstr "" +msgstr "\"ماشین به طبقه ۳ رسیده است: {:?}\"" #: src/user-defined-types/solution.md +#, fuzzy msgid "/// A button was pressed.\n" -msgstr "" +msgstr "/// A button was pressed.\n" #: src/user-defined-types/solution.md +#, fuzzy msgid "/// The car has arrived at the given floor.\n" -msgstr "" +msgstr "/// The car has arrived at the given floor.\n" #: src/user-defined-types/solution.md +#, fuzzy msgid "/// The car's doors have opened.\n" -msgstr "" +msgstr "/// The car's doors have opened.\n" #: src/user-defined-types/solution.md +#, fuzzy msgid "/// The car's doors have closed.\n" -msgstr "" +msgstr "/// The car's doors have closed.\n" #: src/user-defined-types/solution.md +#, fuzzy msgid "/// A floor is represented as an integer.\n" -msgstr "" +msgstr "/// A floor is represented as an integer.\n" #: src/user-defined-types/solution.md +#, fuzzy msgid "/// A user-accessible button.\n" -msgstr "" +msgstr "/// A user-accessible button.\n" #: src/user-defined-types/solution.md +#, fuzzy msgid "/// A button in the elevator lobby on the given floor.\n" -msgstr "" +msgstr "/// A button in the elevator lobby on the given floor.\n" #: src/user-defined-types/solution.md +#, fuzzy msgid "/// A floor button within the car.\n" -msgstr "" +msgstr "/// A floor button within the car.\n" #: src/welcome-day-2.md msgid "Welcome to Day 2" @@ -5062,11 +5091,11 @@ msgstr "الگوها می توانند مقادیر ساده ای باشند، #: src/pattern-matching/match.md msgid "'x'" -msgstr "" +msgstr "'x'" #: src/pattern-matching/match.md msgid "'q'" -msgstr "" +msgstr "'q'" #: src/pattern-matching/match.md msgid "\"Quitting\"" @@ -5076,19 +5105,19 @@ msgstr "\"ترک کردن\"" #: src/generics/solution.md src/std-traits/solution.md #: src/error-handling/exercise.md src/error-handling/solution.md msgid "'a'" -msgstr "" +msgstr "'a'" #: src/pattern-matching/match.md msgid "'s'" -msgstr "" +msgstr "'s'" #: src/pattern-matching/match.md msgid "'w'" -msgstr "" +msgstr "'w'" #: src/pattern-matching/match.md msgid "'d'" -msgstr "" +msgstr "'d'" #: src/pattern-matching/match.md msgid "\"Moving around\"" @@ -5097,12 +5126,12 @@ msgstr "\"حرکت در اطراف\"" #: src/pattern-matching/match.md src/error-handling/exercise.md #: src/error-handling/solution.md msgid "'0'" -msgstr "" +msgstr "'0'" #: src/pattern-matching/match.md src/error-handling/exercise.md #: src/error-handling/solution.md msgid "'9'" -msgstr "" +msgstr "'9'" #: src/pattern-matching/match.md msgid "\"Number input\"" @@ -5114,7 +5143,7 @@ msgstr "\"حروف کوچک: {key}\"" #: src/pattern-matching/match.md msgid "\"Something else\"" -msgstr "" +msgstr "\"یک چیز دیگر\"" #: src/pattern-matching/match.md msgid "" @@ -5211,7 +5240,7 @@ msgstr "مانند tuple ها، ساختار را نیز می توان با تط #: src/pattern-matching/destructuring-structs.md msgid "\"x.0 = 1, b = {b}, y = {y}\"" -msgstr "" +msgstr "\"x.0 = 1, b = {b}, y = {y}\"" #: src/pattern-matching/destructuring-structs.md msgid "\"y = 2, x = {i:?}\"" @@ -5219,7 +5248,7 @@ msgstr "" #: src/pattern-matching/destructuring-structs.md msgid "\"y = {y}, other fields were ignored\"" -msgstr "" +msgstr "\"در y = {y} ، سایر فیلدها نادیده گرفته شدند\"" #: src/pattern-matching/destructuring-structs.md msgid "Change the literal values in `foo` to match with the other patterns." @@ -5263,7 +5292,7 @@ msgstr "\"{n} تقسیم به دو است {half}\"" #: src/pattern-matching/destructuring-enums.md msgid "\"sorry, an error happened: {msg}\"" -msgstr "" +msgstr "\"با عرض‌پوزش، خطایی رخ داده است: {msg}\"" #: src/pattern-matching/destructuring-enums.md msgid "" @@ -5357,8 +5386,9 @@ msgstr "" "یک الگو مطابقت دارد، کدهای مختلفی را اجرا کنید:" #: src/pattern-matching/let-control-flow.md +#, fuzzy msgid "\"slept for {:?}\"" -msgstr "" +msgstr "\"slept for {:?}\"" #: src/pattern-matching/let-control-flow.md msgid "" @@ -5382,7 +5412,7 @@ msgstr "\"یک string خالی دریافت کردم\"" #: src/pattern-matching/let-control-flow.md msgid "\"got None\"" -msgstr "" +msgstr "\"هیچ‌کدام\"" #: src/pattern-matching/let-control-flow.md src/pattern-matching/solution.md msgid "\"result: {:?}\"" @@ -5535,20 +5565,24 @@ msgstr "" "panic مدیریت کنید؟" #: src/pattern-matching/exercise.md src/pattern-matching/solution.md +#, fuzzy msgid "/// An operation to perform on two subexpressions.\n" -msgstr "" +msgstr "/// An operation to perform on two subexpressions.\n" #: src/pattern-matching/exercise.md src/pattern-matching/solution.md +#, fuzzy msgid "/// An expression, in tree form.\n" -msgstr "" +msgstr "/// An expression, in tree form.\n" #: src/pattern-matching/exercise.md src/pattern-matching/solution.md +#, fuzzy msgid "/// An operation on two subexpressions.\n" -msgstr "" +msgstr "/// An operation on two subexpressions.\n" #: src/pattern-matching/exercise.md src/pattern-matching/solution.md +#, fuzzy msgid "/// A literal value\n" -msgstr "" +msgstr "/// A literal value\n" #: src/pattern-matching/exercise.md src/pattern-matching/solution.md msgid "\"division by zero\"" @@ -5567,29 +5601,32 @@ msgstr "" "کار را با استفاده از بلوک `impl` انجام می‌دهید:" #: src/methods-and-traits/methods.md +#, fuzzy msgid "// No receiver, a static method\n" -msgstr "" +msgstr "// No receiver, a static method\n" #: src/methods-and-traits/methods.md +#, fuzzy msgid "// Exclusive borrowed read-write access to self\n" -msgstr "" +msgstr "// Exclusive borrowed read-write access to self\n" #: src/methods-and-traits/methods.md +#, fuzzy msgid "// Shared and read-only borrowed access to self\n" -msgstr "" +msgstr "// Shared and read-only borrowed access to self\n" #: src/methods-and-traits/methods.md msgid "\"Recorded {} laps for {}:\"" msgstr "\"ضبط {} دور برای {}:\"" #: src/methods-and-traits/methods.md -#, fuzzy msgid "\"Lap {idx}: {lap} sec\"" msgstr "\"Lap {idx}: {lap} sec\"" #: src/methods-and-traits/methods.md +#, fuzzy msgid "// Exclusive ownership of self\n" -msgstr "" +msgstr "// Exclusive ownership of self\n" #: src/methods-and-traits/methods.md msgid "\"Race {} is finished, total lap time: {}\"" @@ -5729,12 +5766,14 @@ msgstr "" "ایجاد کنید. آنها مشابه interface ها هستند:" #: src/methods-and-traits/traits.md +#, fuzzy msgid "/// Return a sentence from this pet.\n" -msgstr "" +msgstr "/// Return a sentence from this pet.\n" #: src/methods-and-traits/traits.md +#, fuzzy msgid "/// Print a string to the terminal greeting this pet.\n" -msgstr "" +msgstr "/// Print a string to the terminal greeting this pet.\n" #: src/methods-and-traits/traits.md msgid "" @@ -5759,7 +5798,7 @@ msgstr "\"اوه تو چثدر زیبا هستی! اسمت چیه؟ {}\"" #: src/methods-and-traits/traits/implementing.md src/generics/dyn-trait.md #: src/smart-pointers/trait-objects.md msgid "\"Woof, my name is {}!\"" -msgstr "" +msgstr "\" Woof، نام من {} است!\"" #: src/methods-and-traits/traits/implementing.md src/generics/dyn-trait.md #: src/smart-pointers/trait-objects.md @@ -5859,20 +5898,23 @@ msgstr "" "شوند، به شرح زیر:" #: src/methods-and-traits/deriving.md +#, fuzzy msgid "// Default trait adds `default` constructor.\n" -msgstr "" +msgstr "// Default trait adds `default` constructor.\n" #: src/methods-and-traits/deriving.md +#, fuzzy msgid "// Clone trait adds `clone` method.\n" -msgstr "" +msgstr "// Clone trait adds `clone` method.\n" #: src/methods-and-traits/deriving.md msgid "\"EldurScrollz\"" msgstr "\"dog\"" #: src/methods-and-traits/deriving.md +#, fuzzy msgid "// Debug trait adds support for printing with `{:?}`.\n" -msgstr "" +msgstr "// Debug trait adds support for printing with `{:?}`.\n" #: src/methods-and-traits/deriving.md msgid "\"{:?} vs. {:?}\"" @@ -5927,12 +5969,13 @@ msgstr "" "نوع‌های دیگری از پوشش‌دهنده‌ها ممکن است در یک ابزار لاگ مفید باشند؟" #: src/methods-and-traits/exercise.md src/methods-and-traits/solution.md +#, fuzzy msgid "/// Log a message at the given verbosity level.\n" -msgstr "" +msgstr "/// Log a message at the given verbosity level.\n" #: src/methods-and-traits/exercise.md src/methods-and-traits/solution.md msgid "\"verbosity={verbosity}: {message}\"" -msgstr "" +msgstr "\"اطلاعات بیشتر={verbosity}: {message}\"" #: src/methods-and-traits/exercise.md src/methods-and-traits/solution.md msgid "\"FYI\"" @@ -5940,15 +5983,17 @@ msgstr "\"FYI\"" #: src/methods-and-traits/exercise.md src/methods-and-traits/solution.md msgid "\"Uhoh\"" -msgstr "" +msgstr "\"اوهو\"" #: src/methods-and-traits/exercise.md +#, fuzzy msgid "// TODO: Define and implement `VerbosityFilter`.\n" -msgstr "" +msgstr "// TODO: Define and implement `VerbosityFilter`.\n" #: src/methods-and-traits/solution.md +#, fuzzy msgid "/// Only log messages up to the given verbosity level.\n" -msgstr "" +msgstr "/// Only log messages up to the given verbosity level.\n" #: src/welcome-day-2-afternoon.md msgid "" @@ -5984,8 +6029,9 @@ msgstr "" "یا ذخیره‌شده تخصیص دهید." #: src/generics/generic-functions.md +#, fuzzy msgid "/// Pick `even` or `odd` depending on the value of `n`.\n" -msgstr "" +msgstr "/// Pick `even` or `odd` depending on the value of `n`.\n" #: src/generics/generic-functions.md msgid "\"picked a number: {:?}\"" @@ -6166,8 +6212,9 @@ msgstr "" "می‌توانید این کار را با استفاده از `T: Trait` یا `impl Trait` انجام دهید:" #: src/generics/trait-bounds.md +#, fuzzy msgid "// struct NotClonable;\n" -msgstr "" +msgstr "// struct NotClonable;\n" #: src/generics/trait-bounds.md msgid "\"{pair:?}\"" @@ -6223,10 +6270,13 @@ msgstr "" "و مقادیر بازگشتی استفاده کرد:" #: src/generics/impl-trait.md +#, fuzzy msgid "" "// Syntactic sugar for:\n" "// fn add_42_millions>(x: T) -> i32 {\n" msgstr "" +"// Syntactic sugar for:\n" +"// fn add_42_millions>(x: T) -> i32 {\n" #: src/generics/impl-trait.md msgid "\"{many}\"" @@ -6238,7 +6288,7 @@ msgstr "\"{many_more}\"" #: src/generics/impl-trait.md msgid "\"debuggable: {debuggable:?}\"" -msgstr "" +msgstr "\"قابل دیباگ: {debuggable:?}\"" #: src/generics/impl-trait.md msgid "" @@ -6304,16 +6354,18 @@ msgid "\"Miau!\"" msgstr "\"Miau!\"" #: src/generics/dyn-trait.md +#, fuzzy msgid "// Uses generics and static dispatch.\n" -msgstr "" +msgstr "// Use the system timer as a delay provider.\n" #: src/generics/dyn-trait.md src/smart-pointers/trait-objects.md msgid "\"Hello, who are you? {}\"" msgstr "\"سلام، شما کی هستید؟ {}\"" #: src/generics/dyn-trait.md +#, fuzzy msgid "// Uses type-erasure and dynamic dispatch.\n" -msgstr "" +msgstr "// Uses type-erasure and dynamic dispatch.\n" #: src/generics/dyn-trait.md msgid "" @@ -6392,21 +6444,22 @@ msgstr "" "rust-lang.org/stable/std/cmp/trait.Ord.html)." #: src/generics/exercise.md +#, fuzzy msgid "// TODO: implement the `min` function used in `main`.\n" -msgstr "" +msgstr "// TODO: implement the `min` function used in `main`.\n" #: src/generics/exercise.md src/generics/solution.md #: src/error-handling/exercise.md src/error-handling/solution.md msgid "'z'" -msgstr "" +msgstr "'z'" #: src/generics/exercise.md src/generics/solution.md msgid "'7'" -msgstr "" +msgstr "'7'" #: src/generics/exercise.md src/generics/solution.md msgid "'1'" -msgstr "" +msgstr "'1'" #: src/generics/exercise.md src/generics/solution.md msgid "\"goodbye\"" @@ -6535,12 +6588,17 @@ msgid "In fact, you can document your own code:" msgstr "در واقع، شما می‌توانید کد خود را مستند کنید:" #: src/std-types/docs.md +#, fuzzy msgid "" "/// Determine whether the first argument is divisible by the second " "argument.\n" "///\n" "/// If the second argument is zero, the result is false.\n" msgstr "" +"/// Determine whether the first argument is divisible by the second " +"argument.\n" +"///\n" +"/// If the second argument is zero, the result is false.\n" #: src/std-types/docs.md msgid "" @@ -6564,10 +6622,13 @@ msgstr "" "`/* .. !*/` استفاده کنید که به آن \"کامنت‌های مستندات داخلی\" می‌گویند:" #: src/std-types/docs.md +#, fuzzy msgid "" "//! This module contains functionality relating to divisibility of " "integers.\n" msgstr "" +"//! This module contains functionality relating to divisibility of " +"integers.\n" #: src/std-types/docs.md msgid "" @@ -6602,7 +6663,7 @@ msgstr "\"پیدا کردن نوع بازگشتی{position:?}\"" #: src/std-types/option.md msgid "'Z'" -msgstr "" +msgstr "'Z'" #: src/std-types/option.md msgid "\"Character not found\"" @@ -6670,7 +6731,7 @@ msgstr "\"نمی‌توان محتوای فایل را خواند\"" #: src/std-types/result.md src/error-handling/result.md msgid "\"The diary could not be opened: {err}\"" -msgstr "" +msgstr "\"دفتر خاطرات باز نشد: {err}\"" #: src/std-types/result.md msgid "" @@ -6722,7 +6783,7 @@ msgstr "\"s1: len = {}, capacity = {}\"" #: src/std-types/string.md msgid "'!'" -msgstr "" +msgstr "'!'" #: src/std-types/string.md msgid "\"s2: len = {}, capacity = {}\"" @@ -6862,27 +6923,30 @@ msgstr "" #: src/std-types/vec.md msgid "\"v1: len = {}, capacity = {}\"" -msgstr "" +msgstr "\"v1: len = {}, capacity = {}\"" #: src/std-types/vec.md msgid "\"v2: len = {}, capacity = {}\"" -msgstr "" +msgstr "\"v2: len = {}, capacity = {}\"" #: src/std-types/vec.md +#, fuzzy msgid "// Canonical macro to initialize a vector with elements.\n" -msgstr "" +msgstr "// Canonical macro to initialize a vector with elements.\n" #: src/std-types/vec.md +#, fuzzy msgid "// Retain only the even elements.\n" -msgstr "" +msgstr "// Retain only the even elements.\n" #: src/std-types/vec.md msgid "\"{v3:?}\"" msgstr "\"{v3:?}\"" #: src/std-types/vec.md +#, fuzzy msgid "// Remove consecutive duplicates.\n" -msgstr "" +msgstr "// Remove consecutive duplicates.\n" #: src/std-types/vec.md msgid "" @@ -6962,7 +7026,7 @@ msgstr "\"Les Misérables\"" #: src/std-types/hashmap.md msgid "\"We know about {} books, but not Les Misérables.\"" -msgstr "" +msgstr "\"ما درباره {} کتاب می دانیم، اما Les Misérables نه.\"" #: src/std-types/hashmap.md msgid "\"Alice's Adventure in Wonderland\"" @@ -6977,8 +7041,9 @@ msgid "\"{book} is unknown.\"" msgstr "\"{book} ناشناخته است.\"" #: src/std-types/hashmap.md +#, fuzzy msgid "// Use the .entry() method to insert a value if nothing is found.\n" -msgstr "" +msgstr "// Use the .entry() method to insert a value if nothing is found.\n" #: src/std-types/hashmap.md msgid "\"{page_counts:#?}\"" @@ -7005,7 +7070,7 @@ msgstr "\"هری پاتر و سنگ جادو\"" #: src/std-types/hashmap.md msgid "\"The Hunger Games\"" -msgstr "" +msgstr "\"The Hunger Games\"" #: src/std-types/hashmap.md msgid "Unlike `vec!`, there is unfortunately no standard `hashmap!` macro." @@ -7094,25 +7159,30 @@ msgstr "" "تعداد جستجوهای هش مورد نیاز برای پیاده‌سازی متد `count` را به نصف کاهش دهید." #: src/std-types/exercise.md src/std-types/solution.md +#, fuzzy msgid "" "/// Counter counts the number of times each value of type T has been seen.\n" msgstr "" +"/// Counter counts the number of times each value of type T has been seen.\n" #: src/std-types/exercise.md src/std-types/solution.md +#, fuzzy msgid "/// Create a new Counter.\n" -msgstr "" +msgstr "/// Create a new Counter.\n" #: src/std-types/exercise.md src/std-types/solution.md +#, fuzzy msgid "/// Count an occurrence of the given value.\n" -msgstr "" +msgstr "/// Count an occurrence of the given value.\n" #: src/std-types/exercise.md src/std-types/solution.md +#, fuzzy msgid "/// Return the number of times the given value has been seen.\n" -msgstr "" +msgstr "/// Return the number of times the given value has been seen.\n" #: src/std-types/exercise.md src/std-types/solution.md msgid "\"saw {} values equal to {}\"" -msgstr "" +msgstr "\"مقادیر {} برابر با {} را دیده‌شده\"" #: src/std-types/exercise.md src/std-types/solution.md msgid "\"apple\"" @@ -7470,8 +7540,9 @@ msgid "\"{default_struct:#?}\"" msgstr "\"{default_struct:#?}\"" #: src/std-traits/default.md +#, fuzzy msgid "\"Y is set!\"" -msgstr "\"Y is set!\"" +msgstr "\" مقدار Y وارد شده است!\"" #: src/std-traits/default.md msgid "\"{almost_default_struct:#?}\"" @@ -7556,9 +7627,8 @@ msgid "\"add_3\"" msgstr "\"add_3: {}\"" #: src/std-traits/closures.md -#, fuzzy msgid "\"accumulate\"" -msgstr "\"accumulate: {}\"" +msgstr "\"تجمیع: {}\"" #: src/std-traits/closures.md #, fuzzy @@ -8045,6 +8115,26 @@ msgid "" "`- - - - - - - - - - - - - -'\n" "```" msgstr "" +"```bob\n" +" Stack Heap\n" +".- - - - - - - - - - - - - -. .- - - - - - - - - - - - - - - - - - -.\n" +": : : :\n" +": s1 \"(inaccessible)\" : : :\n" +": +-----------+-------+ : : +----+----+----+----+----+----+ :\n" +": | ptr | o---+---+--+--+-->| H | e | l | l | o | ! | :\n" +": | len | 6 | : | : +----+----+----+----+----+----+ :\n" +": | capacity | 6 | : | : :\n" +": +-----------+-------+ : | : :\n" +": : | `- - - - - - - - - - - - - - - - - - -'\n" +": s2 : |\n" +": +-----------+-------+ : |\n" +": | ptr | o---+---+--'\n" +": | len | 6 | :\n" +": | capacity | 6 | :\n" +": +-----------+-------+ :\n" +": :\n" +"`- - - - - - - - - - - - - -'\n" +"```" #: src/memory-management/move.md msgid "" @@ -8470,51 +8560,61 @@ msgid "Fill in the missing pieces." msgstr "جا‌های خالی را پر کنید." #: src/memory-management/exercise.md src/memory-management/solution.md +#, fuzzy msgid "/// A representation of a software package.\n" -msgstr "" +msgstr "/// A representation of a software package.\n" #: src/memory-management/exercise.md src/memory-management/solution.md +#, fuzzy msgid "" "/// Return a representation of this package as a dependency, for use in\n" " /// building other packages.\n" msgstr "" +"/// Return a representation of this package as a dependency, for use in\n" +" /// building other packages.\n" #: src/memory-management/exercise.md msgid "\"1\"" -msgstr "" +msgstr "\"1\"" #: src/memory-management/exercise.md src/memory-management/solution.md +#, fuzzy msgid "" "/// A builder for a Package. Use `build()` to create the `Package` itself.\n" msgstr "" +"/// A builder for a Package. Use `build()` to create the `Package` itself.\n" #: src/memory-management/exercise.md msgid "\"2\"" msgstr "\"2\"" #: src/memory-management/exercise.md src/memory-management/solution.md +#, fuzzy msgid "/// Set the package version.\n" -msgstr "" +msgstr "/// Set the package version.\n" #: src/memory-management/exercise.md src/memory-management/solution.md +#, fuzzy msgid "/// Set the package authors.\n" -msgstr "" +msgstr "/// Set the package authors.\n" #: src/memory-management/exercise.md msgid "\"3\"" msgstr "\"3\"" #: src/memory-management/exercise.md src/memory-management/solution.md +#, fuzzy msgid "/// Add an additional dependency.\n" -msgstr "" +msgstr "/// Add an additional dependency.\n" #: src/memory-management/exercise.md msgid "\"4\"" msgstr "\"4\"" #: src/memory-management/exercise.md src/memory-management/solution.md +#, fuzzy msgid "/// Set the language. If not set, language defaults to None.\n" -msgstr "" +msgstr "/// Set the language. If not set, language defaults to None.\n" #: src/memory-management/exercise.md msgid "\"5\"" @@ -8526,7 +8626,7 @@ msgstr "\"base64: {base64:?}\"" #: src/memory-management/exercise.md src/memory-management/solution.md msgid "\"0.13\"" -msgstr "" +msgstr "\"0.13\"" #: src/memory-management/exercise.md src/memory-management/solution.md msgid "\"base64: {base64:?}\"" @@ -8538,7 +8638,7 @@ msgstr "\"log\"" #: src/memory-management/exercise.md src/memory-management/solution.md msgid "\"0.4\"" -msgstr "" +msgstr "\"0.4\"" #: src/memory-management/exercise.md src/memory-management/solution.md msgid "\"log: {log:?}\"" @@ -8546,7 +8646,7 @@ msgstr "\"log: {log:?}\"" #: src/memory-management/exercise.md src/memory-management/solution.md msgid "\"serde\"" -msgstr "" +msgstr "\"serde\"" #: src/memory-management/exercise.md src/memory-management/solution.md msgid "\"djmitche\"" @@ -8558,11 +8658,11 @@ msgstr "\"4.0\"" #: src/memory-management/exercise.md src/memory-management/solution.md msgid "\"serde: {serde:?}\"" -msgstr "" +msgstr "\"serde: {serde:?}\"" #: src/memory-management/solution.md msgid "\"0.1\"" -msgstr "" +msgstr "\"0.1\"" #: src/smart-pointers.md msgid "Box" @@ -8604,12 +8704,14 @@ msgstr "" "`Box` دارند:" #: src/smart-pointers/box.md +#, fuzzy msgid "/// A non-empty list: first element and the rest of the list.\n" -msgstr "" +msgstr "/// A non-empty list: first element and the rest of the list.\n" #: src/smart-pointers/box.md +#, fuzzy msgid "/// An empty list.\n" -msgstr "" +msgstr "/// An empty list.\n" #: src/smart-pointers/box.md msgid "\"{list:?}\"" @@ -8636,6 +8738,24 @@ msgid "" "- - - - -'\n" "```" msgstr "" +"```bob\n" +" Stack Heap\n" +".- - - - - - - - - - - - - - . .- - - - - - - - - - - - - - - - - - - - " +"- - - - -.\n" +": : : :\n" +": " +"list : : :\n" +": +---------+----+----+ : : +---------+----+----+ +------+----" +"+----+ :\n" +": | Element | 1 | o--+----+-----+--->| Element | 2 | o--+--->| Nil | // " +"| // | :\n" +": +---------+----+----+ : : +---------+----+----+ +------+----" +"+----+ :\n" +": : : :\n" +": : : :\n" +"'- - - - - - - - - - - - - - ' '- - - - - - - - - - - - - - - - - - - - " +"- - - - -'\n" +"```" #: src/smart-pointers/box.md msgid "" @@ -8897,6 +9017,62 @@ msgid "" "- -'\n" "```" msgstr "" +"```bob\n" +" Stack Heap\n" +".- - - - - - - - - - - - - -. .- - - - - - - - - - - - - - - - - - - - - " +"- -.\n" +": : : :\n" +": \"pets: Vec\" : : \"data: Cat\" +----+----+----" +"+----+ :\n" +": +-----------+-------+ : : +-------+-------+ | F | i | d | " +"o | :\n" +": | ptr | o---+---+--. : | lives | 9 | +----+----+----" +"+----+ :\n" +": | len | 2 | : | : +-------+-------+ " +"^ :\n" +": | capacity | 2 | : | : ^ " +"| :\n" +": +-----------+-------+ : | : | " +"'-------. :\n" +": : | : | data:" +"\"Dog\"| :\n" +": : | : | +-------+--|-------" +"+ :\n" +"`- - - - - - - - - - - - - -' | : +---|-+-----+ | name | o, 4, 4 " +"| :\n" +" `--+-->| o o | o o-|----->| age | 5 " +"| :\n" +" : +-|---+-|---+ +-------+----------" +"+ :\n" +" : | " +"| :\n" +" `- - -| - - |- - - - - - - - - - - - - - - " +"- -'\n" +" | |\n" +" | | " +"\"Program text\"\n" +" .- - -| - - |- - - - - - - - - - - - - - - " +"- -.\n" +" : | | " +"vtable :\n" +" : | | +----------------------" +"+ :\n" +" : | `----->| \"::" +"talk\" | :\n" +" : | +----------------------" +"+ :\n" +" : | " +"vtable :\n" +" : | +----------------------" +"+ :\n" +" : '----------->| \"::" +"talk\" | :\n" +" : +----------------------" +"+ :\n" +" : :\n" +" '- - - - - - - - - - - - - - - - - - - - - " +"- -'\n" +"```" #: src/smart-pointers/trait-objects.md msgid "" @@ -8973,27 +9149,34 @@ msgstr "" "مقادیر را به ترتیب (in-order) برگرداند." #: src/smart-pointers/exercise.md src/smart-pointers/solution.md +#, fuzzy msgid "/// A node in the binary tree.\n" -msgstr "" +msgstr "/// A node in the binary tree.\n" #: src/smart-pointers/exercise.md src/smart-pointers/solution.md +#, fuzzy msgid "/// A possibly-empty subtree.\n" -msgstr "" +msgstr "/// A possibly-empty subtree.\n" #: src/smart-pointers/exercise.md src/smart-pointers/solution.md +#, fuzzy msgid "" "/// A container storing a set of values, using a binary tree.\n" "///\n" "/// If the same value is added multiple times, it is only stored once.\n" msgstr "" +"/// A container storing a set of values, using a binary tree.\n" +"///\n" +"/// If the same value is added multiple times, it is only stored once.\n" #: src/smart-pointers/exercise.md msgid "// Implement `new`, `insert`, `len`, and `has` for `Subtree`.\n" -msgstr "" +msgstr "// Implement `new`, `insert`, `len`, and `has` for `Subtree`.\n" #: src/smart-pointers/exercise.md src/smart-pointers/solution.md +#, fuzzy msgid "// not a unique item\n" -msgstr "" +msgstr "// not a unique item\n" #: src/smart-pointers/solution.md src/android/testing/googletest.md msgid "\"bar\"" @@ -9217,8 +9400,9 @@ msgstr "" "نمی‌توانند نقض شوند." #: src/borrowing/interior-mutability.md +#, fuzzy msgid "// Note that `cell` is NOT declared as mutable.\n" -msgstr "" +msgstr "// Note that `cell` is NOT declared as mutable.\n" #: src/borrowing/interior-mutability.md msgid "`RefCell`" @@ -9244,11 +9428,15 @@ msgid "" msgstr "" #: src/borrowing/interior-mutability.md +#, fuzzy msgid "" "// This triggers an error at runtime.\n" " // let other = cell.borrow();\n" " // println!(\"{}\", *other);\n" msgstr "" +"// This triggers an error at runtime.\n" +" // let other = cell.borrow();\n" +" // println!(\"{}\", *other);\n" #: src/borrowing/interior-mutability.md msgid "\"{cell:?}\"" @@ -9337,7 +9525,7 @@ msgstr "" msgid "" "\"Update a user's statistics based on measurements from a visit to the " "doctor\"" -msgstr "" +msgstr "\"به‌روزرسانی آمار یک کاربر بر اساس اندازه‌گیری معبار بازدید از پزشک\"" #: src/borrowing/exercise.md src/borrowing/solution.md #: src/android/build-rules/library.md @@ -9388,8 +9576,9 @@ msgstr "" "پیچیده‌تر می‌شوند." #: src/lifetimes/lifetime-annotations.md +#, fuzzy msgid "// What is the lifetime of p3?\n" -msgstr "" +msgstr "// What is the lifetime of p3?\n" #: src/lifetimes/lifetime-annotations.md msgid "\"p3: {p3:?}\"" @@ -9511,7 +9700,7 @@ msgstr "" #: src/lifetimes/struct-lifetimes.md msgid "Lifetimes in Data Structures" -msgstr "طول عمر در ساختمان داده" +msgstr "Lifetimes in Data Structures" #: src/lifetimes/struct-lifetimes.md msgid "" @@ -9525,11 +9714,12 @@ msgstr "\"Bye {text}!\"" #: src/lifetimes/struct-lifetimes.md msgid "\"The quick brown fox jumps over the lazy dog.\"" -msgstr "" +msgstr "\"The quick brown fox jumps over the lazy dog.\"" #: src/lifetimes/struct-lifetimes.md +#, fuzzy msgid "// erase(text);\n" -msgstr "" +msgstr "// erase(text);\n" #: src/lifetimes/struct-lifetimes.md msgid "\"{fox:?}\"" @@ -9644,14 +9834,17 @@ msgstr "" "`Person` و `PhoneNumber` پیاده‌سازی کنید." #: src/lifetimes/exercise.md src/lifetimes/solution.md +#, fuzzy msgid "/// A wire type as seen on the wire.\n" -msgstr "" +msgstr "/// A wire type as seen on the wire.\n" #: src/lifetimes/exercise.md src/lifetimes/solution.md +#, fuzzy msgid "/// The Varint WireType indicates the value is a single VARINT.\n" -msgstr "" +msgstr "/// The Varint WireType indicates the value is a single VARINT.\n" #: src/lifetimes/exercise.md src/lifetimes/solution.md +#, fuzzy msgid "" "/// The I64 WireType indicates that the value is precisely 8 bytes in\n" " /// little-endian order containing a 64-bit signed integer or double " @@ -9661,38 +9854,56 @@ msgid "" "a\n" " /// VARINT followed by exactly that number of bytes.\n" msgstr "" +"/// The I64 WireType indicates that the value is precisely 8 bytes in\n" +" /// little-endian order containing a 64-bit signed integer or double " +"type.\n" +" //I64, -- not needed for this exercise\n" +" /// The Len WireType indicates that the value is a length represented as " +"a\n" +" /// VARINT followed by exactly that number of bytes.\n" #: src/lifetimes/exercise.md src/lifetimes/solution.md +#, fuzzy msgid "" "// The I32 WireType indicates that the value is precisely 4 bytes in\n" " // little-endian order containing a 32-bit signed integer or float " "type.\n" " //I32, -- not needed for this exercise\n" msgstr "" +"// The I32 WireType indicates that the value is precisely 4 bytes in\n" +" // little-endian order containing a 32-bit signed integer or float " +"type.\n" +" //I32, -- not needed for this exercise\n" #: src/lifetimes/exercise.md src/lifetimes/solution.md +#, fuzzy msgid "/// A field's value, typed based on the wire type.\n" -msgstr "" +msgstr "/// A field's value, typed based on the wire type.\n" #: src/lifetimes/exercise.md src/lifetimes/solution.md +#, fuzzy msgid "//I64(i64), -- not needed for this exercise\n" -msgstr "" +msgstr "//I64(i64), -- not needed for this exercise\n" #: src/lifetimes/exercise.md src/lifetimes/solution.md +#, fuzzy msgid "//I32(i32), -- not needed for this exercise\n" -msgstr "" +msgstr "//I32(i32), -- not needed for this exercise\n" #: src/lifetimes/exercise.md src/lifetimes/solution.md +#, fuzzy msgid "/// A field, containing the field number and its value.\n" -msgstr "" +msgstr "/// A field, containing the field number and its value.\n" #: src/lifetimes/exercise.md src/lifetimes/solution.md +#, fuzzy msgid "//1 => WireType::I64, -- not needed for this exercise\n" -msgstr "" +msgstr "//1 => WireType::I64, -- not needed for this exercise\n" #: src/lifetimes/exercise.md src/lifetimes/solution.md +#, fuzzy msgid "//5 => WireType::I32, -- not needed for this exercise\n" -msgstr "" +msgstr "//5 => WireType::I32, -- not needed for this exercise\n" #: src/lifetimes/exercise.md src/lifetimes/solution.md msgid "\"Invalid wire type: {value}\"" @@ -9703,9 +9914,8 @@ msgid "\"Expected string to be a `Len` field\"" msgstr "\"انتظار می‌رود که رشته یک فیلد Len باشد\"" #: src/lifetimes/exercise.md src/lifetimes/solution.md -#, fuzzy msgid "\"Invalid string\"" -msgstr "String" +msgstr "\"نامعتبر string\"" #: src/lifetimes/exercise.md src/lifetimes/solution.md msgid "\"Expected bytes to be a `Len` field\"" @@ -9716,35 +9926,43 @@ msgid "\"Expected `u64` to be a `Varint` field\"" msgstr "\"انتظار می‌رود `u64` یک فیلد `Varint` باشد\"" #: src/lifetimes/exercise.md src/lifetimes/solution.md +#, fuzzy msgid "" "/// Parse a VARINT, returning the parsed value and the remaining bytes.\n" msgstr "" +"/// Parse a VARINT, returning the parsed value and the remaining bytes.\n" #: src/lifetimes/exercise.md src/lifetimes/solution.md msgid "\"Not enough bytes for varint\"" msgstr "\"بایت کافی برای varint نیست\"" #: src/lifetimes/exercise.md src/lifetimes/solution.md +#, fuzzy msgid "" "// This is the last byte of the VARINT, so convert it to\n" " // a u64 and return it.\n" msgstr "" +"// This is the last byte of the VARINT, so convert it to\n" +" // a u64 and return it.\n" #: src/lifetimes/exercise.md src/lifetimes/solution.md +#, fuzzy msgid "// More than 7 bytes is invalid.\n" -msgstr "" +msgstr "// More than 7 bytes is invalid.\n" #: src/lifetimes/exercise.md src/lifetimes/solution.md msgid "\"Too many bytes for varint\"" -msgstr "" +msgstr "\"تعداد بایت‌های زیادی برای varint\"" #: src/lifetimes/exercise.md src/lifetimes/solution.md +#, fuzzy msgid "/// Convert a tag into a field number and a WireType.\n" -msgstr "" +msgstr "/// Convert a tag into a field number and a WireType.\n" #: src/lifetimes/exercise.md src/lifetimes/solution.md +#, fuzzy msgid "/// Parse a field, returning the remaining bytes\n" -msgstr "" +msgstr "/// Parse a field, returning the remaining bytes\n" #: src/lifetimes/exercise.md msgid "" @@ -9758,6 +9976,7 @@ msgid "\"Return the field, and any un-consumed bytes.\"" msgstr "\"فیلد و هر بایت مصرف نشده را برگردانید.\"" #: src/lifetimes/exercise.md src/lifetimes/solution.md +#, fuzzy msgid "" "/// Parse a message in the given data, calling `T::add_field` for each field " "in\n" @@ -9765,10 +9984,16 @@ msgid "" "///\n" "/// The entire input is consumed.\n" msgstr "" +"/// Parse a message in the given data, calling `T::add_field` for each field " +"in\n" +"/// the message.\n" +"///\n" +"/// The entire input is consumed.\n" #: src/lifetimes/exercise.md +#, fuzzy msgid "// TODO: Implement ProtoMessage for Person and PhoneNumber.\n" -msgstr "" +msgstr "// TODO: Implement ProtoMessage for Person and PhoneNumber.\n" #: src/lifetimes/exercise.md msgid "" @@ -9791,16 +10016,17 @@ msgstr "\"استفاده از len در `usize` معتبر نیست\"" #: src/lifetimes/solution.md msgid "\"Unexpected EOF\"" -msgstr "" +msgstr "\"EOF غیر منتظره\"" #: src/lifetimes/solution.md +#, fuzzy msgid "// skip everything else\n" -msgstr "" +msgstr "// skip everything else\n" #: src/lifetimes/solution.md src/modules/exercise.md src/modules/solution.md #: src/testing/unit-tests.md src/testing/solution.md msgid "\"\"" -msgstr "" +msgstr "\".\"" #: src/lifetimes/solution.md #, fuzzy @@ -9962,6 +10188,9 @@ msgid "" "lets you build a collection from an [`Iterator`](https://doc.rust-lang.org/" "std/iter/trait.Iterator.html)." msgstr "" +"گزینه [`FromIterator`](https://doc.rust-lang.org/std/iter/trait.FromIterator." +"html) به شما امکان می دهد از یک [`Iterator`](https://doc.rust-lang .org/std/" +"iter/trait.Iterator.html) یک مجموعه یا collection بسازید." #: src/iterators/fromiterator.md #, fuzzy @@ -10011,6 +10240,7 @@ msgid "" msgstr "" #: src/iterators/exercise.md src/iterators/solution.md +#, fuzzy msgid "" "/// Calculate the differences between elements of `values` offset by " "`offset`,\n" @@ -10018,6 +10248,11 @@ msgid "" "///\n" "/// Element `n` of the result is `values[(n+offset)%len] - values[n]`.\n" msgstr "" +"/// Calculate the differences between elements of `values` offset by " +"`offset`,\n" +"/// wrapping around from the end of `values` to the beginning.\n" +"///\n" +"/// Element `n` of the result is `values[(n+offset)%len] - values[n]`.\n" #: src/modules.md src/modules/paths.md msgid "use, super, self" @@ -10087,23 +10322,30 @@ msgid "" msgstr "" #: src/modules/filesystem.md +#, fuzzy msgid "" "//! This module implements the garden, including a highly performant " "germination\n" "//! implementation.\n" msgstr "" +"//! This module implements the garden, including a highly performant " +"germination\n" +"//! implementation.\n" #: src/modules/filesystem.md +#, fuzzy msgid "// Re-export types from this module.\n" -msgstr "" +msgstr "// Re-export types from this module.\n" #: src/modules/filesystem.md +#, fuzzy msgid "/// Sow the given seed packets.\n" -msgstr "" +msgstr "/// Sow the given seed packets.\n" #: src/modules/filesystem.md +#, fuzzy msgid "/// Harvest the produce in the garden that is ready.\n" -msgstr "" +msgstr "/// Harvest the produce in the garden that is ready.\n" #: src/modules/filesystem.md msgid "" @@ -10129,7 +10371,7 @@ msgstr "" #: src/modules/filesystem.md msgid "\"some/path.rs\"" -msgstr "" +msgstr "\"some/path.rs\"" #: src/modules/filesystem.md msgid "" @@ -10221,7 +10463,7 @@ msgstr "" #: src/modules/paths.md msgid "`foo` or `self::foo` refers to `foo` in the current module," -msgstr "" +msgstr "در واقع `foo` یا `self::foo` به `foo` در ماژول فعلی اشاره دارد،" #: src/modules/paths.md msgid "`super::foo` refers to `foo` in the parent module." @@ -10306,31 +10548,39 @@ msgid "Here's the single-module implementation of the GUI library:" msgstr "" #: src/modules/exercise.md src/modules/solution.md +#, fuzzy msgid "/// Natural width of `self`.\n" -msgstr "" +msgstr "/// Natural width of `self`.\n" #: src/modules/exercise.md src/modules/solution.md +#, fuzzy msgid "/// Draw the widget into a buffer.\n" -msgstr "" +msgstr "/// Draw the widget into a buffer.\n" #: src/modules/exercise.md src/modules/solution.md +#, fuzzy msgid "/// Draw the widget on standard output.\n" -msgstr "" +msgstr "/// Draw the widget on standard output.\n" #: src/modules/exercise.md src/modules/solution.md msgid "\"{buffer}\"" msgstr "\"{buffer}\"" #: src/modules/exercise.md +#, fuzzy msgid "// Add 4 paddings for borders\n" -msgstr "" +msgstr "// Add 4 paddings for borders\n" #: src/modules/exercise.md +#, fuzzy msgid "" "// TODO: Change draw_into to return Result<(), std::fmt::Error>. Then use " "the\n" " // ?-operator here instead of .unwrap().\n" msgstr "" +"// TODO: Change draw_into to return Result<(), std::fmt::Error>. Then use " +"the\n" +" // ?-operator here instead of .unwrap().\n" #: src/modules/exercise.md src/modules/solution.md msgid "\"+-{:-. Then use\n" " // the ?-operator here instead of .unwrap().\n" msgstr "" +"// TODO: after learning about error handling, you can change\n" +" // draw_into to return Result<(), std::fmt::Error>. Then use\n" +" // the ?-operator here instead of .unwrap().\n" #: src/modules/solution.md msgid "// ---- src/main.rs ----\n" -msgstr "" +msgstr "// ---- src/main.rs ----\n" #: src/testing/unit-tests.md msgid "Unit Tests" @@ -10468,9 +10730,8 @@ msgid "" msgstr "" #: src/testing/unit-tests.md -#, fuzzy msgid "\"Hello World\"" -msgstr "سلام دنیا" +msgstr "\"سلام دنیا!\"" #: src/testing/unit-tests.md msgid "This lets you unit test private helpers." @@ -10497,8 +10758,9 @@ msgid "Create a `.rs` file under `tests/`:" msgstr "" #: src/testing/other.md +#, fuzzy msgid "// tests/my_library.rs\n" -msgstr "" +msgstr "// tests/my_library.rs\n" #: src/testing/other.md msgid "These tests only have access to the public API of your crate." @@ -10513,6 +10775,7 @@ msgid "Rust has built-in support for documentation tests:" msgstr "" #: src/testing/other.md +#, fuzzy msgid "" "/// Shortens a string to the given length.\n" "///\n" @@ -10522,6 +10785,13 @@ msgid "" "/// assert_eq!(shorten_string(\"Hello World\", 20), \"Hello World\");\n" "/// ```\n" msgstr "" +"/// Shortens a string to the given length.\n" +"///\n" +"/// ```\n" +"/// # use playground::shorten_string;\n" +"/// assert_eq!(shorten_string(\"Hello World\", 5), \"Hello\");\n" +"/// assert_eq!(shorten_string(\"Hello World\", 20), \"Hello World\");\n" +"/// ```\n" #: src/testing/other.md msgid "Code blocks in `///` comments are automatically seen as Rust code." @@ -10553,6 +10823,8 @@ msgstr "" #: src/testing/lints.md msgid "\"X probably fits in a u16, right? {}\"" msgstr "" +"\"\"X احتمالاً در یک u16 مناسب است، درست است؟ {}\"X احتمالاً در یک u16 مناسب " +"است، درست است؟ {}\"" #: src/testing/lints.md msgid "" @@ -10662,12 +10934,14 @@ msgid "\"8273 1232 7352 0569\"" msgstr "\"8273 1232 7352 0569\"" #: src/testing/solution.md +#, fuzzy msgid "// This is the buggy version that appears in the problem.\n" -msgstr "" +msgstr "// This is the buggy version that appears in the problem.\n" #: src/testing/solution.md +#, fuzzy msgid "// This is the solution and passes all of the tests below.\n" -msgstr "" +msgstr "// This is the solution and passes all of the tests below.\n" #: src/testing/solution.md msgid "\"1234 5678 1234 5670\"" @@ -10679,7 +10953,7 @@ msgstr "\"آیا {cc_number} یک شماره کارت اعتباری معتبر #: src/testing/solution.md msgid "\"yes\"" -msgstr "" +msgstr "\"بله\"" #: src/testing/solution.md msgid "\"no\"" @@ -10691,23 +10965,23 @@ msgstr "\"foo 0 0\"" #: src/testing/solution.md msgid "\" \"" -msgstr "" +msgstr "\" \"" #: src/testing/solution.md msgid "\" \"" -msgstr "" +msgstr "\" \"" #: src/testing/solution.md msgid "\" \"" -msgstr "" +msgstr "\" \"" #: src/testing/solution.md msgid "\"0\"" -msgstr "" +msgstr "\"0\"" #: src/testing/solution.md msgid "\" 0 0 \"" -msgstr "" +msgstr "\" 0 0 \"" #: src/welcome-day-4-afternoon.md #, fuzzy @@ -10741,7 +11015,7 @@ msgstr "" #: src/error-handling/panics.md msgid "\"v[100]: {}\"" -msgstr "" +msgstr "\"v[100]: {}\"" #: src/error-handling/panics.md msgid "Panics are for unrecoverable and unexpected errors." @@ -10898,8 +11172,9 @@ msgid "We can use this to simplify our error handling code:" msgstr "" #: src/error-handling/try.md +#, fuzzy msgid "//fs::write(\"config.dat\", \"alice\").unwrap();\n" -msgstr "" +msgstr "//fs::write(\"config.dat\", \"alice\").unwrap();\n" #: src/error-handling/try.md src/error-handling/try-conversions.md #: src/error-handling/thiserror-and-anyhow.md @@ -10908,7 +11183,7 @@ msgstr "\"config.dat\"" #: src/error-handling/try.md src/error-handling/try-conversions.md msgid "\"username or error: {username:?}\"" -msgstr "" +msgstr "\"نام‌کاربری یا خطا: {username:?}\"" #: src/error-handling/try.md msgid "Simplify the `read_username` function to use `?`." @@ -10958,8 +11233,9 @@ msgid "\"Found no username in {path}\"" msgstr "\"در این {path} نام کاربری یافت نشد\"" #: src/error-handling/try-conversions.md +#, fuzzy msgid "//std::fs::write(\"config.dat\", \"\").unwrap();\n" -msgstr "" +msgstr "//std::fs::write(\"config.dat\", \"\").unwrap();\n" #: src/error-handling/try-conversions.md msgid "" @@ -11073,12 +11349,13 @@ msgid "\"Failed to read\"" msgstr "\"شکست در خواندن\"" #: src/error-handling/thiserror-and-anyhow.md +#, fuzzy msgid "//fs::write(\"config.dat\", \"\").unwrap();\n" -msgstr "" +msgstr "//fs::write(\"config.dat\", \"\").unwrap();\n" #: src/error-handling/thiserror-and-anyhow.md msgid "\"Username: {username}\"" -msgstr "" +msgstr "\"نام‌کاربری: {username}\"" #: src/error-handling/thiserror-and-anyhow.md msgid "\"Error: {err:?}\"" @@ -11152,48 +11429,54 @@ msgid "" msgstr "" #: src/error-handling/exercise.md src/error-handling/solution.md +#, fuzzy msgid "/// An arithmetic operator.\n" -msgstr "" +msgstr "/// An arithmetic operator.\n" #: src/error-handling/exercise.md src/error-handling/solution.md +#, fuzzy msgid "/// A token in the expression language.\n" -msgstr "" +msgstr "/// A token in the expression language.\n" #: src/error-handling/exercise.md src/error-handling/solution.md +#, fuzzy msgid "/// An expression in the expression language.\n" -msgstr "" +msgstr "/// An expression in the expression language.\n" #: src/error-handling/exercise.md src/error-handling/solution.md +#, fuzzy msgid "/// A reference to a variable.\n" -msgstr "" +msgstr "/// A reference to a variable.\n" #: src/error-handling/exercise.md src/error-handling/solution.md +#, fuzzy msgid "/// A literal number.\n" -msgstr "" +msgstr "/// A literal number.\n" #: src/error-handling/exercise.md src/error-handling/solution.md +#, fuzzy msgid "/// A binary operation.\n" -msgstr "" +msgstr "/// A binary operation.\n" #: src/error-handling/exercise.md src/error-handling/solution.md msgid "'_'" -msgstr "" +msgstr "'_'" #: src/error-handling/exercise.md src/error-handling/solution.md msgid "'+'" -msgstr "" +msgstr "'+'" #: src/error-handling/exercise.md src/error-handling/solution.md msgid "'-'" -msgstr "" +msgstr "'-'" #: src/error-handling/exercise.md msgid "\"Unexpected character {c}\"" -msgstr "" +msgstr "\"کاراکتر غیرمنتظره {c}\"" #: src/error-handling/exercise.md src/error-handling/solution.md msgid "\"Unexpected end of input\"" -msgstr "" +msgstr "\"پایان غیرمنتظره در ورودی\"" #: src/error-handling/exercise.md msgid "\"Invalid 32-bit integer'\"" @@ -11201,11 +11484,12 @@ msgstr "\"عدد صحیح 32-bit نامعتبر\"" #: src/error-handling/exercise.md msgid "\"Unexpected token {tok:?}\"" -msgstr "" +msgstr "\"توکن غیرمنتظره {tok:?}\"" #: src/error-handling/exercise.md src/error-handling/solution.md +#, fuzzy msgid "// Look ahead to parse a binary operation if present.\n" -msgstr "" +msgstr "// Look ahead to parse a binary operation if present.\n" #: src/error-handling/exercise.md src/error-handling/solution.md msgid "\"10+foo+20-30\"" @@ -11217,15 +11501,15 @@ msgstr "\"{expr:?}\"" #: src/error-handling/solution.md msgid "\"Unexpected character '{0}' in input\"" -msgstr "" +msgstr "\"کاراکتر غیرمنتظره \"{0}\" در ورودی\"" #: src/error-handling/solution.md msgid "\"Tokenizer error: {0}\"" -msgstr "" +msgstr "\"خطای توکن‌سازی: {0}\"" #: src/error-handling/solution.md msgid "\"Unexpected token {0:?}\"" -msgstr "" +msgstr "\"توکن (token) غیرمنتظره {0:?}\"" #: src/error-handling/solution.md msgid "\"Invalid number\"" @@ -11242,12 +11526,15 @@ msgstr "" #: src/unsafe-rust/unsafe.md msgid "**Safe Rust:** memory safe, no undefined behavior possible." msgstr "" +"در **Safe Rust:** حافظه ایمن یا memory safe، هیچ رفتار تعریف نشده‌ای امکان " +"پذیر نیست." #: src/unsafe-rust/unsafe.md msgid "" "**Unsafe Rust:** can trigger undefined behavior if preconditions are " "violated." msgstr "" +"در **Unsafe Rust:** در صورت نقض پیش‌شرط‌ها، می‌تواند باعث رفتار نامشخص شود." #: src/unsafe-rust/unsafe.md msgid "" @@ -11309,6 +11596,7 @@ msgid "\"careful!\"" msgstr "\"مراقب باش!\"" #: src/unsafe-rust/dereferencing.md +#, fuzzy msgid "" "// SAFETY: r1 and r2 were obtained from references and so are guaranteed to\n" " // be non-null and properly aligned, the objects underlying the " @@ -11317,20 +11605,24 @@ msgid "" " // block, and they are not accessed either through the references or\n" " // concurrently through any other pointers.\n" msgstr "" +"// SAFETY: r1 and r2 were obtained from references and so are guaranteed to\n" +" // be non-null and properly aligned, the objects underlying the " +"references\n" +" // from which they were obtained are live throughout the whole unsafe\n" +" // block, and they are not accessed either through the references or\n" +" // concurrently through any other pointers.\n" #: src/unsafe-rust/dereferencing.md -#, fuzzy msgid "\"r1 is: {}\"" -msgstr "\"r1 is: {}\"" +msgstr "\"r1 برابر هست: {}\"" #: src/unsafe-rust/dereferencing.md msgid "\"uhoh\"" -msgstr "" +msgstr "\"اوهو\"" #: src/unsafe-rust/dereferencing.md -#, fuzzy msgid "\"r2 is: {}\"" -msgstr "\"r2 is: {}\"" +msgstr "\"r2 برابر هست: {}\"" #: src/unsafe-rust/dereferencing.md msgid "" @@ -11341,6 +11633,12 @@ msgid "" " println!(\"r3 is: {}\", *r3);\n" " */" msgstr "" +"// NOT SAFE. DO NOT DO THIS.\n" +" /*\n" +" let r3: &String = unsafe { &*r1 };\n" +" drop(s);\n" +" println!(\"r3 is: {}\", *r3);\n" +" */" #: src/unsafe-rust/dereferencing.md msgid "" @@ -11395,13 +11693,12 @@ msgid "It is safe to read an immutable static variable:" msgstr "" #: src/unsafe-rust/mutable-static.md -#, fuzzy msgid "\"Hello, world!\"" -msgstr "سلام دنیا" +msgstr "\"سلام دنیا!\"" #: src/unsafe-rust/mutable-static.md msgid "\"HELLO_WORLD: {HELLO_WORLD}\"" -msgstr "" +msgstr "\"HELLO_WORLD: {HELLO_WORLD}\"" #: src/unsafe-rust/mutable-static.md msgid "" @@ -11410,9 +11707,11 @@ msgid "" msgstr "" #: src/unsafe-rust/mutable-static.md +#, fuzzy msgid "" "// SAFETY: There are no other threads which could be accessing `COUNTER`.\n" msgstr "" +"// SAFETY: There are no other threads which could be accessing `COUNTER`.\n" #: src/unsafe-rust/mutable-static.md msgid "\"COUNTER: {COUNTER}\"" @@ -11489,10 +11788,13 @@ msgid "\"🗻∈🌏\"" msgstr "\"🗻∈🌏\"" #: src/unsafe-rust/unsafe-functions.md +#, fuzzy msgid "" "// SAFETY: The indices are in the correct order, within the bounds of the\n" " // string slice, and lie on UTF-8 sequence boundaries.\n" msgstr "" +"// SAFETY: The indices are in the correct order, within the bounds of the\n" +" // string slice, and lie on UTF-8 sequence boundaries.\n" #: src/unsafe-rust/unsafe-functions.md msgid "\"emoji: {}\"" @@ -11503,14 +11805,17 @@ msgid "\"char count: {}\"" msgstr "\"char count: {}\"" #: src/unsafe-rust/unsafe-functions.md +#, fuzzy msgid "" "// SAFETY: `abs` doesn't deal with pointers and doesn't have any safety\n" " // requirements.\n" msgstr "" +"// SAFETY: `abs` doesn't deal with pointers and doesn't have any safety\n" +" // requirements.\n" #: src/unsafe-rust/unsafe-functions.md msgid "\"Absolute value of -3 according to C: {}\"" -msgstr "" +msgstr "\"مقدار مطلق ۳- طبق C: {}\"" #: src/unsafe-rust/unsafe-functions.md msgid "" @@ -11519,6 +11824,10 @@ msgid "" " // println!(\"char count: {}\", count_chars(unsafe {\n" " // emojis.get_unchecked(0..3) }));\n" msgstr "" +"// Not upholding the UTF-8 encoding requirement breaks memory safety!\n" +" // println!(\"emoji: {}\", unsafe { emojis.get_unchecked(0..3) });\n" +" // println!(\"char count: {}\", count_chars(unsafe {\n" +" // emojis.get_unchecked(0..3) }));\n" #: src/unsafe-rust/unsafe-functions.md msgid "Writing Unsafe Functions" @@ -11531,6 +11840,7 @@ msgid "" msgstr "" #: src/unsafe-rust/unsafe-functions.md +#, fuzzy msgid "" "/// Swaps the values pointed to by the given pointers.\n" "///\n" @@ -11538,10 +11848,16 @@ msgid "" "///\n" "/// The pointers must be valid and properly aligned.\n" msgstr "" +"/// Swaps the values pointed to by the given pointers.\n" +"///\n" +"/// # Safety\n" +"///\n" +"/// The pointers must be valid and properly aligned.\n" #: src/unsafe-rust/unsafe-functions.md +#, fuzzy msgid "// SAFETY: ...\n" -msgstr "" +msgstr "// SAFETY: ...\n" #: src/unsafe-rust/unsafe-functions.md msgid "\"a = {}, b = {}\"" @@ -11594,15 +11910,20 @@ msgid "" msgstr "" #: src/unsafe-rust/unsafe-traits.md +#, fuzzy msgid "" "/// ...\n" "/// # Safety\n" "/// The type must have a defined representation and no padding.\n" msgstr "" +"/// ...\n" +"/// # Safety\n" +"/// The type must have a defined representation and no padding.\n" #: src/unsafe-rust/unsafe-traits.md +#, fuzzy msgid "// SAFETY: `u32` has a defined representation and no padding.\n" -msgstr "" +msgstr "// SAFETY: `u32` has a defined representation and no padding.\n" #: src/unsafe-rust/unsafe-traits.md msgid "" @@ -11637,15 +11958,15 @@ msgstr "" #: src/unsafe-rust/exercise.md msgid "[`opendir(3)`](https://man7.org/linux/man-pages/man3/opendir.3.html)" -msgstr "" +msgstr "[`opendir(3)`](https://man7.org/linux/man-pages/man3/opendir.3.html)" #: src/unsafe-rust/exercise.md msgid "[`readdir(3)`](https://man7.org/linux/man-pages/man3/readdir.3.html)" -msgstr "" +msgstr "[`readdir(3)`](https://man7.org/linux/man-pages/man3/readdir.3.html)" #: src/unsafe-rust/exercise.md msgid "[`closedir(3)`](https://man7.org/linux/man-pages/man3/closedir.3.html)" -msgstr "" +msgstr "[`closedir(3)`](https://man7.org/linux/man-pages/man3/closedir.3.html)" #: src/unsafe-rust/exercise.md msgid "" @@ -11667,6 +11988,8 @@ msgid "" "[`str`](https://doc.rust-lang.org/std/primitive.str.html) and [`String`]" "(https://doc.rust-lang.org/std/string/struct.String.html)" msgstr "" +"[`str`](https://doc.rust-lang.org/std/primitive.str.html) و [`String`]" +"(https://doc.rust-lang.org/std/string/struct.String.html)" #: src/unsafe-rust/exercise.md msgid "UTF-8" @@ -11681,6 +12004,8 @@ msgid "" "[`CStr`](https://doc.rust-lang.org/std/ffi/struct.CStr.html) and [`CString`]" "(https://doc.rust-lang.org/std/ffi/struct.CString.html)" msgstr "" +"[`CStr`](https://doc.rust-lang.org/std/ffi/struct.CStr.html) and [`CString`]" +"(https://doc.rust-lang.org/std/ffi/struct.CString.html)" #: src/unsafe-rust/exercise.md msgid "NUL-terminated" @@ -11695,6 +12020,8 @@ msgid "" "[`OsStr`](https://doc.rust-lang.org/std/ffi/struct.OsStr.html) and " "[`OsString`](https://doc.rust-lang.org/std/ffi/struct.OsString.html)" msgstr "" +"[`OsStr`](https://doc.rust-lang.org/std/ffi/struct.OsStr.html) و [`OsString`]" +"(https://doc.rust-lang.org/std/ffi/struct.OsString.html)" #: src/unsafe-rust/exercise.md msgid "OS-specific" @@ -11723,6 +12050,8 @@ msgid "" "`*const i8` to `&CStr`: you need something which can find the trailing `\\0` " "character," msgstr "" +"از `*const i8` به `&CStr`: به چیزی نیاز دارید که بتواند کاراکتر `\\0` را " +"پیدا کند." #: src/unsafe-rust/exercise.md msgid "" @@ -11735,6 +12064,9 @@ msgid "" "`&[u8]` to `&OsStr`: `&OsStr` is a step towards `OsString`, use [`OsStrExt`]" "(https://doc.rust-lang.org/std/os/unix/ffi/trait.OsStrExt.html) to create it," msgstr "" +"از `&[u8]` به `&OsStr`: `&OsStr` گامی به سوی `OsString` است، از [`OsStrExt`]" +"(https://doc.rust-lang.org/std/os/unix/ffi/trait.OsStrExt.html) برای ایجاد " +"آن استفاده کنید،" #: src/unsafe-rust/exercise.md msgid "" @@ -11756,26 +12088,32 @@ msgstr "" #: src/unsafe-rust/exercise.md src/unsafe-rust/solution.md msgid "\"macos\"" -msgstr "" +msgstr "\"macos\"" #: src/unsafe-rust/exercise.md src/unsafe-rust/solution.md +#, fuzzy msgid "// Opaque type. See https://doc.rust-lang.org/nomicon/ffi.html.\n" -msgstr "" +msgstr "// Opaque type. See https://doc.rust-lang.org/nomicon/ffi.html.\n" #: src/unsafe-rust/exercise.md src/unsafe-rust/solution.md +#, fuzzy msgid "" "// Layout according to the Linux man page for readdir(3), where ino_t and\n" " // off_t are resolved according to the definitions in\n" " // /usr/include/x86_64-linux-gnu/{sys/types.h, bits/typesizes.h}.\n" msgstr "" +"// Layout according to the Linux man page for readdir(3), where ino_t and\n" +" // off_t are resolved according to the definitions in\n" +" // /usr/include/x86_64-linux-gnu/{sys/types.h, bits/typesizes.h}.\n" #: src/unsafe-rust/exercise.md src/unsafe-rust/solution.md +#, fuzzy msgid "// Layout according to the macOS man page for dir(5).\n" -msgstr "" +msgstr "// Layout according to the macOS man page for dir(5).\n" #: src/unsafe-rust/exercise.md src/unsafe-rust/solution.md msgid "\"x86_64\"" -msgstr "" +msgstr "\"x86_64\"" #: src/unsafe-rust/exercise.md src/unsafe-rust/solution.md msgid "" @@ -11787,29 +12125,40 @@ msgid "" " // to macOS (as opposed to iOS / wearOS / etc.) on Intel and " "PowerPC.\n" msgstr "" +"// See https://github.com/rust-lang/libc/issues/414 and the section on\n" +" // _DARWIN_FEATURE_64_BIT_INODE in the macOS man page for stat(2).\n" +" //\n" +" // \"Platforms that existed before these updates were available\" " +"refers\n" +" // to macOS (as opposed to iOS / wearOS / etc.) on Intel and " +"PowerPC.\n" #: src/unsafe-rust/exercise.md src/unsafe-rust/solution.md msgid "\"readdir$INODE64\"" msgstr "\"readdir$INODE64\"" #: src/unsafe-rust/exercise.md src/unsafe-rust/solution.md +#, fuzzy msgid "" "// Call opendir and return a Ok value if that worked,\n" " // otherwise return Err with a message.\n" msgstr "" +"// Call opendir and return a Ok value if that worked,\n" +" // otherwise return Err with a message.\n" #: src/unsafe-rust/exercise.md msgid "// Keep calling readdir until we get a NULL pointer back.\n" -msgstr "" +msgstr "// Keep calling readdir until we get a NULL pointer back.\n" #: src/unsafe-rust/exercise.md src/unsafe-rust/solution.md +#, fuzzy msgid "// Call closedir as needed.\n" -msgstr "" +msgstr "// Call closedir as needed.\n" #: src/unsafe-rust/exercise.md src/unsafe-rust/solution.md #: src/android/interoperability/with-c/rust.md msgid "\".\"" -msgstr "" +msgstr "\".\"" #: src/unsafe-rust/exercise.md src/unsafe-rust/solution.md msgid "\"files: {:#?}\"" @@ -11820,32 +12169,41 @@ msgid "\"Invalid path: {err}\"" msgstr "\"مسیر نامعتبر: {err}\"" #: src/unsafe-rust/solution.md +#, fuzzy msgid "// SAFETY: path.as_ptr() cannot be NULL.\n" -msgstr "" +msgstr "// SAFETY: path.as_ptr() cannot be NULL.\n" #: src/unsafe-rust/solution.md msgid "\"Could not open {:?}\"" msgstr "\"نمی‌توان {:?} را باز کرد\"" #: src/unsafe-rust/solution.md +#, fuzzy msgid "" "// Keep calling readdir until we get a NULL pointer back.\n" " // SAFETY: self.dir is never NULL.\n" msgstr "" +"// Keep calling readdir until we get a NULL pointer back.\n" +" // SAFETY: self.dir is never NULL.\n" #: src/unsafe-rust/solution.md +#, fuzzy msgid "// We have reached the end of the directory.\n" -msgstr "" +msgstr "// We have reached the end of the directory.\n" #: src/unsafe-rust/solution.md +#, fuzzy msgid "" "// SAFETY: dirent is not NULL and dirent.d_name is NUL\n" " // terminated.\n" msgstr "" +"// SAFETY: dirent is not NULL and dirent.d_name is NUL\n" +" // terminated.\n" #: src/unsafe-rust/solution.md +#, fuzzy msgid "// SAFETY: self.dir is not NULL.\n" -msgstr "" +msgstr "// SAFETY: self.dir is not NULL.\n" #: src/unsafe-rust/solution.md msgid "\"Could not close {:?}\"" @@ -11861,7 +12219,7 @@ msgstr "\"نویسه غیر UTF-8 در مسیر\"" #: src/unsafe-rust/solution.md msgid "\"..\"" -msgstr "" +msgstr "\"..\"" #: src/unsafe-rust/solution.md msgid "\"foo.txt\"" @@ -11869,7 +12227,7 @@ msgstr "\"foo.txt\"" #: src/unsafe-rust/solution.md msgid "\"The Foo Diaries\\n\"" -msgstr "" +msgstr "\"این خاطرات Foo است \\n\"" #: src/unsafe-rust/solution.md msgid "\"bar.png\"" @@ -12135,7 +12493,6 @@ msgid "_hello_rust/Android.bp_:" msgstr "_hello_rust/Android.bp_:" #: src/android/build-rules/binary.md -#, fuzzy msgid "\"hello_rust\"" msgstr "\"hello_rust\"" @@ -12153,13 +12510,13 @@ msgid "//! Rust demo.\n" msgstr "//! Rust demo.\n" #: src/android/build-rules/binary.md src/android/build-rules/library.md +#, fuzzy msgid "/// Prints a greeting to standard output.\n" msgstr "/// Prints a greeting to standard output.\n" #: src/android/build-rules/binary.md src/exercises/chromium/build-rules.md -#, fuzzy msgid "\"Hello from Rust!\"" -msgstr "\"Hello from Rust!\"" +msgstr "\"سلام از Rust!\"" #: src/android/build-rules/binary.md msgid "You can now build, push, and run the binary:" @@ -12209,7 +12566,6 @@ msgstr "" "crates/) عرضه شده است." #: src/android/build-rules/library.md -#, fuzzy msgid "\"hello_rust_with_dep\"" msgstr "\"hello_rust_with_dep\"" @@ -12241,6 +12597,7 @@ msgid "_hello_rust/src/lib.rs_:" msgstr "_hello_rust/src/lib.rs_:" #: src/android/build-rules/library.md +#, fuzzy msgid "//! Greeting library.\n" msgstr "//! Greeting library.\n" @@ -12249,9 +12606,8 @@ msgid "/// Greet `name`.\n" msgstr "/// Greet `name`.\n" #: src/android/build-rules/library.md -#, fuzzy msgid "\"Hello {name}, it is very nice to meet you!\"" -msgstr "\"Hello {name}, it is very nice to meet you!\"" +msgstr "\"سلام {name}، از آشنایی با شما بسیار خوشحالم!\"" #: src/android/build-rules/library.md msgid "You build, push, and run the binary like before:" @@ -12485,6 +12841,7 @@ msgid "_birthday_service/src/server.rs_:" msgstr "_birthday_service/src/server.rs_:" #: src/android/aidl/example-service/server.md +#, fuzzy msgid "//! Birthday service.\n" msgstr "//! Birthday service.\n" @@ -12503,9 +12860,8 @@ msgid "\"birthday_server\"" msgstr "\"birthday_server\"" #: src/android/aidl/example-service/server.md -#, fuzzy msgid "\"src/server.rs\"" -msgstr "سرورها" +msgstr "\"src/server.rs\"" #: src/android/aidl/example-service/server.md #: src/android/aidl/example-service/client.md @@ -13056,9 +13412,8 @@ msgstr "" " // object.\n" #: src/android/aidl/types/file-descriptor.md -#, fuzzy msgid "\"Invalid file handle\"" -msgstr "\"Invalid file handle\"" +msgstr "\"کنترل فایل نامعتبر\"" #: src/android/aidl/types/file-descriptor.md msgid "" @@ -13099,7 +13454,6 @@ msgid "\"libleftpad\"" msgstr "\"libleftpad\"" #: src/android/testing.md -#, fuzzy msgid "\"leftpad\"" msgstr "leftpad\"" @@ -13108,7 +13462,6 @@ msgid "\"libleftpad_test\"" msgstr "\"libleftpad_test\"" #: src/android/testing.md -#, fuzzy msgid "\"leftpad_test\"" msgstr "\"leftpad_test\"" @@ -13418,14 +13771,12 @@ msgid "\"rust\"" msgstr "\"rust\"" #: src/android/logging.md -#, fuzzy msgid "\"Starting program.\"" -msgstr "\"Starting program.\"" +msgstr "\"شروع برنامه.\"" #: src/android/logging.md -#, fuzzy msgid "\"Things are going fine.\"" -msgstr "\"Things are going fine.\"" +msgstr "\"کارها خوب پیش می‌رود.\"" #: src/android/logging.md #, fuzzy @@ -13624,9 +13975,8 @@ msgid "Finally, we can use the bindings in our Rust program:" msgstr "در نهایت، می‌توانیم از bindingها در برنامه Rust خود استفاده کنیم:" #: src/android/interoperability/with-c/bindgen.md -#, fuzzy msgid "\"print_birthday_card\"" -msgstr "\"print_birthday_card\"" +msgstr "\"چاپ_کارت_تولد\"" #: src/android/interoperability/with-c/bindgen.md msgid "\"main.rs\"" @@ -13720,9 +14070,8 @@ msgid "\"x ({x}) is smallest!\"" msgstr "\"x ({x}) is smallest!\"" #: src/android/interoperability/with-c/rust.md -#, fuzzy msgid "\"y ({y}) is probably larger than x ({x})\"" -msgstr "\"y ({y}) is probably larger than x ({x})\"" +msgstr "\" مقدارy ({y}) احتمالا بزرگتر از x ({x}) است\"" #: src/android/interoperability/with-c/rust.md msgid "_interoperability/rust/libanalyze/analyze.h_" @@ -13842,8 +14191,9 @@ msgstr "\"Rust\"" #: src/android/interoperability/cpp/bridge.md #: src/android/interoperability/cpp/cpp-bridge.md +#, fuzzy msgid "// C++ types and signatures exposed to Rust.\n" -msgstr "" +msgstr "// C++ types and signatures exposed to Rust.\n" #: src/android/interoperability/cpp/bridge.md #: src/android/interoperability/cpp/cpp-bridge.md @@ -14348,7 +14698,7 @@ msgstr "\"system\"" #: src/android/interoperability/java.md msgid "\"Hello, {input}!\"" -msgstr "\"Hello, {input}!\"" +msgstr "\"سلام, {input}!\"" #: src/android/interoperability/java.md msgid "_interoperability/java/Android.bp_:" @@ -14449,7 +14799,6 @@ msgstr "" "commit 1223636 به بعد، مربوط به نوامبر 2023):" #: src/chromium/setup.md -#, fuzzy msgid "" "(A component, debug build is recommended for quickest iteration time. This " "is the default!)" @@ -15936,6 +16285,7 @@ msgid "\"gfx::rust_bindings\"" msgstr "\"gfx::rust_bindings\"" #: src/chromium/interoperability-with-cpp/error-handling-png.md +#, fuzzy msgid "" "/// This returns an FFI-friendly equivalent of `Result,\n" " /// ()>`.\n" @@ -17237,11 +17587,11 @@ msgstr "" #: src/bare-metal/no_std.md msgid "`Future` and `async`/`await`" -msgstr "" +msgstr "`Future` و `async`/`await`" #: src/bare-metal/no_std.md msgid "`fence`, `AtomicBool`, `AtomicPtr`, `AtomicU32`..." -msgstr "" +msgstr "`fence`, `AtomicBool`, `AtomicPtr`, `AtomicU32`..." #: src/bare-metal/no_std.md msgid "`Duration`" @@ -17261,7 +17611,7 @@ msgstr "" #: src/bare-metal/no_std.md msgid "`Error`" -msgstr "" +msgstr "`Error`" #: src/bare-metal/no_std.md msgid "`Mutex`, `Condvar`, `Barrier`, `Once`, `RwLock`, `mpsc`" @@ -17339,16 +17689,19 @@ msgid "" msgstr "" #: src/bare-metal/alloc.md +#, fuzzy msgid "// SAFETY: `HEAP` is only used here and `entry` is only called once.\n" -msgstr "" +msgstr "// SAFETY: `HEAP` is only used here and `entry` is only called once.\n" #: src/bare-metal/alloc.md +#, fuzzy msgid "// Give the allocator some memory to allocate.\n" -msgstr "" +msgstr "// Give the allocator some memory to allocate.\n" #: src/bare-metal/alloc.md +#, fuzzy msgid "// Now we can do things that require heap allocation.\n" -msgstr "" +msgstr "// Now we can do things that require heap allocation.\n" #: src/bare-metal/alloc.md #, fuzzy @@ -17414,34 +17767,42 @@ msgid "" msgstr "" #: src/bare-metal/microcontrollers/mmio.md +#, fuzzy msgid "/// GPIO port 0 peripheral address\n" -msgstr "" +msgstr "/// GPIO port 0 peripheral address\n" #: src/bare-metal/microcontrollers/mmio.md +#, fuzzy msgid "// GPIO peripheral offsets\n" -msgstr "" +msgstr "// GPIO peripheral offsets\n" #: src/bare-metal/microcontrollers/mmio.md +#, fuzzy msgid "// PIN_CNF fields\n" -msgstr "" +msgstr "// PIN_CNF fields\n" #: src/bare-metal/microcontrollers/mmio.md #: src/bare-metal/microcontrollers/pacs.md #: src/bare-metal/microcontrollers/hals.md +#, fuzzy msgid "// Configure GPIO 0 pins 21 and 28 as push-pull outputs.\n" -msgstr "" +msgstr "// Configure GPIO 0 pins 21 and 28 as push-pull outputs.\n" #: src/bare-metal/microcontrollers/mmio.md +#, fuzzy msgid "" "// SAFETY: The pointers are to valid peripheral control registers, and no\n" " // aliases exist.\n" msgstr "" +"// SAFETY: The pointers are to valid peripheral control registers, and no\n" +" // aliases exist.\n" #: src/bare-metal/microcontrollers/mmio.md #: src/bare-metal/microcontrollers/pacs.md #: src/bare-metal/microcontrollers/hals.md +#, fuzzy msgid "// Set pin 28 low and pin 21 high to turn the LED on.\n" -msgstr "" +msgstr "// Set pin 28 low and pin 21 high to turn the LED on.\n" #: src/bare-metal/microcontrollers/mmio.md msgid "" @@ -17466,6 +17827,9 @@ msgid "" "wrappers for memory-mapped peripherals from [CMSIS-SVD](https://www.keil.com/" "pack/doc/CMSIS/SVD/html/index.html) files." msgstr "" +"گزینه [`svd2rust`](https://crates.io/crates/svd2rust) که wrapperهای Rust " +"عمدتاً ایمن را برای تجهیزات جانبی دارای memory-map از فایل‌های[CMSIS-SVD]" +"(https://www.keil.com/pack/doc/CMSIS/SVD/html/index.html) تولید می‌کند." #: src/bare-metal/microcontrollers/pacs.md msgid "" @@ -17507,6 +17871,10 @@ msgid "" "various peripherals. These generally implement traits from [`embedded-hal`]" "(https://crates.io/crates/embedded-hal)." msgstr "" +"این [crateهای HAL]‌(https://github.com/rust-embedded/wesome-embedded-rust#hal-" +"implementation-crates) برای بسیاری از میکروکنترلرها بسته‌بندی‌هایی را در اطراف " +"تجهیزات جانبی مختلف ارائه می‌دهند. اینها معمولاً ویژگی‌های [`embedded-hal`]" +"(https://crates.io/crates/embedded-hal) را پیاده‌سازی می‌کنند." #: src/bare-metal/microcontrollers/hals.md msgid "// Create HAL wrapper for GPIO port 0.\n" @@ -17554,12 +17922,14 @@ msgid "The type state pattern" msgstr "" #: src/bare-metal/microcontrollers/type-state.md +#, fuzzy msgid "// let gpio0_01_again = gpio0.p0_01; // Error, moved.\n" -msgstr "" +msgstr "// let gpio0_01_again = gpio0.p0_01; // Error, moved.\n" #: src/bare-metal/microcontrollers/type-state.md +#, fuzzy msgid "// pin_input.is_high(); // Error, moved.\n" -msgstr "" +msgstr "// pin_input.is_high(); // Error, moved.\n" #: src/bare-metal/microcontrollers/type-state.md msgid "" @@ -17647,6 +18017,8 @@ msgid "" "[`embedded-hal-async`](https://crates.io/crates/embedded-hal-async) provides " "async versions of the traits." msgstr "" +" برای[`embedded-hal-async`](https://crates.io/crates/embedded-hal-async) " +"نسخه‌های async از traitها را ارائه می دهد." #: src/bare-metal/microcontrollers/embedded-hal.md msgid "" @@ -17654,12 +18026,17 @@ msgid "" "another approach to non-blocking I/O, based on the [`nb`](https://crates.io/" "crates/nb) crate." msgstr "" +"مورد [`embedded-hal-nb`](https://crates.io/crates/embedded-hal-nb) رویکرد " +"دیگری را برای عدم مسدود کردن I/O ارائه می دهد که بر اساس [`nb`](https:// " +"crates.io/crates/nb) crate است." #: src/bare-metal/microcontrollers/probe-rs.md msgid "" "[probe-rs](https://probe.rs/) is a handy toolset for embedded debugging, " "like OpenOCD but better integrated." msgstr "" +"یک [probe-rs](https://probe.rs/) یک مجموعه ابزار مفید برای اشکال زدایی " +"جاسازی شده است، مانند OpenOCD است، اما بهتر یکپارچه شده است." #: src/bare-metal/microcontrollers/probe-rs.md msgid "" @@ -17751,7 +18128,7 @@ msgstr "" #: src/bare-metal/microcontrollers/other-projects.md msgid "[RTIC](https://rtic.rs/)" -msgstr "" +msgstr "[RTIC](https://rtic.rs/)" #: src/bare-metal/microcontrollers/other-projects.md msgid "\"Real-Time Interrupt-driven Concurrency\"" @@ -17764,7 +18141,7 @@ msgstr "" #: src/bare-metal/microcontrollers/other-projects.md msgid "[Embassy](https://embassy.dev/)" -msgstr "" +msgstr "[Embassy](https://embassy.dev/)" #: src/bare-metal/microcontrollers/other-projects.md msgid "`async` executors with priorities, timers, networking, USB" @@ -17772,7 +18149,7 @@ msgstr "" #: src/bare-metal/microcontrollers/other-projects.md msgid "[TockOS](https://www.tockos.org/documentation/getting-started)" -msgstr "" +msgstr "[TockOS](https://www.tockos.org/documentation/getting-started)" #: src/bare-metal/microcontrollers/other-projects.md msgid "" @@ -17792,7 +18169,7 @@ msgstr "" #: src/bare-metal/microcontrollers/other-projects.md msgid "[Bindings for FreeRTOS](https://github.com/lobaro/FreeRTOS-rust)" -msgstr "" +msgstr "[Bindings for FreeRTOS](https://github.com/lobaro/FreeRTOS-rust)" #: src/bare-metal/microcontrollers/other-projects.md msgid "" @@ -17933,46 +18310,54 @@ msgstr "" #: src/exercises/bare-metal/solutions-morning.md msgid "([back to exercise](compass.md))" -msgstr "" +msgstr "([back to exercise](compass.md))" #: src/exercises/bare-metal/solutions-morning.md msgid "// Configure serial port.\n" -msgstr "" +msgstr "// Configure serial port.\n" #: src/exercises/bare-metal/solutions-morning.md +#, fuzzy msgid "// Use the system timer as a delay provider.\n" -msgstr "" +msgstr "// Use the system timer as a delay provider.\n" #: src/exercises/bare-metal/solutions-morning.md +#, fuzzy msgid "// Set up the I2C controller and Inertial Measurement Unit.\n" -msgstr "" +msgstr "// Set up the I2C controller and Inertial Measurement Unit.\n" #: src/exercises/bare-metal/solutions-morning.md msgid "\"Setting up IMU...\"" -msgstr "" +msgstr "\"راه اندازی IMU...\"" #: src/exercises/bare-metal/solutions-morning.md +#, fuzzy msgid "// Set up display and timer.\n" -msgstr "" +msgstr "// Set up display and timer.\n" #: src/exercises/bare-metal/solutions-morning.md msgid "\"Ready.\"" msgstr "\"آماده.\"" #: src/exercises/bare-metal/solutions-morning.md +#, fuzzy msgid "// Read compass data and log it to the serial port.\n" -msgstr "" +msgstr "// Read compass data and log it to the serial port.\n" #: src/exercises/bare-metal/solutions-morning.md msgid "\"{},{},{}\\t{},{},{}\"" msgstr "\"{},{},{}\\t{},{},{}\"" #: src/exercises/bare-metal/solutions-morning.md +#, fuzzy msgid "" "// If button A is pressed, switch to the next mode and briefly blink all " "LEDs\n" " // on.\n" msgstr "" +"// If button A is pressed, switch to the next mode and briefly blink all " +"LEDs\n" +" // on.\n" #: src/bare-metal/aps.md msgid "Application processors" @@ -18080,6 +18465,78 @@ msgid "" " b 2b\n" "```" msgstr "" +"```armasm\n" +".section .init.entry, \"ax\"\n" +".global entry\n" +"entry:\n" +" /*\n" +" * Load and apply the memory management configuration, ready to enable " +"MMU and\n" +" * caches.\n" +" */\n" +" adrp x30, idmap\n" +" msr ttbr0_el1, x30\n" +"\n" +" mov_i x30, .Lmairval\n" +" msr mair_el1, x30\n" +"\n" +" mov_i x30, .Ltcrval\n" +" /* Copy the supported PA range into TCR_EL1.IPS. */\n" +" mrs x29, id_aa64mmfr0_el1\n" +" bfi x30, x29, #32, #4\n" +"\n" +" msr tcr_el1, x30\n" +"\n" +" mov_i x30, .Lsctlrval\n" +"\n" +" /*\n" +" * Ensure everything before this point has completed, then invalidate " +"any\n" +" * potentially stale local TLB entries before they start being used.\n" +" */\n" +" isb\n" +" tlbi vmalle1\n" +" ic iallu\n" +" dsb nsh\n" +" isb\n" +"\n" +" /*\n" +" * Configure sctlr_el1 to enable MMU and cache and don't proceed until " +"this\n" +" * has completed.\n" +" */\n" +" msr sctlr_el1, x30\n" +" isb\n" +"\n" +" /* Disable trapping floating point access in EL1. */\n" +" mrs x30, cpacr_el1\n" +" orr x30, x30, #(0x3 << 20)\n" +" msr cpacr_el1, x30\n" +" isb\n" +"\n" +" /* Zero out the bss section. */\n" +" adr_l x29, bss_begin\n" +" adr_l x30, bss_end\n" +"0: cmp x29, x30\n" +" b.hs 1f\n" +" stp xzr, xzr, [x29], #16\n" +" b 0b\n" +"\n" +"1: /* Prepare the stack. */\n" +" adr_l x30, boot_stack_end\n" +" mov sp, x30\n" +"\n" +" /* Set up exception vector. */\n" +" adr x30, vector_table_el1\n" +" msr vbar_el1, x30\n" +"\n" +" /* Call into Rust code. */\n" +" bl main\n" +"\n" +" /* Loop forever waiting for interrupts. */\n" +"2: wfi\n" +" b 2b\n" +"```" #: src/bare-metal/aps/entry-point.md msgid "" @@ -19454,7 +19911,6 @@ msgid "Bare Metal Rust Afternoon" msgstr "بعدازظهربا Bare Metal Rust" #: src/exercises/bare-metal/solutions-afternoon.md -#, fuzzy msgid "([back to exercise](rtc.md))" msgstr "([back to exercise](rtc.md))" @@ -19478,7 +19934,6 @@ msgid "/// The IRQ used by the PL031 RTC.\n" msgstr "/// The IRQ used by the PL031 RTC.\n" #: src/exercises/bare-metal/solutions-afternoon.md -#, fuzzy msgid "\"main({:#x}, {:#x}, {:#x}, {:#x})\"" msgstr "\"main({:#x}, {:#x}, {:#x}, {:#x})\"" @@ -19518,7 +19973,6 @@ msgid "\"Waiting for {}\"" msgstr "\"Waiting for {}\"" #: src/exercises/bare-metal/solutions-afternoon.md -#, fuzzy msgid "\"matched={}, interrupt_pending={}\"" msgstr "\"matched={}, interrupt_pending={}\"" @@ -20162,7 +20616,7 @@ msgstr "`i8`, `f32`, `bool`, `char`, `&str`, ..." #: src/concurrency/send-sync/examples.md msgid "`(T1, T2)`, `[T; N]`, `&[T]`, `struct { x: T }`, ..." -msgstr "`i8`, `f32`, `bool`, `char`, `&str`, ..." +msgstr "`(T1, T2)`, `[T; N]`, `&[T]`, `struct { x: T }`, ..." #: src/concurrency/send-sync/examples.md msgid "`String`, `Option`, `Vec`, `Box`, ..." @@ -20567,6 +21021,7 @@ msgid "// Create philosophers\n" msgstr "// Create philosophers\n" #: src/concurrency/sync-exercises/dining-philosophers.md +#, fuzzy msgid "// Make each of them think and eat 100 times\n" msgstr "// Make each of them think and eat 100 times\n" @@ -20919,6 +21374,8 @@ msgid "" "`.await` asynchronously waits for the completion of another operation. " "Unlike `block_on`, `.await` doesn't block the current thread." msgstr "" +"همیشه `await` به طور ناهمزمان (asyn) منتظر تکمیل یک عملیات دیگر است. برخلاف " +"`block_on` یک `await` معمولاً thread فعلی را مسدود نمی‌کند." #: src/concurrency/async/async-await.md msgid "" @@ -21081,7 +21538,6 @@ msgid "\"Count in task: {i}!\"" msgstr "\"شمارش task: {i}!\"" #: src/concurrency/async/runtimes/tokio.md -#, fuzzy msgid "\"Main task: {i}\"" msgstr "\"Main task: {i}\"" @@ -21142,7 +21598,6 @@ msgid "\"127.0.0.1:0\"" msgstr "\"127.0.0.1:0\"" #: src/concurrency/async/tasks.md -#, fuzzy msgid "\"listening on port {}\"" msgstr "\"listening on port {}\"" @@ -21162,9 +21617,8 @@ msgid "\"socket error\"" msgstr "\"socket error\"" #: src/concurrency/async/tasks.md -#, fuzzy msgid "\"Thanks for dialing in, {name}!\\n\"" -msgstr "\"Thanks for dialing in, {name}!\\n\"" +msgstr "\"از تماس تلفنی متشکریم، {name}!\\n\"" #: src/concurrency/async/tasks.md src/concurrency/async-control-flow/join.md msgid "" @@ -21216,14 +21670,12 @@ msgstr "" "چندین crate از asynchronous channel پشتیبانی می‌کنند. به عنوان مثال `tokio`:" #: src/concurrency/async-control-flow/channels.md -#, fuzzy msgid "\"Received {count} pings so far.\"" -msgstr "\"Received {count} pings so far.\"" +msgstr "\"تاکنون {count} عدد ping دریافت شده است.\"" #: src/concurrency/async-control-flow/channels.md -#, fuzzy msgid "\"ping_handler complete\"" -msgstr "\"ping_handler complete\"" +msgstr "\"ping_handler کامل‌شده‌است\"" #: src/concurrency/async-control-flow/channels.md #, fuzzy @@ -21287,17 +21739,14 @@ msgstr "" "در JavaScript یا `asyncio.gather` در پایتون است." #: src/concurrency/async-control-flow/join.md -#, fuzzy msgid "\"https://google.com\"" msgstr "\"https://google.com\"" #: src/concurrency/async-control-flow/join.md -#, fuzzy msgid "\"https://httpbin.org/ip\"" msgstr "\"https://httpbin.org/ip\"" #: src/concurrency/async-control-flow/join.md -#, fuzzy msgid "\"https://play.rust-lang.org/\"" msgstr "\"https://play.rust-lang.org/\"" @@ -21371,7 +21820,7 @@ msgstr "\"{msg}\"" #: src/concurrency/async-control-flow/select.md msgid "\"timeout\"" -msgstr "" +msgstr "\"timeout\"" #: src/concurrency/async-control-flow/select.md #, fuzzy @@ -21573,9 +22022,8 @@ msgid "\"failed waiting for response\"" msgstr "\"failed waiting for response\"" #: src/concurrency/async-pitfalls/pin.md -#, fuzzy msgid "\"work result for iteration {i}: {resp}\"" -msgstr "\"Welcome to chat! Type a message\"" +msgstr "\"نتیجه کار برای تکرار {i}: {resp}\"" #: src/concurrency/async-pitfalls/pin.md msgid "" @@ -21787,12 +22235,10 @@ msgid "\"not UTF-8\"" msgstr "\"not UTF-8\"" #: src/concurrency/async-pitfalls/cancellation.md -#, fuzzy msgid "\"hi\\nthere\\n\"" msgstr "\"hi\\nthere\\n\"" #: src/concurrency/async-pitfalls/cancellation.md -#, fuzzy msgid "\"tick!\"" msgstr "\"tick!\"" @@ -22108,15 +22554,13 @@ msgstr "\"127.0.0.1:2000\"" #: src/concurrency/async-exercises/chat-app.md #: src/concurrency/async-exercises/solutions.md -#, fuzzy msgid "\"listening on port 2000\"" msgstr "\"listening on port 2000\"" #: src/concurrency/async-exercises/chat-app.md #: src/concurrency/async-exercises/solutions.md -#, fuzzy msgid "\"New connection from {addr:?}\"" -msgstr "\"New connection from {addr:?}\"" +msgstr "\"اتصال جدید از {addr:?}\"" #: src/concurrency/async-exercises/chat-app.md #: src/concurrency/async-exercises/solutions.md @@ -22214,14 +22658,12 @@ msgid "// tx is dropped here, so we don't need to explicitly drop it later\n" msgstr "// tx is dropped here, so we don't need to explicitly drop it later\n" #: src/concurrency/async-exercises/solutions.md -#, fuzzy msgid "\"Here is a thought: {thought}\"" -msgstr "\"Here is a thought: {thought}\"" +msgstr "\"در اینجا یک ایده وجود دارد: {thought}\"" #: src/concurrency/async-exercises/solutions.md -#, fuzzy msgid "\"Welcome to chat! Type a message\"" -msgstr "\"Welcome to chat! Type a message\"" +msgstr "\"به chat خوش آمدید! یک پیام تایپ کنید\"" #: src/concurrency/async-exercises/solutions.md #, fuzzy