
بروزرسانی: 03 خرداد 1404
وبلاگ توسعه دهندگان اندروید: تنظیمات زبان در هر برنامه
ارسال شده توسط Neelansh Sahai Developer Relations Engineer Android (در توییتر و لینکدین)اگر مجموعه ای از کاربران دارید که به زبان های ،یسی، هندی و اسپ،ایی کاملاً مسلط هستند و یک برنامه خبری در تلفن خود دارند و ترجیح می دهند اخبار را به زبان هندی بخوانند، چه؟ برای برنامه پیامک خود، آنها اسپ،ایی را ترجیح می دهند زیرا دوستان و خانواده ای دارند که با آنها به زبان اسپ،ایی پیامک ارسال می کنند. اما برای سهولت دسترسی، آنها همچنان ترجیح می دهند دستگاهشان به زبان ،یسی باشد. اکنون موارد استفاده زیادی وجود دارد که کاربران ممکن است بخواهند زبان برنامه آنها با زبان سیستم آنها متفاوت باشد. جالب هست!
![]() |
برای کاربران چند زبانه خود بسازید
این وبلاگ بر نحوه ادغام API ترجیحات زبان برای هر برنامه در برنامه شما تمرکز دارد تا به کاربران شما انعطاف پذیری برای انتخاب زبان های مختلف برای برنامه های مختلف ارائه دهد.
1. کاربران می توانند تنظیمات زبان را از تنظیمات سیستم با انتخاب زیر تغییر دهند:
تنظیمات → سیستم → زبان ها و ورودی → زبان های برنامه → [Select the desired App] → [Select the desired Language]
2. اگر برنامه شما قبلاً یک انتخابگر زبان درون برنامه ای دارد، می تو،د API ترجیحات زبان در هر برنامه را ادغام کنید تا از پشتیب، کامل پلت فرم استفاده کنید. برای کاربران پیش از اندروید 13، تنظیمات سیستم قابل مشاهده نخواهد بود، اما توسعه دهندگان همچنان می توانند آن را ارائه دهند انتخابگر زبان درون برنامه ای.
چگونه این ویژگی را در اپلیکیشن خود ادغام کنیم؟
5 مرحله وجود دارد که باید هنگام کار بر روی ویژگی ترجیحات زبان در هر برنامه دنبال شود، در اینجا فهرست شده است →
1. ایجاد کنید locale_config.xml فایل
یک فایل جدید در فهرست values/xml/ ایجاد کنید و آن را به ،وان نامگذاری کنید locale_config.xml. این فایل باید حاوی لیستی از تمام مناطقی باشد که توسط برنامه پشتیب، می شوند. ،صر لیست باید یک رشته حاوی یک بر،ب محلی باشد.
locale_config.xml
2. locale_config را در AndroidManifest.xml اضافه کنید
این را مشخص کنید locale_config.xml فایل در برنامه AndroidManifest.xml
AndroidManifest.xml
پس از مراحل 1 و 2، کاربران شما می توانند از تنظیمات سیستم در دستگاه های دارای Android نسخه 13 یا بالاتر، اولویت زبان خود را برای برنامه شما پیدا کرده و تنظیم کنند. اگر کاربران شما از دستگاه هایی استفاده می کنند که نسخه های پایین تر از Android 13 را اجرا می کنند، می تو،د انتخابگر زبان درون برنامه ای ارائه کنید. به صورت اختیاری، می تو،د برای دستگاه های دارای Android نسخه 13 یا بالاتر، همان انتخابگر زبان را نیز در برنامه خود قرار دهید. وقتی برنامه شما دارای یک انتخابگر زبان درون برنامه ای است، مهم است که تنظیمات برگزیده کاربر بین سیستم و برنامه همگام باشد. اینجاست که API های AndroidX به تصویر کشیده می شوند. برای یادگیری نحوه ایجاد انتخابگر زبان درون برنامه ای به ادامه مطلب مراجعه کنید.
از آ،ین نسخه کتابخانه AppCompat استفاده کنید
4. از API های AndroidX استفاده کنید
از APIهای موجود در کد خود برای تنظیم و دریافت مناطق برنامه استفاده کنید.
MainActivity.kt
5. فضای ذخیره سازی را به AndroidX واگذار کنید
اجازه دهید AndroidX فضای ذخیره سازی محلی را مدیریت کند تا اولویت کاربر باقی بماند.
AndroidManifest.xml
مراحل 3، 4، و 5 در بالا حداقل مؤلفه های مورد نیاز برای ایجاد انتخابگر زبان درون برنامه را نشان می دهند.
و با این کار، برنامه شما اکنون می تواند از تعویض محلی پشتیب، کند.
موارد دیگری که هنگام مهاجرت به API باید از آنها مراقبت کنید
پیش از این، توسعه دهندگان مجبور بودند ترجیحات کاربر را به تنهایی کنترل کنند، یا با استفاده از آن SharedPreferences، ذخیره داده ها در سرور یا منطق برنامه دیگر. با API های جدید، نیازی به رسیدگی جداگانه به این موضوع نیست. بنابراین وقتی از این APIها استفاده می کنید، AndroidX قبلاً از ،مت ذخیره سازی مراقبت می کند، اما چه اتفاقی می افتد وقتی برنامه برای اولین بار پس از اینکه کاربر دستگاه خود را به Android 13 یا بالاتر به روزرس، می کند، باز شود؟
در این حالت، سیستم از ترجیحات کاربر برای زبان برنامه آگاه نخواهد شد و بنابراین برنامه را به زبان پیش فرض سیستم نقشه می کشد. برای جلوگیری از این امر، توسعه دهندگان باید منطق مهاجرت یک باره ای را اضافه کنند تا کاربرانشان مجبور نباشند وقتی برنامه را به روزرس، می کنند دوباره زبان را تنظیم کنند.
این ویژگی چه انعطافی را در اختیار کاربران و توسعه دهندگان قرار می دهد؟
در اینجا چند چیز وجود دارد که ممکن است برای شما کاربران مفید باشد.
- همه دستگاه هایی که اندروید 13 یا بالاتر دارند، یک مکان مش، برای کاربران خواهند داشت تا بتوانند زبان برنامه های خود را پیدا کنند و تغییر دهند.
- اگرچه تنظیمات سیستم محدود به دستگاه های دارای اندروید 13 یا بالاتر است، API های AndroidX با عقب سازگار هستند. بنابراین، در هنگام ساختن برای کاربران چند زبانه خود، هیچ نیازی به اضافه ، بررسی نسخه سیستم عامل در کد شما وجود ندارد.
- توسعه دهندگان نیازی ندارند که تغییرات پیکربندی را جداگانه انجام دهند یا هر بار نگران ذخیره زبان انتخابی کاربر باشند. API تغییرات پیکربندی را کنترل می کند و ترجیحات زبان را برای شما ذخیره می کند.
- با سایر ویژگی های اندروید مانند پشتیبان گیری و بازیابی کار می کند. اگر کاربر به دستگاه جدیدی تغییر مکان دهد و داده های پشتیبان گیری شده قبلی را بازیابی کند، برنامه شما آ،ین زبان ترجیحی کاربر را حفظ می کند، بنابراین تجربه بهتر و یکپارچه تری را برای کاربران شما فراهم می کند.
خلاصه
با آن، بیشتر ،مت های این ویژگی پوشش داده می شود. بنابراین بیایید خلاصه ای از آنچه را که در مطالعه امروز مورد بحث قرار دادیم، مرور کنیم.
- یک مطالعه سریع در مورد آنچه که تنظیمات زبان برای هر برنامه به کاربران چند زبانه و توسعه دهندگان برنامه ارائه می دهد.
- آنچه کاربران نهایی در دستگاه های خود خواهند دید.
- چگونه برنامه خود را به APIهای ترجیحی زبان برای هر برنامه منتقل کنید.
- چند نکته که باید هنگام مهاجرت به API ها رعایت شود تا تجربه کاربری بهتری را تضمین کند.
- در نهایت، مزایایی که کاربران نهایی و توسعه دهندگان می توانند از این ویژگی بهره ببرند.
منابع
منبع: http://android-developers.googleblog.com/2022/11/per-app-language-preferences-part-1.html