ارسال شده توسط Neelansh Sahai Developer Relations Engineer Android (در توییتر و لینکدین)اگر مجموعهای از کاربران دارید که به زبانهای ،یسی، هندی و اسپ،ایی کاملاً مسلط هستند و یک برنامه خبری در تلفن خود دارند و ترجیح میدهند اخبار را به زبان هندی بخوانند، چه؟ برای برنامه پیامک خود، آنها اسپ،ایی را ترجیح می دهند زیرا دوستان و خانواده ای دارند که با آنها به زبان اسپ،ایی پیامک ارسال می کنند. اما برای سهولت دسترسی، آنها همچنان ترجیح می دهند دستگاهشان به زبان ،یسی باشد. اکنون موارد استفاده زیادی وجود دارد که کاربران ممکن است بخواهند زبان برنامه آنها با زبان سیستم آنها متفاوت باشد. جالب هست!
شروع با اندروید 13، ما یکی از ویژگی های پر درخواست کاربران را قرار داده ایم، تنظیمات زبان در هر برنامه. این به کاربران امکان می دهد زبان برنامه را از تنظیمات سیستم تغییر دهند و به کاربران کنترل بهتری بر انتخاب زبان خود برای برنامه های مختلف، صرف نظر از زبان سیستم ارائه می دهد..
برای کاربران چند زبانه خود بسازید
این وبلاگ بر نحوه ادغام 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