2
2
msgstr ""
3
3
"Project-Id-Version: Comprehensive Rust 🦀\n"
4
4
"POT-Creation-Date: 2024-09-11T22:10:46Z\n"
5
- "PO-Revision-Date: 2024-09-24 00:14 +0330\n"
5
+ "PO-Revision-Date: 2024-10-04 21:48 +0330\n"
6
6
"Last-Translator: alix1383 <
[email protected] >\n"
7
7
"Language-Team: Persian\n"
8
8
"Language: fa\n"
@@ -633,7 +633,7 @@ msgstr "عملگرد Try"
633
633
634
634
#: src/SUMMARY.md src/error-handling.md src/error-handling/try-conversions.md
635
635
msgid "Try Conversions"
636
- msgstr ""
636
+ msgstr "این تبدیلها (Conversions) را امتحان کنید "
637
637
638
638
#: src/SUMMARY.md
639
639
msgid "`Error` Trait"
@@ -885,7 +885,7 @@ msgstr "بسته به Rust Code از ++Chromium C"
885
885
886
886
#: src/SUMMARY.md src/chromium/build-rules/vscode.md
887
887
msgid "Visual Studio Code"
888
- msgstr ""
888
+ msgstr "Visual Studio Code "
889
889
890
890
#: src/SUMMARY.md src/exercises/chromium/third-party.md
891
891
msgid "Exercise"
@@ -931,7 +931,7 @@ msgstr "مدیریت خطا: مثال PNG"
931
931
932
932
#: src/SUMMARY.md
933
933
msgid "Using CXX in Chromium"
934
- msgstr ""
934
+ msgstr "استفاده از CXX در Chromium "
935
935
936
936
#: src/SUMMARY.md src/chromium/adding-third-party-crates.md
937
937
msgid "Adding Third Party Crates"
@@ -4589,6 +4589,7 @@ msgstr "\"({}, {})\""
4589
4589
#: src/user-defined-types/tuple-structs.md
4590
4590
msgid "This is often used for single-field wrappers (called newtypes):"
4591
4591
msgstr ""
4592
+ "این اغلب برایsingle-field wrapper (که newtypes نامیده میشوند) استفاده میشود:"
4592
4593
4593
4594
#: src/user-defined-types/tuple-structs.md
4594
4595
msgid "\"Ask a rocket scientist at NASA\""
@@ -4921,13 +4922,19 @@ msgid ""
4921
4922
"various events. Use `#[derive(Debug)]` to allow the types to be formatted "
4922
4923
"with `{:?}`."
4923
4924
msgstr ""
4925
+ "ما یک ساختار داده برای نمایش یک رویداد در یک سیستم کنترل آسانسور ایجاد "
4926
+ "خواهیم کرد. این به شما بستگی دارد که انواع و عملکردها را برای ساخت رویدادهای "
4927
+ "مختلف تعریف کنید. از `#[derive(Debug)]` استفاده کنید تا اجازه دهید انواع با "
4928
+ "`{:?}` قالببندی شوند."
4924
4929
4925
4930
#: src/user-defined-types/exercise.md
4926
4931
msgid ""
4927
4932
"This exercise only requires creating and populating data structures so that "
4928
4933
"`main` runs without errors. The next part of the course will cover getting "
4929
4934
"data out of these structures."
4930
4935
msgstr ""
4936
+ "این تمرین فقط به ایجاد و پر کردن ساختارهای داده نیاز دارد تا `main` بدون خطا "
4937
+ "اجرا شود. بخش بعدی این دوره دریافت دادهها از این ساختارها را پوشش میدهد."
4931
4938
4932
4939
#: src/user-defined-types/exercise.md src/user-defined-types/solution.md
4933
4940
#, fuzzy
@@ -9439,6 +9446,8 @@ msgid ""
9439
9446
"These types perform dynamic checks using a counter in the `RefCell` to "
9440
9447
"prevent existence of a `RefMut` alongside another `Ref`/`RefMut`."
9441
9448
msgstr ""
9449
+ "این type با استفاده از یک شمارنده در `RefCell` بررسیهای dynamic را انجام "
9450
+ "میدهند تا از وجود `RefMut` در کنار `Ref`/`RefMut` دیگر جلوگیری کنند."
9442
9451
9443
9452
#: src/borrowing/interior-mutability.md
9444
9453
msgid ""
@@ -10251,7 +10260,7 @@ msgstr "پیادهسازی `Iterator`"
10251
10260
10252
10261
#: src/iterators/fromiterator.md
10253
10262
msgid "There are two ways to specify `B` for this method:"
10254
- msgstr ""
10263
+ msgstr "دو راه برای تعیین`B` برای این روش وجود دارد: "
10255
10264
10256
10265
#: src/iterators/fromiterator.md
10257
10266
msgid ""
@@ -10265,6 +10274,8 @@ msgid ""
10265
10274
"With type inference: `let prime_squares: Vec<_> = some_iterator.collect()`. "
10266
10275
"Rewrite the example to use this form."
10267
10276
msgstr ""
10277
+ "با نوع inference: `let prime_squares: Vec<_> = some_iterator.collect()`. "
10278
+ "این مثال را برای استفاده از این فرم بازنویسی کنید."
10268
10279
10269
10280
#: src/iterators/fromiterator.md
10270
10281
msgid ""
@@ -10307,11 +10318,13 @@ msgstr ""
10307
10318
10308
10319
#: src/modules.md src/modules/paths.md
10309
10320
msgid "use, super, self"
10310
- msgstr ""
10321
+ msgstr "use, super, self "
10311
10322
10312
10323
#: src/modules/modules.md
10313
10324
msgid "We have seen how `impl` blocks let us namespace functions to a type."
10314
10325
msgstr ""
10326
+ "دیدهایم که چگونه بلوکهای `impl` به ما اجازه میدهند تا namespace functions را "
10327
+ "به یک type تبدیل کنیم."
10315
10328
10316
10329
#: src/modules/modules.md
10317
10330
msgid "Similarly, `mod` lets us namespace types and functions:"
@@ -10358,6 +10371,9 @@ msgid ""
10358
10371
"rs`. Similarly, a `garden::vegetables` module can be found at `src/garden/"
10359
10372
"vegetables.rs`."
10360
10373
msgstr ""
10374
+ "این به rust میگوید که محتوای ماژول `garden` در`src/garden.rs`یافت میشود. به "
10375
+ "طور مشابه، ماژول `garden::vegetables` را میتوان در `src/garden/vegetables."
10376
+ "rs` یافت."
10361
10377
10362
10378
#: src/modules/filesystem.md
10363
10379
msgid "The `crate` root is in:"
@@ -10439,6 +10455,9 @@ msgid ""
10439
10455
"This is useful, for example, if you would like to place tests for a module "
10440
10456
"in a file named `some_module_test.rs`, similar to the convention in Go."
10441
10457
msgstr ""
10458
+ "برای مثال، اگر میخواهید تستهایی را برای یک ماژول در فایلی به نام "
10459
+ "`some_module_test.rs` قرار دهید، مفید است، شبیه به قرارداد (convention) در "
10460
+ "Go."
10442
10461
10443
10462
#: src/modules/visibility.md
10444
10463
msgid "Modules are a privacy boundary:"
@@ -10478,7 +10497,7 @@ msgstr "\"outer::inner::public\""
10478
10497
10479
10498
#: src/modules/visibility.md
10480
10499
msgid "Use the `pub` keyword to make modules public."
10481
- msgstr ""
10500
+ msgstr "از کلمه کلیدی `pub` برای public کردن ماژولها استفاده کنید. "
10482
10501
10483
10502
#: src/modules/visibility.md
10484
10503
msgid ""
@@ -10807,7 +10826,7 @@ msgstr "\"سلام دنیا!\""
10807
10826
10808
10827
#: src/testing/unit-tests.md
10809
10828
msgid "This lets you unit test private helpers."
10810
- msgstr ""
10829
+ msgstr "این به شما امکان میدهد تا private helper را آزمایش کنید. "
10811
10830
10812
10831
#: src/testing/unit-tests.md
10813
10832
msgid "The `#[cfg(test)]` attribute is only active when you run `cargo test`."
@@ -10837,7 +10856,7 @@ msgstr "// tests/my_library.rs\n"
10837
10856
10838
10857
#: src/testing/other.md
10839
10858
msgid "These tests only have access to the public API of your crate."
10840
- msgstr ""
10859
+ msgstr "این آزمایشها فقط به public API مربوط به crate شما دسترسی دارند. "
10841
10860
10842
10861
#: src/testing/other.md
10843
10862
msgid "Documentation Tests"
@@ -11129,6 +11148,8 @@ msgstr ""
11129
11148
msgid ""
11130
11149
"Use non-panicking APIs (such as `Vec::get`) if crashing is not acceptable."
11131
11150
msgstr ""
11151
+ "اگر خرابی قابل قبول نیست، از APIهای بدون panic (مانند `Vec::get`) استفاده "
11152
+ "کنید."
11132
11153
11133
11154
#: src/error-handling/panics.md
11134
11155
msgid ""
@@ -11163,10 +11184,14 @@ msgid ""
11163
11184
"This can be useful in servers which should keep running even if a single "
11164
11185
"request crashes."
11165
11186
msgstr ""
11187
+ "این کار میتواند در سرورهایی مفید باشد که حتی در صورت خراب شدن یک درخواست، "
11188
+ "باید به کار خود ادامه دهند."
11166
11189
11167
11190
#: src/error-handling/panics.md
11168
11191
msgid "This does not work if `panic = 'abort'` is set in your `Cargo.toml`."
11169
11192
msgstr ""
11193
+ "اگر `panic = 'abort'` در `Cargo.toml`» شما تنظیم شده باشد، این مورد کار "
11194
+ "نمیکند."
11170
11195
11171
11196
#: src/error-handling/result.md
11172
11197
msgid ""
@@ -11189,6 +11214,8 @@ msgid ""
11189
11214
"Whether or not a function can produce an error is encoded in the function's "
11190
11215
"type signature by having the function return a `Result` value."
11191
11216
msgstr ""
11217
+ "اینکه آیا یک تابع میتواند خطا ایجاد کند یا نه، در signature نوع تابع با "
11218
+ "برگرداندن تابع مقدار `Result` کدگذاری میشود."
11192
11219
11193
11220
#: src/error-handling/result.md
11194
11221
msgid ""
@@ -11266,7 +11293,7 @@ msgstr "بسیار سادهتر"
11266
11293
11267
11294
#: src/error-handling/try.md
11268
11295
msgid "We can use this to simplify our error handling code:"
11269
- msgstr ""
11296
+ msgstr "میتوانیم از این برای سادهسازی کد رسیدگی به خطا استفاده کنیم: "
11270
11297
11271
11298
#: src/error-handling/try.md
11272
11299
#, fuzzy
@@ -11295,6 +11322,8 @@ msgid ""
11295
11322
"Use the `fs::write` call to test out the different scenarios: no file, empty "
11296
11323
"file, file with username."
11297
11324
msgstr ""
11325
+ "از فراخوانی `fs::write` برای آزمایش سناریوهای مختلف استفاده کنید: بدون فایل، "
11326
+ "فایل خالی، فایل با نام کاربری."
11298
11327
11299
11328
#: src/error-handling/try.md
11300
11329
msgid ""
@@ -11367,6 +11396,9 @@ msgid ""
11367
11396
"`Option<T>` can use the `?` operator on `Option<U>` for arbitrary `T` and "
11368
11397
"`U` types."
11369
11398
msgstr ""
11399
+ "هیچ الزامی برای سازگاری `Option` وجود ندارد. تابعی که `Option<T>` را برمی "
11400
+ "گرداند می تواند از عملگر `?` در `Option<U>` برای انواع دلخواه `T` و `U` "
11401
+ "استفاده کند."
11370
11402
11371
11403
#: src/error-handling/try-conversions.md
11372
11404
msgid ""
@@ -11648,7 +11680,7 @@ msgstr "\"شماره نامعتبر\""
11648
11680
11649
11681
#: src/unsafe-rust.md
11650
11682
msgid "This segment should take about 1 hour and 5 minutes. It contains:"
11651
- msgstr ""
11683
+ msgstr "این بخش باید حدود ۱ ساعت و ۵ دقیقه طول بکشد.و شامل موارد زیر است: "
11652
11684
11653
11685
#: src/unsafe-rust/unsafe.md
11654
11686
msgid "The Rust language has two parts:"
@@ -11672,12 +11704,16 @@ msgid ""
11672
11704
"We saw mostly safe Rust in this course, but it's important to know what "
11673
11705
"Unsafe Rust is."
11674
11706
msgstr ""
11707
+ "ما عمدتاً safe Rust را در این دوره دیدیم، اما مهم است که بدانیم Unsafe Rust "
11708
+ "چیست."
11675
11709
11676
11710
#: src/unsafe-rust/unsafe.md
11677
11711
msgid ""
11678
11712
"Unsafe code is usually small and isolated, and its correctness should be "
11679
11713
"carefully documented. It is usually wrapped in a safe abstraction layer."
11680
11714
msgstr ""
11715
+ "کد ناامن معمولا کوچک و ایزوله است و صحت آن باید به دقت مستند شود. معمولاً در "
11716
+ "یک لایه انتزاعی ایمن پیچیده میشود."
11681
11717
11682
11718
#: src/unsafe-rust/unsafe.md
11683
11719
msgid "Unsafe Rust gives you access to five new capabilities:"
@@ -11709,6 +11745,9 @@ msgid ""
11709
11745
"[Chapter 19.1 in the Rust Book](https://doc.rust-lang.org/book/ch19-01-"
11710
11746
"unsafe-rust.html) and the [Rustonomicon](https://doc.rust-lang.org/nomicon/)."
11711
11747
msgstr ""
11748
+ "در ادامه به طور خلاصه به قابلیتهای unsafe میپردازیم. برای جزئیات کامل، لطفاً "
11749
+ "به [Chapter 19.1 in the Rust Book](https://doc.rust-lang.org/book/ch19-01-"
11750
+ "unsafe-rust.html) و [Rustonomicon](https://doc.rust-lang.org/nomicon/)."
11712
11751
11713
11752
#: src/unsafe-rust/unsafe.md
11714
11753
msgid ""
@@ -11800,7 +11839,7 @@ msgstr ""
11800
11839
11801
11840
#: src/unsafe-rust/dereferencing.md
11802
11841
msgid "There must not be concurrent accesses to the same location."
11803
- msgstr ""
11842
+ msgstr "دسترسی همزمان به یک مکان نباید وجود داشته باشد. "
11804
11843
11805
11844
#: src/unsafe-rust/dereferencing.md
11806
11845
msgid ""
@@ -11866,6 +11905,9 @@ msgid ""
11866
11905
"where it might make sense in low-level `no_std` code, such as implementing a "
11867
11906
"heap allocator or working with some C APIs."
11868
11907
msgstr ""
11908
+ "استفاده از یک static قابل تغییر (mutable) به طور کلی ایده بدی است، اما "
11909
+ "مواردی وجود دارد که ممکن است در کدهای سطح پایین `no_std` منطقی باشد، مانند "
11910
+ "اجرای یک heap allocator یا کار با برخی از APIهای مربوط به زبان C."
11869
11911
11870
11912
#: src/unsafe-rust/unions.md
11871
11913
msgid "Unions are like enums, but you need to track the active field yourself:"
@@ -12079,6 +12121,8 @@ msgid ""
12079
12121
"There should be a `# Safety` section on the Rustdoc for the trait explaining "
12080
12122
"the requirements for the trait to be safely implemented."
12081
12123
msgstr ""
12124
+ "باید یک بخش `# Safety` در Rustdoc برای این صفت (trait) وجود داشته باشد که "
12125
+ "شرایط لازم برای اجرای ایمن این trait را توضیح دهد."
12082
12126
12083
12127
#: src/unsafe-rust/unsafe-traits.md
12084
12128
msgid ""
@@ -12142,7 +12186,7 @@ msgstr ""
12142
12186
12143
12187
#: src/unsafe-rust/exercise.md
12144
12188
msgid "UTF-8"
12145
- msgstr ""
12189
+ msgstr "UTF-8 "
12146
12190
12147
12191
#: src/unsafe-rust/exercise.md
12148
12192
msgid "Text processing in Rust"
@@ -17663,6 +17707,9 @@ msgid ""
17663
17707
"Comprehensive Rust course), and ideally also have some experience with bare-"
17664
17708
"metal programming in some other language such as C."
17665
17709
msgstr ""
17710
+ "این یک دوره مستقل یک روزه در مورد bare-metal Rust است که با هدف افرادی که با "
17711
+ "اصول Rust آشنا هستند (شاید از اتمام دوره جامع Rust) و در حالت ایده آل نیز "
17712
+ "تجربه برنامهنویسی bare-metal به زبان دیگری را دارند، مانند C میباشد."
17666
17713
17667
17714
#: src/bare-metal.md
17668
17715
msgid ""
@@ -17674,7 +17721,7 @@ msgstr ""
17674
17721
17675
17722
#: src/bare-metal.md
17676
17723
msgid "What is `no_std` Rust?"
17677
- msgstr ""
17724
+ msgstr "این `no_std` Rust چیست؟ "
17678
17725
17679
17726
#: src/bare-metal.md
17680
17727
msgid "Writing firmware for microcontrollers."
@@ -17727,7 +17774,7 @@ msgstr "Slices, `&str`, `CStr`"
17727
17774
17728
17775
#: src/bare-metal/no_std.md
17729
17776
msgid "`NonZeroU8`..."
17730
- msgstr "`net` "
17777
+ msgstr "`NonZeroU8`... "
17731
17778
17732
17779
#: src/bare-metal/no_std.md
17733
17780
msgid "`Option`, `Result`"
@@ -17909,7 +17956,7 @@ msgstr ""
17909
17956
17910
17957
#: src/bare-metal/alloc.md
17911
17958
msgid "This example will build but not run, as it doesn't have an entry point."
17912
- msgstr ""
17959
+ msgstr "این مثال ساخته می شود اما اجرا نمیشود، زیرا entry point ندارد. "
17913
17960
17914
17961
#: src/bare-metal/microcontrollers.md
17915
17962
msgid ""
@@ -18448,6 +18495,7 @@ msgid ""
18448
18495
"We will read the direction from an I2C compass, and log the readings to a "
18449
18496
"serial port."
18450
18497
msgstr ""
18498
+ "ما جهت را از قطبنمای I2C میخوانیم و خوانشها را در یک پورت سریال ثبت میکنیم."
18451
18499
18452
18500
#: src/exercises/bare-metal/morning.md
18453
18501
msgid ""
@@ -18463,6 +18511,9 @@ msgid ""
18463
18511
"serial port. If you have time, try displaying it on the LEDs somehow too, or "
18464
18512
"use the buttons somehow."
18465
18513
msgstr ""
18514
+ "ما جهت را از قطبنمای I2C می خوانیم و خوانشها را در یک پورت سریال ثبت میکنیم. "
18515
+ "اگر وقت دارید، سعی کنید آن را به نحوی روی LEDها نیز نمایش دهید یا به نوعی از "
18516
+ "دکمهها استفاده کنید."
18466
18517
18467
18518
#: src/exercises/bare-metal/compass.md
18468
18519
msgid "Hints:"
@@ -18513,6 +18564,8 @@ msgid ""
18513
18564
"com/pdf/nRF52833_PS_v1.5.pdf) if you want, but it shouldn't be necessary for "
18514
18565
"this exercise."
18515
18566
msgstr ""
18567
+ "در صورت تمایل میتوانید به [nRF52833 datasheet](https://infocenter.nordicsemi."
18568
+ "com/pdf/nRF52833_PS_v1.5.pdf) نیز نگاه کنید، اما برای این تمرین لازم نیست."
18516
18569
18517
18570
#: src/exercises/bare-metal/compass.md
18518
18571
msgid ""
@@ -18550,7 +18603,7 @@ msgstr ""
18550
18603
18551
18604
#: src/exercises/bare-metal/compass.md
18552
18605
msgid "Use Ctrl+A Ctrl+Q to quit picocom."
18553
- msgstr ""
18606
+ msgstr "برای خروج از picocom از Ctrl+A و Ctrl+Q استفاده کنید. "
18554
18607
18555
18608
#: src/exercises/bare-metal/solutions-morning.md
18556
18609
msgid "Bare Metal Rust Morning Exercise"
@@ -18803,6 +18856,8 @@ msgid ""
18803
18856
"This is the same as it would be for C: initialising the processor state, "
18804
18857
"zeroing the BSS, and setting up the stack pointer."
18805
18858
msgstr ""
18859
+ "این همان چیزی است که برای C وجود دارد: مقداردهی اولیه وضعیت پردازنده، صفر "
18860
+ "کردن BSS و تنظیم stack pointer."
18806
18861
18807
18862
#: src/bare-metal/aps/entry-point.md
18808
18863
msgid ""
@@ -18824,6 +18879,8 @@ msgid ""
18824
18879
"We need to enable the MMU and cache before reading or writing any memory. If "
18825
18880
"we don't:"
18826
18881
msgstr ""
18882
+ "قبل از خواندن یا نوشتن هر حافظه باید MMU و cache را فعال کنیم. اگر این کار "
18883
+ "را نکنیم:"
18827
18884
18828
18885
#: src/bare-metal/aps/entry-point.md
18829
18886
msgid ""
@@ -18857,6 +18914,8 @@ msgid ""
18857
18914
"We also set up the exception vector (`vbar_el1`), which we'll see more about "
18858
18915
"later."
18859
18916
msgstr ""
18917
+ "ما همچنین exception vector (`vbar_el1`) را تنظیم کردیم که در ادامه بیشتر در "
18918
+ "مورد آن خواهیم دید."
18860
18919
18861
18920
#: src/bare-metal/aps/entry-point.md
18862
18921
msgid ""
@@ -20722,6 +20781,8 @@ msgstr "\"Main: got {msg}\""
20722
20781
msgid ""
20723
20782
"With bounded (synchronous) channels, `send` can block the current thread:"
20724
20783
msgstr ""
20784
+ "با کانالهای bounded (synchronous)، فرآیند `send` میتواند thread فعلی را "
20785
+ "مسدود کند:"
20725
20786
20726
20787
#: src/concurrency/channels/bounded.md
20727
20788
msgid ""
0 commit comments