From b1540d9582a178fe598a70a1d8c7a5aed4d99c79 Mon Sep 17 00:00:00 2001 From: Danny Khosravi Date: Sat, 31 Aug 2024 00:37:41 +0330 Subject: [PATCH] fa: Android part 1/4 (#2337) fa: Android part 1/4 --------- Co-authored-by: javad-jafari Co-authored-by: javad-jafari <65780584+javad-jafari@users.noreply.github.com> --- po/fa.po | 233 +++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 165 insertions(+), 68 deletions(-) diff --git a/po/fa.po b/po/fa.po index 171b90ef4fb..0c12e90e61e 100644 --- a/po/fa.po +++ b/po/fa.po @@ -11603,7 +11603,7 @@ msgstr "" #: src/android.md msgid "Welcome to Rust in Android" -msgstr "" +msgstr "به Rust در اندروید خوش‌آمدید." #: src/android.md msgid "" @@ -11611,6 +11611,9 @@ msgid "" "write new services, libraries, drivers or even firmware in Rust (or improve " "existing code as needed)." msgstr "" +"‏ Rust برای system software در اندروید پشتیبانی می‌شود. این بدان معناست که می " +"توانید سرویس‌ها، کتابخانه‌‌ها، درایورها یا حتی سیستم‌عامل جدید را در Rust " +"بنویسید (یا در صورت نیاز کدهای موجود را بهبود ببخشید)." #: src/android.md msgid "" @@ -11619,170 +11622,209 @@ msgid "" "to Rust. The fewer dependencies and \"exotic\" types the better. Something " "that parses some raw bytes would be ideal." msgstr "" +"ما امروز سعی خواهیم کرد Rust را از یکی از پروژه‌های خودتان فراخوانی کنیم. " +"بنابراین سعی کنید گوشه کوچکی از پایه کد خود را پیدا کنید تا بتوانیم برخی از " +"خطوط کد را به Rust منتقل کنیم. هر چه وابستگی‌ها و انواع \"exotic\" کمتر باشد " +"برای ما بهتر است. چیزی که برخی از بایت‌های خام را تجزیه کند ایده آل خواهد بود." #: src/android.md msgid "" "The speaker may mention any of the following given the increased use of Rust " "in Android:" msgstr "" +"با‌توجه‌به افزایش استفاده از Rust در اندروید، سخنران ممکن است به یکی از موارد " +"زیر اشاره کند:" #: src/android.md msgid "" "Service example: [DNS over HTTP](https://security.googleblog.com/2022/07/dns-" "over-http3-in-android.html)" msgstr "" +"‏ مثال سرویس: [DNS over HTTP](https://security.googleblog.com/2022/07/dns-" +"over-http3-in-android.html)" #: src/android.md msgid "" "Libraries: [Rutabaga Virtual Graphics Interface](https://crosvm.dev/book/" "appendix/rutabaga_gfx.html)" msgstr "" +"کتابخانه‌ها: [Rutabaga Virtual Graphics Interface]‌(https://crosvm.dev/book/" +"appendix/rutabaga_gfx.html)" #: src/android.md msgid "" "Kernel Drivers: [Binder](https://lore.kernel.org/rust-for-linux/20231101-" "rust-binder-v1-0-08ba9197f637@google.com/)" msgstr "" +"Kernel Drivers: [Binder](https://lore.kernel.org/rust-for-linux/20231101-" +"rust-binder-v1-0-08ba9197f637@google.com/)" #: src/android.md msgid "" "Firmware: [pKVM firmware](https://security.googleblog.com/2023/10/bare-metal-" "rust-in-android.html)" msgstr "" +"Firmware: [pKVM firmware](https://security.googleblog.com/2023/10/bare-metal-" +"rust-in-android.html)" #: src/android/setup.md msgid "" "We will be using a Cuttlefish Android Virtual Device to test our code. Make " "sure you have access to one or create a new one with:" msgstr "" +"ما از یک دستگاه Cuttlefish Android Virtual برای آزمایش کد خود استفاده خواهیم " +"کرد. مطمئن شوید که به یکی از آنها دسترسی دارید یا یک مورد جدید ایجاد کنید:" #: src/android/setup.md msgid "" "Please see the [Android Developer Codelab](https://source.android.com/docs/" "setup/start) for details." msgstr "" +"لطفاً برای جزئیات به [Android Developer Codelab]‌(https://source.android.com/" +"docs/setup/start) مراجعه کنید." #: src/android/setup.md msgid "" "Cuttlefish is a reference Android device designed to work on generic Linux " "desktops. MacOS support is also planned." msgstr "" +"‏ Cuttlefish یک Android device مرجع است که برای کار بر روی دسکتاپ های لینوکس " +"عمومی طراحی شده است. پشتیبانی از MacOS نیز برنامه‌ریزی شده است." #: src/android/setup.md msgid "" "The Cuttlefish system image maintains high fidelity to real devices, and is " "the ideal emulator to run many Rust use cases." msgstr "" +"این Cuttlefish system image تعهد بالایی به دستگاه‌های واقعی دارد و شبیه‌ساز " +"ایده آل برای اجرای بسیاری از موارد استفاده از Rust است." #: src/android/build-rules.md msgid "The Android build system (Soong) supports Rust via a number of modules:" msgstr "" +"‏ Android build system (Soong) از Rust از طریق تعدادی ماژول پشتیبانی می‌کند:" #: src/android/build-rules.md msgid "Module Type" -msgstr "" +msgstr "Module Type" #: src/android/build-rules.md msgid "Description" -msgstr "" +msgstr "توضیحات" #: src/android/build-rules.md msgid "`rust_binary`" -msgstr "" +msgstr "`rust_binary`" #: src/android/build-rules.md msgid "Produces a Rust binary." -msgstr "" +msgstr "یک Rust binary تولید می‌کند." #: src/android/build-rules.md msgid "`rust_library`" -msgstr "" +msgstr "`rust_library`" #: src/android/build-rules.md msgid "Produces a Rust library, and provides both `rlib` and `dylib` variants." msgstr "" +"یک کتابخانه Rust تولید می‌کند و هر دو نوع `rlib` و `dylib` را ارائه می‌دهد." #: src/android/build-rules.md msgid "`rust_ffi`" -msgstr "" +msgstr "`rust_ffi`" #: src/android/build-rules.md msgid "" "Produces a Rust C library usable by `cc` modules, and provides both static " "and shared variants." msgstr "" +"یک کتابخانه Rust C قابل استفاده توسط ماژول‌های `cc` تولید می‌کند و انواع " +"متغیرهای static و share را ارائه می‌کند." #: src/android/build-rules.md msgid "`rust_proc_macro`" -msgstr "" +msgstr "`rust_proc_macro`" #: src/android/build-rules.md msgid "" "Produces a `proc-macro` Rust library. These are analogous to compiler " "plugins." msgstr "" +"یک کتابخانه `proc-macro` تولید می‌کند. اینها مشابه پلاگین‌های کامپایلر هستند." #: src/android/build-rules.md msgid "`rust_test`" -msgstr "" +msgstr "`rust_test`" #: src/android/build-rules.md msgid "Produces a Rust test binary that uses the standard Rust test harness." msgstr "" +"یک باینری تست Rust تولید می‌کند که از استاندارد Rust test مهار شده استفاده " +"می‌کند." #: src/android/build-rules.md msgid "`rust_fuzz`" -msgstr "" +msgstr "`rust_fuzz`" #: src/android/build-rules.md msgid "Produces a Rust fuzz binary leveraging `libfuzzer`." -msgstr "" +msgstr "یک `libfuzzer` باینری Rust fuzz تولید می‌کند." #: src/android/build-rules.md msgid "`rust_protobuf`" -msgstr "" +msgstr "`rust_protobuf`" #: src/android/build-rules.md msgid "" "Generates source and produces a Rust library that provides an interface for " "a particular protobuf." msgstr "" +"یک source تولید می‌کند و یک کتابخانه Rust تولید می‌کند که یک interface برای یک " +"protobuf خاص فراهم می‌کند." #: src/android/build-rules.md msgid "`rust_bindgen`" -msgstr "" +msgstr "`rust_bindgen`" #: src/android/build-rules.md msgid "" "Generates source and produces a Rust library containing Rust bindings to C " "libraries." msgstr "" +"یک source تولید می‌کند و یک کتابخانه Rust حاوی پیوندهای Rust به کتابخانه‌های C " +"تولید می‌کند." #: src/android/build-rules.md msgid "We will look at `rust_binary` and `rust_library` next." -msgstr "" +msgstr "در ادامه به `rust_binary` و `rust_binary` نگاه خواهیم کرد." #: src/android/build-rules.md msgid "Additional items speaker may mention:" -msgstr "" +msgstr "موارد دیگری که سخنران ممکن است ذکر کند:" #: src/android/build-rules.md msgid "" "Cargo is not optimized for multi-language repos, and also downloads packages " "from the internet." msgstr "" +"‏ Cargo برای repoهای چند‌زبانه بهینه‌سازی نشده است و همچنین packageها را از " +"اینترنت دانلود می‌کند." #: src/android/build-rules.md msgid "" "For compliance and performance, Android must have crates in-tree. It must " "also interop with C/C++/Java code. Soong fills that gap." msgstr "" +"برای انطباق و کارایی، اندروید باید crates in-tree داشته باشد. همچنین باید با " +"کد C/C++/Java همکاری داشته باشد. Soong این شکاف را پر می کند." #: src/android/build-rules.md msgid "" "Soong has many similarities to Bazel, which is the open-source variant of " "Blaze (used in google3)." msgstr "" +"‏ Soong شباهت‌های زیادی به Bazel دارد که نوع open-source از Blaze است (مورد " +"استفاده در google3)." #: src/android/build-rules.md msgid "" @@ -11791,57 +11833,66 @@ msgid "" "com/chromiumos/bazel/), and [Fuchsia](https://source.android.com/docs/setup/" "build/bazel/introduction) to Bazel." msgstr "" +"برنامه‌ای برای انتقال [Android](https://source.android.com/docs/setup/build/" +"bazel/introduction)، [ChromeOS](https://chromium.googlesource.com/chromiumos/" +"bazel/) وجود دارد و انتقال [Fuchsia](https://source.android.com/docs/setup/" +"build/bazel/introduction) به Bazel." #: src/android/build-rules.md msgid "Learning Bazel-like build rules is useful for all Rust OS developers." -msgstr "" +msgstr "یادگیری قوانین ساخت Bazel-like برای همه توسعه‌دهندگان Rust OS مفید است." #: src/android/build-rules.md +#, fuzzy msgid "Fun fact: Data from Star Trek is a Soong-type Android." -msgstr "" +msgstr "واقعیت جالب: داده‌های Star Trek یک اندروید از نوع Soong است." #: src/android/build-rules/binary.md:1 msgid "Rust Binaries" -msgstr "" +msgstr "Rust Binaries" #: src/android/build-rules/binary.md:3 msgid "" "Let us start with a simple application. At the root of an AOSP checkout, " "create the following files:" msgstr "" +"اجازه دهید با یک برنامه ساده شروع کنیم. در ریشه یک AOSP، فایل های زیر را " +"ایجاد کنید:" #: src/android/build-rules/binary.md:6 src/android/build-rules/library.md:13 msgid "_hello_rust/Android.bp_:" -msgstr "" +msgstr "_hello_rust/Android.bp_:" #: src/android/build-rules/binary.md:10 src/android/build-rules/binary.md:11 +#, fuzzy msgid "\"hello_rust\"" -msgstr "" +msgstr "\"hello_rust\"" #: src/android/build-rules/binary.md:12 src/android/build-rules/library.md:19 #: src/android/logging.md msgid "\"src/main.rs\"" -msgstr "" +msgstr "\"src/main.rs\"" #: src/android/build-rules/binary.md:16 src/android/build-rules/library.md:34 msgid "_hello_rust/src/main.rs_:" -msgstr "" +msgstr "_hello_rust/src/main.rs_:" #: src/android/build-rules/binary.md:19 src/android/build-rules/library.md:37 msgid "//! Rust demo.\n" -msgstr "" +msgstr "//! Rust demo.\n" #: src/android/build-rules/binary.md:20 src/android/build-rules/library.md:41 msgid "/// Prints a greeting to standard output.\n" -msgstr "" +msgstr "/// Prints a greeting to standard output.\n" #: src/android/build-rules/binary.md:23 src/exercises/chromium/build-rules.md:9 +#, fuzzy msgid "\"Hello from Rust!\"" -msgstr "" +msgstr "\"Hello from Rust!\"" #: src/android/build-rules/binary.md:27 msgid "You can now build, push, and run the binary:" -msgstr "" +msgstr "اکنون می‌توانید باینری را بسازید، push و اجرا کنید:" #: src/android/build-rules/binary.md:29 msgid "" @@ -11851,75 +11902,89 @@ msgid "" "adb shell /data/local/tmp/hello_rust\n" "```" msgstr "" +"```shell\n" +"m hello_rust\n" +"adb push \"$ANDROID_PRODUCT_OUT/system/bin/hello_rust\" /data/local/tmp\n" +"adb shell /data/local/tmp/hello_rust\n" +"```" #: src/android/build-rules/library.md:1 msgid "Rust Libraries" -msgstr "" +msgstr "کتابخانه‌های Rust" #: src/android/build-rules/library.md:3 msgid "You use `rust_library` to create a new Rust library for Android." msgstr "" +"شما از `rust_library` برای ایجاد یک کتابخانه Rust جدید برای Android استفاده " +"می‌کنید." #: src/android/build-rules/library.md:5 msgid "Here we declare a dependency on two libraries:" -msgstr "" +msgstr "در اینجا ما یک وابستگی به دو کتابخانه را اعلام می‌کنیم:" #: src/android/build-rules/library.md:7 msgid "`libgreeting`, which we define below," -msgstr "" +msgstr "‏ `libgreeting`, چیزی که در زیر تعریف می‌کنیم," #: src/android/build-rules/library.md:8 +#, fuzzy msgid "" "`libtextwrap`, which is a crate already vendored in [`external/rust/crates/`]" "(https://cs.android.com/android/platform/superproject/+/master:external/rust/" "crates/)." msgstr "" +"‏`libtextwrap`، که این crates‌ای است که قبلاً در [`external/rust/crates/`]" +"(https://cs.android.com/android/platform/superproject/+/master:external/rust/" +"crates/) عرضه شده است." #: src/android/build-rules/library.md:17 src/android/build-rules/library.md:18 +#, fuzzy msgid "\"hello_rust_with_dep\"" -msgstr "" +msgstr "\"hello_rust_with_dep\"" #: src/android/build-rules/library.md:21 src/android/build-rules/library.md:28 msgid "\"libgreetings\"" -msgstr "" +msgstr "\"libgreetings\"" #: src/android/build-rules/library.md:22 msgid "\"libtextwrap\"" -msgstr "" +msgstr "\"libtextwrap\"" #: src/android/build-rules/library.md:24 msgid "// Need this to avoid dynamic link error.\n" -msgstr "" +msgstr "// Need this to avoid dynamic link error.\n" #: src/android/build-rules/library.md:29 +#, fuzzy msgid "\"greetings\"" -msgstr "" +msgstr "\"greetings\"" #: src/android/build-rules/library.md:30 #: src/android/aidl/example-service/service.md:28 src/android/testing.md #: src/android/interoperability/java.md:39 msgid "\"src/lib.rs\"" -msgstr "" +msgstr "\"src/lib.rs\"" #: src/android/build-rules/library.md:48 msgid "_hello_rust/src/lib.rs_:" -msgstr "" +msgstr "_hello_rust/src/lib.rs_:" #: src/android/build-rules/library.md:51 msgid "//! Greeting library.\n" -msgstr "" +msgstr "//! Greeting library.\n" #: src/android/build-rules/library.md:52 msgid "/// Greet `name`.\n" -msgstr "" +msgstr "/// Greet `name`.\n" #: src/android/build-rules/library.md:55 +#, fuzzy msgid "\"Hello {name}, it is very nice to meet you!\"" -msgstr "" +msgstr "\"Hello {name}, it is very nice to meet you!\"" #: src/android/build-rules/library.md:59 msgid "You build, push, and run the binary like before:" -msgstr "" +msgstr "باینری را مانند قبل می سازید، push و اجرا می‌کنید:" #: src/android/build-rules/library.md:61 msgid "" @@ -11930,20 +11995,28 @@ msgid "" "adb shell /data/local/tmp/hello_rust_with_dep\n" "```" msgstr "" +"```shell\n" +"m hello_rust_with_dep\n" +"adb push \"$ANDROID_PRODUCT_OUT/system/bin/hello_rust_with_dep\" /data/local/" +"tmp\n" +"adb shell /data/local/tmp/hello_rust_with_dep\n" +"```" #: src/android/aidl.md msgid "" "The [Android Interface Definition Language (AIDL)](https://developer.android." "com/guide/components/aidl) is supported in Rust:" msgstr "" +"‏[Android Interface Definition Language (AIDL)](https://developer.android.com/" +"guide/components/aidl) در Rust پشتیبانی می‌شود:" #: src/android/aidl.md msgid "Rust code can call existing AIDL servers," -msgstr "" +msgstr "کد Rust می تواند سرورهای AIDL موجود را فراخوانی کند." #: src/android/aidl.md msgid "You can create new AIDL servers in Rust." -msgstr "" +msgstr "می‌توانید سرورهای جدید AIDL را در Rust ایجاد کنید." #: src/android/aidl/birthday-service.md:3 msgid "" @@ -11951,178 +12024,202 @@ msgid "" "process of creating a Binder interface. We're then going to both implement " "the described service and write client code that talks to that service." msgstr "" +"برای نشان‌دادن نحوه استفاده از Rust با Binder، ما می‌خواهیم روند ایجاد رابط " +"Binder را بررسی کنیم. سپس هم سرویس توصیف‌شده را پیاده‌سازی می‌کنیم و هم کد " +"کلاینت را می‌نویسیم که با آن سرویس صحبت می‌کند." #: src/android/aidl/example-service/interface.md:1 msgid "AIDL Interfaces" -msgstr "" +msgstr "AIDL Interfaces" #: src/android/aidl/example-service/interface.md:3 msgid "You declare the API of your service using an AIDL interface:" -msgstr "" +msgstr "شما API سرویس خود را با استفاده از یک AIDL interface اعلام می‌کنید:" #: src/android/aidl/example-service/interface.md:5 #: src/android/aidl/example-service/service-bindings.md:6 msgid "" "_birthday_service/aidl/com/example/birthdayservice/IBirthdayService.aidl_:" msgstr "" +"_birthday_service/aidl/com/example/birthdayservice/IBirthdayService.aidl_:" #: src/android/aidl/example-service/interface.md:8 #: src/android/aidl/example-service/service-bindings.md:9 #: src/android/aidl/example-service/changing-definition.md:8 msgid "/** Birthday service interface. */" -msgstr "" +msgstr "/** Birthday service interface. */" #: src/android/aidl/example-service/interface.md:10 #: src/android/aidl/example-service/service-bindings.md:11 #: src/android/aidl/example-service/changing-definition.md:11 msgid "/** Generate a Happy Birthday message. */" -msgstr "" +msgstr "/** Generate a Happy Birthday message. */" #: src/android/aidl/example-service/interface.md:15 msgid "_birthday_service/aidl/Android.bp_:" -msgstr "" +msgstr "_birthday_service/aidl/Android.bp_:" #: src/android/aidl/example-service/interface.md:19 msgid "\"com.example.birthdayservice\"" -msgstr "" +msgstr "\"com.example.birthdayservice\"" #: src/android/aidl/example-service/interface.md:20 msgid "\"com/example/birthdayservice/*.aidl\"" -msgstr "" +msgstr "\"com/example/birthdayservice/*.aidl\"" #: src/android/aidl/example-service/interface.md:23 msgid "// Rust is not enabled by default\n" -msgstr "" +msgstr "// Rust is not enabled by default\n" #: src/android/aidl/example-service/interface.md:32 +#, fuzzy msgid "" "Note that the directory structure under the `aidl/` directory needs to match " "the package name used in the AIDL file, i.e. the package is `com.example." "birthdayservice` and the file is at `aidl/com/example/IBirthdayService.aidl`." msgstr "" +"توجه داشته باشید که ساختار دایرکتوری زیر دایرکتوری `aidl/` باید با نام " +"package استفاده شده در فایل AIDL مطابقت داشته باشد، به‌عنوان‌مثال بسته `com." +"example.birthdayservice` و این فایل در `aidl/com/example/IBirthdayService." +"aidl` است. `." #: src/android/aidl/example-service/service-bindings.md:1 msgid "Generated Service API" -msgstr "" +msgstr "Generated Service API" #: src/android/aidl/example-service/service-bindings.md:3 msgid "" "Binder generates a trait corresponding to the interface definition. trait to " "talk to the service." msgstr "" +"‏ Binder یک trait مطابق با تعریف interface تولید می‌کند. trait برای صحبت کردن " +"با سرویس" #: src/android/aidl/example-service/service-bindings.md:16 -#, fuzzy msgid "_Generated trait_:" -msgstr "Rust ناایمن" +msgstr "_Generated trait_:" #: src/android/aidl/example-service/service-bindings.md:24 msgid "" "Your service will need to implement this trait, and your client will use " "this trait to talk to the service." msgstr "" +"سرویس شما باید این trait را پیاده‌سازی کند و کلاینت شما از این ویژگی برای " +"صحبت با سرویس‌ها استفاده خواهد کرد." #: src/android/aidl/example-service/service-bindings.md:29 msgid "" "The generated bindings can be found at `out/soong/.intermediates//`." msgstr "" +"پیوندهای تولید شده را می توان در `out/soong/.intermediates//" +"` یافت." #: src/android/aidl/example-service/service-bindings.md:31 msgid "" "Point out how the generated function signature, specifically the argument " "and return types, correspond the interface definition." msgstr "" +"اشاره کنید که چگونه function signature تولید شده، به ویژه typeهای آرگومان و " +"بازگشتی، با تعریف interface مطابقت دارد." #: src/android/aidl/example-service/service-bindings.md:33 msgid "" "`String` for an argument results in a different Rust type than `String` as a " "return type." msgstr "" +"‏ `String` برای آرگومان منجر به type متفاوتی Rust نسبت به `String` به عنوان " +"type برگشتی می‌شود." #: src/android/aidl/example-service/service.md:1 msgid "Service Implementation" -msgstr "" +msgstr "پیاده‌سازی سرویس‌ها" #: src/android/aidl/example-service/service.md:3 msgid "We can now implement the AIDL service:" -msgstr "" +msgstr "اکنون می‌توانیم سرویس AIDL را پیاده‌سازی کنیم:" #: src/android/aidl/example-service/service.md:5 #: src/android/aidl/example-service/changing-implementation.md:5 msgid "_birthday_service/src/lib.rs_:" -msgstr "" +msgstr "_birthday_service/src/lib.rs_:" #: src/android/aidl/example-service/service.md:10 msgid "/// The `IBirthdayService` implementation.\n" -msgstr "" +msgstr "/// The `IBirthdayService` implementation.\n" #: src/android/aidl/example-service/service.md:18 #: src/android/aidl/example-service/changing-implementation.md:16 #: src/android/aidl/types/file-descriptor.md:57 +#, fuzzy msgid "\"Happy Birthday {name}, congratulations with the {years} years!\"" -msgstr "" +msgstr "\"Happy Birthday {name}, congratulations with the {years} years!\"" #: src/android/aidl/example-service/service.md:23 #: src/android/aidl/example-service/server.md:28 #: src/android/aidl/example-service/client.md:31 msgid "_birthday_service/Android.bp_:" -msgstr "" +msgstr "_birthday_service/Android.bp_:" #: src/android/aidl/example-service/service.md:27 #: src/android/aidl/example-service/server.md:38 msgid "\"libbirthdayservice\"" -msgstr "" +msgstr "\"libbirthdayservice\"" #: src/android/aidl/example-service/service.md:29 #: src/android/aidl/example-service/server.md:13 #: src/android/aidl/example-service/client.md:11 +#, fuzzy msgid "\"birthdayservice\"" -msgstr "" +msgstr "\"birthdayservice\"" #: src/android/aidl/example-service/service.md:31 #: src/android/aidl/example-service/server.md:36 #: src/android/aidl/example-service/client.md:39 msgid "\"com.example.birthdayservice-rust\"" -msgstr "" +msgstr "\"com.example.birthdayservice-rust\"" #: src/android/aidl/example-service/service.md:32 #: src/android/aidl/example-service/server.md:37 #: src/android/aidl/example-service/client.md:40 msgid "\"libbinder_rs\"" -msgstr "" +msgstr "\"libbinder_rs\"" #: src/android/aidl/example-service/service.md:39 msgid "" "Point out the path to the generated `IBirthdayService` trait, and explain " "why each of the segments is necessary." msgstr "" +"به مسیر ایجاد `IBirthdayService` trait اشاره کنید و توضیح‌دهید که چرا هر یک " +"از بخش‌ها ضروری است." #: src/android/aidl/example-service/service.md:41 msgid "" "TODO: What does the `binder::Interface` trait do? Are there methods to " "override? Where source?" msgstr "" +"‏ TODO: trait وویژگی `binder::Interface` چه کاری انجام می‌دهد؟ آیا متد‌هایی " +"برای override وجود دارد؟ source کجاست؟" #: src/android/aidl/example-service/server.md:1 msgid "AIDL Server" -msgstr "" +msgstr "AIDL Server" #: src/android/aidl/example-service/server.md:3 msgid "Finally, we can create a server which exposes the service:" -msgstr "" +msgstr "در نهایت، می توانیم سروری ایجاد کنیم که سرویس را expose می‌کند:" #: src/android/aidl/example-service/server.md:5 msgid "_birthday_service/src/server.rs_:" -msgstr "" +msgstr "_birthday_service/src/server.rs_:" #: src/android/aidl/example-service/server.md:8 msgid "//! Birthday service.\n" -msgstr "" +msgstr "//! Birthday service.\n" #: src/android/aidl/example-service/server.md:14 msgid "/// Entry point for birthday service.\n" -msgstr "" +msgstr "/// Entry point for birthday service.\n" #: src/android/aidl/example-service/server.md:23 msgid "\"Failed to register service\""