diff --git a/po/fa.po b/po/fa.po index 611dd017..d67c042c 100644 --- a/po/fa.po +++ b/po/fa.po @@ -12702,78 +12702,97 @@ msgid "// Create a binder object for the `IBirthdayInfoProvider` interface.\n" msgstr "// Create a binder object for the `IBirthdayInfoProvider` interface.\n" #: src/android/aidl/types/objects.md:62 +#, fuzzy msgid "// Send the binder object to the service.\n" -msgstr "" +msgstr "// SAFETY: `abs` doesn't have any safety requirements.\n" #: src/android/aidl/types/objects.md:65 +#, fuzzy msgid "" "// Perform the same operation but passing the provider as an `SpIBinder`.\n" msgstr "" +"// Perform the same operation but passing the provider as an `SpIBinder`.\n" #: src/android/aidl/types/objects.md:72 msgid "" "Note the usage of `BnBirthdayInfoProvider`. This serves the same purpose as " "`BnBirthdayService` that we saw previously." msgstr "" +"به استفاده از `BnBirthdayInfoProvider` توجه کنید. این همان هدف " +"`BnBirthdayService` است که قبلاً دیدیم." #: src/android/aidl/types/parcelables.md:3 +#, fuzzy msgid "Binder for Rust supports sending parcelables directly:" -msgstr "" +msgstr "‏ Binder برای Rust از ارسال مستقیم بسته‌بندی‌ها پشتیبانی می‌کند:" #: src/android/aidl/types/parcelables.md:5 msgid "" "**birthday_service/aidl/com/example/birthdayservice/BirthdayInfo.aidl**:" msgstr "" +"**birthday_service/aidl/com/example/birthdayservice/BirthdayInfo.aidl**:" #: src/android/aidl/types/parcelables.md:22 +#, fuzzy msgid "/** The same thing, but with a parcelable. */" -msgstr "" +msgstr "/** The same thing, but with a parcelable. */" #: src/android/aidl/types/file-descriptor.md:3 msgid "" "Files can be sent between Binder clients/servers using the " "`ParcelFileDescriptor` type:" msgstr "" +"فایل‌ها را می‌توان با استفاده از نوع `ParcelFileDescriptor` بین کلاینت‌ها/" +"سرورهای Binder ارسال کرد:" #: src/android/aidl/types/file-descriptor.md:10 +#, fuzzy msgid "/** The same thing, but loads info from a file. */" -msgstr "" +msgstr "/** The same thing, but loads info from a file. */" #: src/android/aidl/types/file-descriptor.md:22 +#, fuzzy msgid "// Open a file and put the birthday info in it.\n" -msgstr "" +msgstr "// Open a file and put the birthday info in it.\n" #: src/android/aidl/types/file-descriptor.md:23 msgid "\"/data/local/tmp/birthday.info\"" -msgstr "" +msgstr "\"/data/local/tmp/birthday.info\"" #: src/android/aidl/types/file-descriptor.md:24 msgid "\"{name}\"" -msgstr "" +msgstr "\"{name}\"" #: src/android/aidl/types/file-descriptor.md:25 msgid "\"{years}\"" -msgstr "" +msgstr "\"{years}\"" #: src/android/aidl/types/file-descriptor.md:27 +#, fuzzy msgid "// Create a `ParcelFileDescriptor` from the file and send it.\n" -msgstr "" +msgstr "// Create a `ParcelFileDescriptor` from the file and send it.\n" #: src/android/aidl/types/file-descriptor.md:33 msgid "**birthday_service/src/lib.rs**:" -msgstr "" +msgstr "**birthday_service/src/lib.rs**:" #: src/android/aidl/types/file-descriptor.md:41 +#, fuzzy msgid "" "// Convert the file descriptor to a `File`. `ParcelFileDescriptor` wraps\n" " // an `OwnedFd`, which can be cloned and then used to create a " "`File`\n" " // object.\n" msgstr "" +"// Convert the file descriptor to a `File`. `ParcelFileDescriptor` wraps\n" +" // an `OwnedFd`, which can be cloned and then used to create a " +"`File`\n" +" // object.\n" #: src/android/aidl/types/file-descriptor.md:48 +#, fuzzy msgid "\"Invalid file handle\"" -msgstr "" +msgstr "\"Invalid file handle\"" #: src/android/aidl/types/file-descriptor.md:64 msgid "" @@ -12781,80 +12800,89 @@ msgid "" "`File` (or any other type that wraps an `OwnedFd`), and can be used to " "create a new `File` handle on the other side." msgstr "" +"‏ `ParcelFileDescriptor` یک `OwnedFd` را احاطه می‌کند و بنابراین می‌تواند از یک " +"`File` (یا هر نوع دیگری که یک `OwnedFd` را احاطه می‌کند) ایجاد کند و می‌تواند " +"برای ایجاد یک دسته `File` جدید در طرف دیگر استفاده شود." #: src/android/aidl/types/file-descriptor.md:67 msgid "" "Other types of file descriptors can be wrapped and sent, e.g. TCP, UDP, and " "UNIX sockets." msgstr "" +"انواع دیگر توصیف‌گرهای فایل را می توان بسته‌بندی و ارسال کرد، به‌عنوان‌مثال. " +"سوکت های TCP، UDP و UNIX." #: src/android/testing.md -#, fuzzy msgid "Testing in Android" -msgstr "Rust در اندروید" +msgstr "تست‌کردن در Android" #: src/android/testing.md msgid "" "Building on [Testing](../testing.md), we will now look at how unit tests " "work in AOSP. Use the `rust_test` module for your unit tests:" msgstr "" +"بر اساس [Testing](../testing.md)، اکنون به نحوه عملکرد unit testها در AOSP " +"خواهیم پرداخت. از ماژول `rust_test` برای تست های واحد خود استفاده کنید:" #: src/android/testing.md -#, fuzzy msgid "_testing/Android.bp_:" -msgstr "Rust در اندروید" +msgstr "_testing/Android.bp_:" #: src/android/testing.md msgid "\"libleftpad\"" -msgstr "" +msgstr "\"libleftpad\"" #: src/android/testing.md +#, fuzzy msgid "\"leftpad\"" -msgstr "" +msgstr "leftpad\"" #: src/android/testing.md msgid "\"libleftpad_test\"" -msgstr "" +msgstr "\"libleftpad_test\"" #: src/android/testing.md +#, fuzzy msgid "\"leftpad_test\"" -msgstr "" +msgstr "\"leftpad_test\"" #: src/android/testing.md src/android/interoperability/with-c/bindgen.md:116 msgid "\"general-tests\"" -msgstr "" +msgstr "\"general-tests\"" #: src/android/testing.md msgid "_testing/src/lib.rs_:" -msgstr "" +msgstr "_testing/src/lib.rs_:" #: src/android/testing.md +#, fuzzy msgid "//! Left-padding library.\n" -msgstr "" +msgstr "//! Left-padding library.\n" #: src/android/testing.md +#, fuzzy msgid "/// Left-pad `s` to `width`.\n" -msgstr "" +msgstr "/// Left-pad `s` to `width`.\n" #: src/android/testing.md msgid "\"{s:>width$}\"" -msgstr "" +msgstr "\"{s:>width$}\"" #: src/android/testing.md msgid "\" foo\"" -msgstr "" +msgstr "\" foo\"" #: src/android/testing.md msgid "\"foobar\"" -msgstr "" +msgstr "\"foobar\"" #: src/android/testing.md msgid "You can now run the test with" -msgstr "" +msgstr "اکنون می توانید تست را با" #: src/android/testing.md msgid "The output looks like this:" -msgstr "" +msgstr "خروجی به شکل زیر است:" #: src/android/testing.md msgid "" @@ -12869,32 +12897,48 @@ msgid "" "Test cases: finished with 2 passing and 0 failing out of 2 test cases\n" "```" msgstr "" +"```text\n" +"INFO: Elapsed time: 2.666s, Critical Path: 2.40s\n" +"INFO: 3 processes: 2 internal, 1 linux-sandbox.\n" +"INFO: Build completed successfully, 3 total actions\n" +"//comprehensive-rust-android/testing:libleftpad_test_host PASSED " +"in 2.3s\n" +" PASSED libleftpad_test.tests::long_string (0.0s)\n" +" PASSED libleftpad_test.tests::short_string (0.0s)\n" +"Test cases: finished with 2 passing and 0 failing out of 2 test cases\n" +"```" #: src/android/testing.md msgid "" "Notice how you only mention the root of the library crate. Tests are found " "recursively in nested modules." msgstr "" +"توجه کنید که چگونه فقط ریشه crate کتابخانه را ذکر می‌کنید. تست‌ها به صورت " +"بازگشتی در ماژول‌های تودرتو یافت می‌شوند." #: src/android/testing/googletest.md:3 msgid "" "The [GoogleTest](https://docs.rs/googletest/) crate allows for flexible test " "assertions using _matchers_:" msgstr "" +"جعبه [GoogleTest](https://docs.rs/googletest/) با استفاده از _matchers_ " +"اجازه می‌دهد تا assertهای آزمایشی انعطاف‌پذیر را انجام دهید:" #: src/android/testing/googletest.md:11 msgid "\"baz\"" -msgstr "" +msgstr "\"baz\"" #: src/android/testing/googletest.md:12 msgid "\"xyz\"" -msgstr "" +msgstr "\"xyz\"" #: src/android/testing/googletest.md:16 msgid "" "If we change the last element to `\"!\"`, the test fails with a structured " "error message pin-pointing the error:" msgstr "" +"اگر آخرین عنصر را به`\"!\"`تغییر دهیم، آزمایش با یک پیغام خطای ساختار یافته " +"که خطا را pin-pointing می‌کند، شکست می خورد:" #: src/android/testing/googletest.md:37 msgid "" @@ -12902,6 +12946,9 @@ msgid "" "example in a local environment. Use `cargo add googletest` to quickly add it " "to an existing Cargo project." msgstr "" +"‏ GoogleTest بخشی از Rust Playground نیست، بنابراین باید این مثال را در یک " +"محیط local اجرا کنید. برای افزودن سریع آن به پروژه Cargo موجود، از `cargo " +"add googletest` استفاده کنید." #: src/android/testing/googletest.md:41 msgid "" @@ -12909,6 +12956,9 @@ msgid "" "macros and types](https://docs.rs/googletest/latest/googletest/prelude/index." "html)." msgstr "" +"خط `use googletest::prelude::*;` تعدادی از [ماکروها و typeهای پرکاربرد]" +"(https://docs.rs/googletest/latest/googletest/prelude/index.html) را وارد " +"می‌کند." #: src/android/testing/googletest.md:44 msgid "" @@ -12919,12 +12969,19 @@ msgid "" "the library, with exercises to help you get comfortable with `googletest` " "macros, its matchers and its overall philosophy." msgstr "" +"این فقط سطح را نشان می‌دهد، تطبیق‌های داخلی زیادی وجود دارد. فصل اول [‌آزمایش " +"پیشرفته برای برنامه های Rust]‌(https://github.com/mainmatter/rust-advanced-" +"testing-workshop)، یک دوره آموزشی Rust را در نظر بگیرید: این یک مقدمه " +"راهنمایی برای کتابخانه با تمرین‌هایی که به شما کمک می‌کند با ماکروهای " +"`googletest` و مطابقت‌های آن و فلسفه کلی آن راحت باشید." #: src/android/testing/googletest.md:51 msgid "" "A particularly nice feature is that mismatches in multi-line strings are " "shown as a diff:" msgstr "" +"یک ویژگی خاص خوب این است که عدم تطابق در string‌های چند خطی به صورت یک تفاوت " +"نشان داده می شود:" #: src/android/testing/googletest.md:57 msgid "" @@ -12932,6 +12989,9 @@ msgid "" " Rust's strong typing guides the way,\\n\\\n" " Secure code you'll write.\"" msgstr "" +"\"Memory safety found,\\n\\\n" +" Rust's strong typing guides the way,\\n\\\n" +" Secure code you'll write.\"" #: src/android/testing/googletest.md:62 msgid "" @@ -12939,16 +12999,21 @@ msgid "" " Rust's silly humor guides the way,\\n\\\n" " Secure code you'll write.\"" msgstr "" +"\"Memory safety found,\\n\\\n" +" Rust's silly humor guides the way,\\n\\\n" +" Secure code you'll write.\"" #: src/android/testing/googletest.md:69 msgid "shows a color-coded diff (colors not shown here):" -msgstr "" +msgstr "تفاوت رنگی را نشان می‌دهد (رنگ ها در اینجا نشان‌داده نمی‌شوند):" #: src/android/testing/googletest.md:86 msgid "" "The crate is a Rust port of [GoogleTest for C++](https://google.github.io/" "googletest/)." msgstr "" +"این crate یک پورت [GoogleTest for C++]‌(https://google.github.io/googletest/) " +"در Rust است." #: src/android/testing/mocking.md:3 msgid "" @@ -12956,6 +13021,9 @@ msgid "" "You need to refactor your code to use traits, which you can then quickly " "mock:" msgstr "" +"برای mocking از [Mockall](https://docs.rs/mockall/) که یک کتابخانه محبوب " +"بوده استفاده شده است. برای استفاده از traitها، باید کد خود را مجدداً تغییر " +"دهید، سپس می‌توانید به سرعت آنها را mock کنید:" #: src/android/testing/mocking.md:27 msgid "" @@ -12965,6 +13033,11 @@ msgid "" "libraries work in a similar fashion as Mockall, meaning that they make it " "easy to get a mock implementation of a given trait." msgstr "" +"‏ Mockall کتابخانه mocking توصیه شده در Android (AOSP) است. [کتابخانه‌های " +"mocking دیگری در crates.io](https://crates.io/keywords/mock) در دسترس هستند، " +"به‌ویژه در زمینه سرویس‌های mocking HTTP. سایر کتابخانه‌های mocking به روشی " +"مشابه Mockall کار می‌کنند، به این معنی که اجرای ساختگی یا mock یک ویژگی خاص " +"را آسان می‌کنند." #: src/android/testing/mocking.md:33 msgid "" @@ -12973,14 +13046,25 @@ msgid "" "more stable test execution. On the other hand, the mocks can be configured " "wrongly and return output different from what the real dependencies would do." msgstr "" +"توجه داشته باشید که mocking تا حدودی _جنجال_برانگیز_ است: mockها به شما این " +"امکان را می‌دهند که آزمون را کاملاً از وابستگی‌های آن جدا کنید. نتیجه فوری آن، " +"اجرای سریع‌تر و پایدارتر تست است. از طرف دیگر، mockها را می توان به اشتباه " +"پیکربندی کرد و خروجی متفاوتی با آنچه وابستگی های واقعی انجام می دادند را " +"برگرداند." #: src/android/testing/mocking.md:38 +#, fuzzy msgid "" "If at all possible, it is recommended that you use the real dependencies. As " "an example, many databases allow you to configure an in-memory backend. This " "means that you get the correct behavior in your tests, plus they are fast " "and will automatically clean up after themselves." msgstr "" +"در صورت امکان، توصیه می‌شود از وابستگی‌های واقعی استفاده کنید. به عنوان مثال، " +"بسیاری از پایگاه‌داده‌ها به شما اجازه می‌دهند تا یک in-memory backend را " +"پیکربندی کنید. این به این معنی است که شما در تست های خود رفتار صحیح را " +"دریافت می کنید، به علاوه آنها سریع هستند و به طور خودکار پس از اجرای عملیات " +"مخصوص به خود پاک می شوند." #: src/android/testing/mocking.md:43 msgid "" @@ -12988,6 +13072,10 @@ msgid "" "binds to a random port on `localhost`. Always prefer this over mocking away " "the framework since it helps you test your code in the real environment." msgstr "" +"به‌طور‌ مشابه، بسیاری از frameworkهای وب به شما اجازه می‌دهند یک سرور در یک " +"process دیگر راه‌اندازی کنید که به یک پورت تصادفی در `localhost` متصل می‌شود. " +"همیشه این را به mock کردن framework ترجیح دهید زیرا به شما کمک می‌کند کد خود " +"را در محیط واقعی آزمایش کنید." #: src/android/testing/mocking.md:47 msgid "" @@ -12995,6 +13083,9 @@ msgid "" "in a local environment. Use `cargo add mockall` to quickly add Mockall to an " "existing Cargo project." msgstr "" +"‏ Mockall بخشی از Rust Playground نیست، بنابراین باید این مثال را در یک محیط " +"local اجرا کنید. از `cargo add mockall` برای اضافه کردن سریع Mockall به " +"پروژه Cargo موجود استفاده کنید." #: src/android/testing/mocking.md:51 msgid "" @@ -13002,6 +13093,10 @@ msgid "" "expectations which depend on the arguments passed. Here we use this to mock " "a cat which becomes hungry 3 hours after the last time it was fed:" msgstr "" +"‏ Mockall عملکرد بسیار بیشتری دارد. به ویژه، می‌توانید انتظاراتی را تنظیم کنید " +"که به استدلال های ارائه شده بستگی دارد. در اینجا ما از این برای mock کردن " +"عملکرد cat استفاده می‌کنیم که 3 ساعت پس از آخرین باری که به آن غذا داده شده " +"گرسنه می‌شود:" #: src/android/testing/mocking.md:69 msgid "" @@ -13009,61 +13104,71 @@ msgid "" "called to `n` --- the mock will automatically panic when dropped if this " "isn't satisfied." msgstr "" +"می‌توانید از `.times(n)` برای محدود‌کردن تعداد دفعاتی که یک mock method " +"می‌تواند به`n` فراخوانی شود استفاده کنید --- در صورت عدم ارضای این روش، زمانی " +"که آن را حذف کنید به‌طور خودکار دچار panic می‌شود." #: src/android/logging.md msgid "" "You should use the `log` crate to automatically log to `logcat` (on-device) " "or `stdout` (on-host):" msgstr "" +"باید از `log` crate برای ورود خودکار به`logcat` (روی دستگاه) یا `stdout` " +"(روی host) استفاده کنید:" #: src/android/logging.md msgid "_hello_rust_logs/Android.bp_:" -msgstr "" +msgstr "_hello_rust_logs/Android.bp_:" #: src/android/logging.md msgid "\"hello_rust_logs\"" -msgstr "" +msgstr "\"hello_rust_logs\"" #: src/android/logging.md msgid "\"liblog_rust\"" -msgstr "" +msgstr "\"liblog_rust\"" #: src/android/logging.md msgid "\"liblogger\"" -msgstr "" +msgstr "\"liblogger\"" #: src/android/logging.md msgid "_hello_rust_logs/src/main.rs_:" -msgstr "" +msgstr "_hello_rust_logs/src/main.rs_:" #: src/android/logging.md +#, fuzzy msgid "//! Rust logging demo.\n" -msgstr "" +msgstr "//! Rust logging demo.\n" #: src/android/logging.md +#, fuzzy msgid "/// Logs a greeting.\n" -msgstr "" +msgstr "/// Logs a greeting.\n" #: src/android/logging.md msgid "\"rust\"" -msgstr "" +msgstr "\"rust\"" #: src/android/logging.md +#, fuzzy msgid "\"Starting program.\"" -msgstr "" +msgstr "\"Starting program.\"" #: src/android/logging.md +#, fuzzy msgid "\"Things are going fine.\"" -msgstr "" +msgstr "\"Things are going fine.\"" #: src/android/logging.md +#, fuzzy msgid "\"Something went wrong!\"" -msgstr "" +msgstr "\"Something went wrong!\"" #: src/android/logging.md src/android/interoperability/with-c/bindgen.md:99 #: src/android/interoperability/with-c/rust.md:72 msgid "Build, push, and run the binary on your device:" -msgstr "" +msgstr "ساخت، push و اجرای باینری‌ها روی یک ماشین." #: src/android/logging.md msgid "" @@ -13074,132 +13179,152 @@ msgid "" "adb shell /data/local/tmp/hello_rust_logs\n" "```" msgstr "" +"```shell\n" +"m hello_rust_logs\n" +"adb push \"$ANDROID_PRODUCT_OUT/system/bin/hello_rust_logs\" /data/local/" +"tmp\n" +"adb shell /data/local/tmp/hello_rust_logs\n" +"```" #: src/android/logging.md msgid "The logs show up in `adb logcat`:" -msgstr "" +msgstr "لاگ‌ها در `adb logcat` نشان‌داده می‌شوند:" #: src/android/interoperability.md msgid "" "Rust has excellent support for interoperability with other languages. This " "means that you can:" msgstr "" +"‏‌Rust از قابلیت همکاری با زبان‌های دیگر پشتیبانی می‌کند. این بدان معنی است که " +"شما می‌توانید:" #: src/android/interoperability.md msgid "Call Rust functions from other languages." -msgstr "" +msgstr "توابع Rust را از زبان های دیگر فراخوانی کنید." #: src/android/interoperability.md msgid "Call functions written in other languages from Rust." -msgstr "" +msgstr "فراخوانی توابع نوشته شده به زبان های دیگر از Rust." #: src/android/interoperability.md msgid "" "When you call functions in a foreign language we say that you're using a " "_foreign function interface_, also known as FFI." msgstr "" +"وقتی توابعی را به‌ یک زبان خارجی فراخوانی می‌کنید، می‌گوییم که از یک رابط تابع " +"خارج( _foreign function interface_) که به نام FFI نیز شناخته می‌شود، استفاده " +"می‌کنید." #: src/android/interoperability/with-c.md:1 msgid "Interoperability with C" -msgstr "" +msgstr "قابلیت همکاری با C" #: src/android/interoperability/with-c.md:3 msgid "" "Rust has full support for linking object files with a C calling convention. " "Similarly, you can export Rust functions and call them from C." msgstr "" +"‏ Rust پشتیبانی کاملی برای link دادن object fileهایی با یک فراخوانی C دارد. " +"به طور مشابه، می توانید توابع Rust را export کرده و آنها را از C فراخوانی " +"کنید." #: src/android/interoperability/with-c.md:6 msgid "You can do it by hand if you want:" -msgstr "" +msgstr "در صورت تمایل می‌توانید این کار را دستی انجام دهید:" #: src/android/interoperability/with-c.md:15 +#, fuzzy msgid "// SAFETY: `abs` doesn't have any safety requirements.\n" -msgstr "" +msgstr "// SAFETY: `abs` doesn't have any safety requirements.\n" #: src/android/interoperability/with-c.md:17 msgid "\"{x}, {abs_x}\"" -msgstr "" +msgstr "\"{x}, {abs_x}\"" #: src/android/interoperability/with-c.md:21 msgid "" "We already saw this in the [Safe FFI Wrapper exercise](../../unsafe-rust/" "exercise.md)." msgstr "" +"ما قبلاً این را در [تمرین Safe FFI Wrapper](../../unsafe-rust/exercise.md) " +"دیدیم." #: src/android/interoperability/with-c.md:24 msgid "" "This assumes full knowledge of the target platform. Not recommended for " "production." msgstr "" +"این مستلزم آگاهی کامل از پلتفرم هدف است و برای production توصیه نمی‌شود." #: src/android/interoperability/with-c.md:27 msgid "We will look at better options next." -msgstr "" +msgstr "در ادامه گزینه‌های بهتر را بررسی خواهیم کرد." #: src/android/interoperability/with-c/bindgen.md:1 msgid "Using Bindgen" -msgstr "" +msgstr "با استفاده از Bindgen" #: src/android/interoperability/with-c/bindgen.md:3 msgid "" "The [bindgen](https://rust-lang.github.io/rust-bindgen/introduction.html) " "tool can auto-generate bindings from a C header file." msgstr "" +"ابزار [bindgen](https://rust-lang.github.io/rust-bindgen/introduction.html) " +"می‌تواند اتصالات را از یک فایل هدر C به طور خودکار ایجاد کند." #: src/android/interoperability/with-c/bindgen.md:6 msgid "First create a small C library:" -msgstr "" +msgstr "ابتدا یک کتابخانه کوچک C ایجاد کنید:" #: src/android/interoperability/with-c/bindgen.md:8 msgid "_interoperability/bindgen/libbirthday.h_:" -msgstr "" +msgstr "_interoperability/bindgen/libbirthday.h_:" #: src/android/interoperability/with-c/bindgen.md:19 msgid "_interoperability/bindgen/libbirthday.c_:" -msgstr "" +msgstr "_interoperability/bindgen/libbirthday.c_:" #: src/android/interoperability/with-c/bindgen.md:22 msgid "" -msgstr "" +msgstr "" #: src/android/interoperability/with-c/bindgen.md:23 #: src/android/interoperability/with-c/bindgen.md:50 msgid "\"libbirthday.h\"" -msgstr "" +msgstr "\"libbirthday.h\"" #: src/android/interoperability/with-c/bindgen.md:26 #: src/android/interoperability/with-c/bindgen.md:29 msgid "\"+--------------\\n\"" -msgstr "" +msgstr "\"+--------------\\n\"" #: src/android/interoperability/with-c/bindgen.md:27 msgid "\"| Happy Birthday %s!\\n\"" -msgstr "" +msgstr "\"| Happy Birthday %s!\\n\"" #: src/android/interoperability/with-c/bindgen.md:28 msgid "\"| Congratulations with the %i years!\\n\"" -msgstr "" +msgstr "\"| Congratulations with the %i years!\\n\"" #: src/android/interoperability/with-c/bindgen.md:33 msgid "Add this to your `Android.bp` file:" -msgstr "" +msgstr "این را به فایل `Android.bp` خود اضافه کنید:" #: src/android/interoperability/with-c/bindgen.md:35 #: src/android/interoperability/with-c/bindgen.md:55 #: src/android/interoperability/with-c/bindgen.md:69 #: src/android/interoperability/with-c/bindgen.md:109 msgid "_interoperability/bindgen/Android.bp_:" -msgstr "" +msgstr "_interoperability/bindgen/Android.bp_:" #: src/android/interoperability/with-c/bindgen.md:39 #: src/android/interoperability/with-c/bindgen.md:63 msgid "\"libbirthday\"" -msgstr "" +msgstr "\"libbirthday\"" #: src/android/interoperability/with-c/bindgen.md:40 msgid "\"libbirthday.c\"" -msgstr "" +msgstr "\"libbirthday.c\"" #: src/android/interoperability/with-c/bindgen.md:44 msgid "" @@ -18234,7 +18359,7 @@ msgid "" "the RTC match. You can use the driver provided in the [`arm-gic`](https://" "docs.rs/arm-gic/) crate to configure the Arm Generic Interrupt Controller." msgstr "" -"ء _افزونه‌ها اگر زمان دارید:_ وقفه ایجاد شده توسط تطبیق RTC را فعال کرده و آن " +"‏ _افزونه‌ها اگر زمان دارید:_ وقفه ایجاد شده توسط تطبیق RTC را فعال کرده و آن " "را مدیریت کنید. می‌توانید از درایور ارائه شده در crate [`arm-gic`](https://" "docs.rs/arm-gic/) برای پیکربندی Arm Generic Interrupt Controller استفاده " "کنید." @@ -18265,11 +18390,11 @@ msgid "" "_src/exceptions.rs_ (you should only need to change this for the 3rd part of " "the exercise):" msgstr "" -"ء _src/exceptions.rs_ (شما فقط باید این را برای بخش سوم تمرین تغییر دهید):" +"‏ _src/exceptions.rs_ (شما فقط باید این را برای بخش سوم تمرین تغییر دهید):" #: src/exercises/bare-metal/rtc.md:156 msgid "_src/logger.rs_ (you shouldn't need to change this):" -msgstr "ء _src/logger.rs_ (نیازی نیست این مورد را تغییر دهید):" +msgstr "‏ _src/logger.rs_ (نیازی نیست این مورد را تغییر دهید):" #: src/exercises/bare-metal/rtc.md:216 msgid "_src/pl011.rs_ (you shouldn't need to change this):"