diff --git a/po/fa.po b/po/fa.po
index 85906b7f1a0..17e9b938582 100644
--- a/po/fa.po
+++ b/po/fa.po
@@ -1566,8 +1566,8 @@ msgstr "فرض میشود"
#: src/index.md
msgid ""
"The course assumes that you already know how to program. Rust is a "
-"statically-typed language and we will sometimes make comparisons with C and "
-"C++ to better explain or contrast the Rust approach."
+"statically-typed language and we will sometimes make comparisons with C and C"
+"++ to better explain or contrast the Rust approach."
msgstr ""
"این دوره فرض می کندشما دانش برنامه نویسی دارید. Rust یک زبان استاتیک تایپ ."
"است \n"
@@ -1627,8 +1627,8 @@ msgid ""
"Make yourself familiar with the course material. We've included speaker "
"notes to help highlight the key points (please help us by contributing more "
"speaker notes!). When presenting, you should make sure to open the speaker "
-"notes in a popup (click the link with a little arrow next to \"Speaker "
-"Notes\"). This way you have a clean screen to present to the class."
+"notes in a popup (click the link with a little arrow next to \"Speaker Notes"
+"\"). This way you have a clean screen to present to the class."
msgstr ""
"با مطالب دوره آشنا شوید. ما یادداشت های سخنرانی را برای کمک به برجسته کردن "
"نکات کلیدی گنجاندهایم (لطفا با مشارکت بیشتر در یادداشتهای سخنران به ما کمک "
@@ -1799,7 +1799,7 @@ msgstr "پیاده سازی"
#: src/iterators.md src/modules.md src/testing.md src/error-handling.md
#: src/unsafe-rust.md src/concurrency/shared-state.md
#: src/concurrency/async-control-flow.md src/concurrency/async-pitfalls.md
-msgid "5 minutes"
+msgid "۵ minutes"
msgstr "۵ دقیقه"
#: src/running-the-course/course-structure.md:16
@@ -1889,7 +1889,7 @@ msgstr "صبح روز ۳ (۲ ساعت و ۲۰ دقیقه، شامل وقت اس
#: src/running-the-course/course-structure.md:57
msgid "Day 3 Afternoon (1 hour and 55 minutes, including breaks)"
-msgstr "بعدازظهر روز ۳ (۱ ساعت و ۵۵ دقیقه، شامل وقت اسراحت)"
+msgstr "بعدازظهر روز ۳ (۱ ساعت و ۵۵ دقیقه، شامل وقت اسراحت)"
#: src/running-the-course/course-structure.md:65
msgid "Day 4 Morning (2 hours and 40 minutes, including breaks)"
@@ -2046,7 +2046,7 @@ msgstr "۳۰ دقیقه"
#: src/concurrency/welcome-async.md src/concurrency/async-pitfalls.md
#: src/concurrency/async-exercises.md
msgid "20 minutes"
-msgstr "۲۰ دقیقه""
+msgstr "۲۰ دقیقه"
#: src/running-the-course/course-structure.md:153 src/concurrency/welcome.md
msgid "Send and Sync"
@@ -4018,8 +4018,8 @@ msgstr ""
#, fuzzy
msgid ""
"Rust will auto-dereference in some cases, in particular when invoking "
-"methods (try `r.is_ascii()`). There is no need for an `->` operator like in "
-"C++."
+"methods (try `r.is_ascii()`). There is no need for an `->` operator like in C"
+"++."
msgstr ""
"راست در برخی موارد بهطور خودکار از Dereference میکند، بهویژه هنگام فراخوانی "
"متدها (`ref_x.count_ones()` را امتحان کنید)."
@@ -4207,8 +4207,8 @@ msgstr ""
#, fuzzy
msgid ""
"`&str` introduces a string slice, which is an immutable reference to UTF-8 "
-"encoded string data stored in a block of memory. String literals "
-"(`\"Hello\"`), are stored in the program’s binary."
+"encoded string data stored in a block of memory. String literals (`\"Hello"
+"\"`), are stored in the program’s binary."
msgstr ""
"`&str` یک برش رشتهای را معرفی میکند، که یک مرجع "
"غیرقابل تغییر به دادههای رشتهای رمزشده UTF-8 است که در یک بلوک حافظه ذخیره "
@@ -4279,9 +4279,9 @@ msgstr ""
#: src/references/strings.md:67
msgid ""
-"Raw strings allow you to create a `&str` value with escapes disabled: "
-"`r\"\\n\" == \"\\\\n\"`. You can embed double-quotes by using an equal "
-"amount of `#` on either side of the quotes:"
+"Raw strings allow you to create a `&str` value with escapes disabled: `r\"\\n"
+"\" == \"\\\\n\"`. You can embed double-quotes by using an equal amount of "
+"`#` on either side of the quotes:"
msgstr ""
"رشتههای خام به شما امکان می دهند یک مقدار &str
با غیرفعال کردن فرارها ایجاد کنید: `r\"\\n\" "
@@ -4548,9 +4548,9 @@ msgstr ""
#: src/user-defined-types/enums.md:45
msgid ""
"If the allowed variant values do not cover all bit patterns, it will use "
-"invalid bit patterns to encode the discriminant (the \"niche "
-"optimization\"). For example, `Option<&u8>` stores either a pointer to an "
-"integer or `NULL` for the `None` variant."
+"invalid bit patterns to encode the discriminant (the \"niche optimization"
+"\"). For example, `Option<&u8>` stores either a pointer to an integer or "
+"`NULL` for the `None` variant."
msgstr ""
#: src/user-defined-types/enums.md:49
@@ -5073,8 +5073,8 @@ msgid ""
"spot. Try changing the `2` in the second arm to a variable, and see that it "
"subtly doesn't work. Change it to a `const` and see it working again."
msgstr ""
-"تشخیص تفاوت بین یک گرفتن متغییر و یک عبارت ثابت میتواند دشوار باشد. سعی کنید "
-"`2` را در شاخه دوم به یک متغیر تغییر دهید و خواهید دید که کار نمیکند. آن را "
+"تشخیص تفاوت بین یک گرفتن متغییر و یک عبارت ثابت میتواند دشوار باشد. سعی کنید "
+"`2` را در شاخه دوم به یک متغیر تغییر دهید و خواهید دید که کار نمیکند. آن را "
"به یک `const` تغییر دهید و خواهید دید که دوباره کار میکند."
#: src/pattern-matching/destructuring-enums.md:3
@@ -8093,8 +8093,8 @@ msgid ""
"| :\n"
": +-----------+-------+ : | : | "
"'-------. :\n"
-": : | : | data:"
-"\"Dog\"| :\n"
+": : | : | data:\"Dog"
+"\"| :\n"
": : | : | +-------+--|-------"
"+ :\n"
"`- - - - - - - - - - - - - -' | : +---|-+-----+ | name | o, 4, 4 "
@@ -8116,16 +8116,16 @@ msgid ""
"vtable :\n"
" : | | +----------------------"
"+ :\n"
-" : | `----->| \"::"
-"talk\" | :\n"
+" : | `----->| \"::talk"
+"\" | :\n"
" : | +----------------------"
"+ :\n"
" : | "
"vtable :\n"
" : | +----------------------"
"+ :\n"
-" : '----------->| \"::"
-"talk\" | :\n"
+" : '----------->| \"::talk"
+"\" | :\n"
" : +----------------------"
"+ :\n"
" : :\n"
@@ -8441,8 +8441,8 @@ msgstr ""
#: src/borrowing/exercise.md:45
msgid ""
-"\"Update a user's statistics based on measurements from a visit to the "
-"doctor\""
+"\"Update a user's statistics based on measurements from a visit to the doctor"
+"\""
msgstr ""
#: src/borrowing/exercise.md:50 src/borrowing/exercise.md:56
@@ -9045,9 +9045,8 @@ msgstr ""
#: src/modules/filesystem.md:18
msgid ""
-"Modules defined in files can be documented, too, using \"inner doc "
-"comments\". These document the item that contains them -- in this case, a "
-"module."
+"Modules defined in files can be documented, too, using \"inner doc comments"
+"\". These document the item that contains them -- in this case, a module."
msgstr ""
#: src/modules/filesystem.md:22
@@ -9485,9 +9484,9 @@ msgstr ""
#: src/testing/other.md:26
msgid ""
"/// Shortens a string to the given length. /// /// `/// # use playground::"
-"shorten_string; /// assert_eq!(shorten_string(\"Hello World\", 5), "
-"\"Hello\"); /// assert_eq!(shorten_string(\"Hello World\", 20), \"Hello "
-"World\"); ///`"
+"shorten_string; /// assert_eq!(shorten_string(\"Hello World\", 5), \"Hello"
+"\"); /// assert_eq!(shorten_string(\"Hello World\", 20), \"Hello World"
+"\"); ///`"
msgstr ""
#: src/testing/other.md:38
@@ -11626,9 +11625,9 @@ msgstr ""
#: src/android/aidl/types/arrays.md:15
msgid ""
"In Android 13 or higher, fixed-size arrays are supported, i.e. `T[N]` "
-"becomes `[T; N]`. Fixed-size arrays can have multiple dimensions (e.g. "
-"int\\[3\\]\\[4\\]). In the Java backend, fixed-size arrays are represented "
-"as array types."
+"becomes `[T; N]`. Fixed-size arrays can have multiple dimensions (e.g. int"
+"\\[3\\]\\[4\\]). In the Java backend, fixed-size arrays are represented as "
+"array types."
msgstr ""
#: src/android/aidl/types/arrays.md:18
@@ -11884,9 +11883,9 @@ msgstr ""
#: src/android/testing/googletest.md:44
msgid ""
"This just scratches the surface, there are many builtin matchers. Consider "
-"going through the first chapter of \"Advanced testing for Rust "
-"applications\", a self-guided Rust course: it provides a guided introduction "
-"to the library, with exercises to help you get comfortable with `googletest` "
+"going through the first chapter of \"Advanced testing for Rust applications"
+"\", a self-guided Rust course: it provides a guided introduction to the "
+"library, with exercises to help you get comfortable with `googletest` "
"macros, its matchers and its overall philosophy."
msgstr ""
@@ -14126,8 +14125,8 @@ msgstr ""
#: src/exercises/chromium/interoperability-with-cpp.md:27
msgid ""
-"You may also need to `#include \"third_party/rust/cxx/v1/crate/include/cxx."
-"h\"`"
+"You may also need to `#include \"third_party/rust/cxx/v1/crate/include/cxx.h"
+"\"`"
msgstr ""
#: src/exercises/chromium/interoperability-with-cpp.md:29
@@ -14591,8 +14590,8 @@ msgstr ""
msgid ""
"```bob\n"
" +------------+ +----------------------+\n"
-"\"//third_party/rust\" | crate name | \"/v\" | major semver version | \":"
-"lib\"\n"
+"\"//third_party/rust\" | crate name | \"/v\" | major semver version | \":lib"
+"\"\n"
" +------------+ +----------------------+\n"
"```"
msgstr ""
@@ -17596,11 +17595,10 @@ msgstr ""
#: src/concurrency/shared-state/mutex.md:43
msgid ""
-"If the thread that held the `Mutex` panicked, the `Mutex` becomes "
-"\"poisoned\" to signal that the data it protected might be in an "
-"inconsistent state. Calling `lock()` on a poisoned mutex fails with a "
-"`PoisonError`. You can call `into_inner()` on the error to recover the data "
-"regardless."
+"If the thread that held the `Mutex` panicked, the `Mutex` becomes \"poisoned"
+"\" to signal that the data it protected might be in an inconsistent state. "
+"Calling `lock()` on a poisoned mutex fails with a `PoisonError`. You can "
+"call `into_inner()` on the error to recover the data regardless."
msgstr ""
#: src/concurrency/shared-state/example.md:3
@@ -17805,8 +17803,8 @@ msgid ""
"publish = false\n"
"\n"
"[dependencies]\n"
-"reqwest = { version = \"0.11.12\", features = [\"blocking\", \"rustls-"
-"tls\"] }\n"
+"reqwest = { version = \"0.11.12\", features = [\"blocking\", \"rustls-tls"
+"\"] }\n"
"scraper = \"0.13.0\"\n"
"thiserror = \"1.0.37\"\n"
"```"
@@ -18816,8 +18814,8 @@ msgid ""
"futures-util = { version = \"0.3.30\", features = [\"sink\"] }\n"
"http = \"1.1.0\"\n"
"tokio = { version = \"1.38.0\", features = [\"full\"] }\n"
-"tokio-websockets = { version = \"0.8.3\", features = [\"client\", "
-"\"fastrand\", \"server\", \"sha1_smol\"] }\n"
+"tokio-websockets = { version = \"0.8.3\", features = [\"client\", \"fastrand"
+"\", \"server\", \"sha1_smol\"] }\n"
"```"
msgstr ""
@@ -19004,8 +19002,8 @@ msgstr ""
#: src/thanks.md
msgid ""
-"_Thank you for taking Comprehensive Rust 🦀!_ We hope you enjoyed it and "
-"that it was useful."
+"_Thank you for taking Comprehensive Rust 🦀!_ We hope you enjoyed it and that "
+"it was useful."
msgstr ""
#: src/thanks.md