با ما در تماس باشید! 88520412 (021)

فارسی‌سازی داینامیکز ۳۶۵ : زبان فارسی و تقویم شمسی در ا‌َپ‌های داینامیکز

امکان استفاده از Appها و ایجاد Appهای سفارشی از امکانات جالب در مایکروسافت داینامیکز است. نکته‌ی کلیدی در Appها ارائه‌ی راه‌ حلی جدید برای مسئله‌ی رابط کاربر است. در واقع اَپ‌ها الگوی کاملا جدیدی را برای ساخت رابط‌های کاربری مدرن ارائه می‌کنند و به نظر می‌رسد این الگو که با عنوان Unified User Inerface یا UUI مطرح شده است خط دهنده‌ی اصلی در پیاده‌سازی رابط‌های کاربری در آینده‌ی مسیر داینامیکز است. رابط کاربری که جایگزین رابط‌های کاربری قدیمی خواهد شد. موضوع این انتقال در این مرجع عنوان شده است. https://cloudblogs.microsoft.com/dynamics365/it/2019/09/10/announcing-the-timeline-to-move-to-unified-interface/

برای فارسی‌سازی اَپ‌ها این مشکلات وجود داشت:

  • اَپ‌ها برای زبان فارسی راست به چپ نمی‌شدند. با اینکه به نظر می‌رسید که کار تنظیم زبان به درستی صورت گرفته است اما معلوم نبود که چرا رابط کاربر زبان فارسی را به عنوان یک زبان راست به چپ نمی‌پذیرفت و همچنان آنرا به شکل چپ به راست نمایش می‌داد.
  • کنترل‌های جدید به درستی نمایش داده نمی‌شوند. برای مثال کنترل جدول (Grid) اساسا برای زبان فارسی درست نمایش داده نمی‌شود.
  • تقویم شمسی در کنترل انتخاب تاریخ کار نمی‌کند و فقط تقویم میلادی را نمایش می‌دهد.

حل مشکل راست به چپ

این تصحیح در نسخه‌ی ۹.۰.۳ انجام شده است. در این نسخه ساگای AppUiFixup اینکار را انجام می‌دهد:


حل مشکل کنترل‌ها

کنترل‌ها در زبان فارسی نمایش داده نمی‌شوند. این به خاطر آن است که این کنترل‌ها درست راه‌اندازی نمی‌شدند. در واقع رابط کاربر مکانیزم پیچیده‌ای دارد تا مطمئن شود که کلیه‌ی نیازمندی‌های صفحات . کنترل‌های موجود در آنها بارگذاری شده است. از جمله‌ی این نیازمندی‌ها CustomControlResources است.
اینها معولا فایل‌های resx است که عبارت‌های مورد نیاز هر کنترل سفارشی را در خود دارند. مثلا برای کنترل گرید، این عبارت که “هیچ آیتمی برای نمایش وجود ندارد” در منابع مربوط به این کنترل سفارشی آورده شده است.

با حل این مشکل در نسخه‌ی ۹.۰.۳
کنترل‌ها به درستی نمایش داده می‌شوند:

تقویم شمسی در اَپ‌ها

کنترل انتخاب تاریخ (DatePicker) در اَپ‌ها درست کار نمی‌کند. در واقع این کنترل فقط می‌تواند تقویم میلادی را نمایش دهد. مشکل اصلی از آنجا پیش می‌آید که این کنترل در واقع همان کنترل انتخاب تاریخ در Office Fabric Ui است. (https://developer.microsoft.com/en-us/fabric#/controls/web/datepicker)

مجموعه‌ی آفیس فابریک یو‌.آی یک مجموعه کنترل جدید بر اساس کامپوننت‌های react ارائه می‌کند که با آنها می‌شود رابط‌های کاربری مدرن ایجاد کرد. ظاهرا این مدل برای توسعه‌ی رابط کاربری در تمامی مجموعه‌های مایکروسافت پذیرفته شده است و مبانی توسعه‌ی ا‌َپ‌های داینامیکز هم خواهد بود. مشکل آن است که در این مجموعه پیاده‌سازی گلوبالیزشین برای تقویم به خوبی صورت نگرفته است و این فریم‌ورک از تقویم‌های غیر میلادی پشتیبانی نمی‌کند. https://github.com/OfficeDev/office-ui-fabric-react/issues/9634

به همین خاطر مجبور شدیم برای پیاده‌سازی تقویم شمسی در این کنترل از روش‌های قدیمی استفاده کنیم. با رفع این مشکلات تقویم شمسی در کنترل انتخاب تاریخ در نسخه‌ی ۹.۰.۳
درست شد:


مشتاقانه منتظر دریافت نظرات شما دوستان عزیز هستیم