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

پرنیان فارسی ساز مایکروسافت شیرپوینت ۲۰۱۹ – مورد جاوا اسکریپتهای SPClient

پرنیان یک فارسی‌ساز است. پرنیان برای شیرپوینت امکانات سفارسی و تقویم شمسی را به SharePoint 2019 و همچنین SharePoint 2016 اضافه می‌کند.

یکی از مشکلاتی که در فارسی‌سازی شیرپوینت ۲۰۱۹
بوجود آمد، مورد فایل‌های جاوا اسکریپت در فولدر spclient بود. این فایل‌ها که تعداد آنها بیش از ۶۰ مورد است، ظاهرا پرونده‌هایی هستند که با تکنولوژی web pack ساخته شده‌اند. آنها در فولدر spclient قرار دارند و برای هر زبان فولدری در این بخش ساخته شده است:


 

محتویات این فایل‌ها کدهای جاوا اسکریپت نسبتا پیچیده‌ای و بزرگی است که بخش‌های از آن به عبارت‌های خاص هر زبان اختصاص داده شده است. برای مثال تصویر زیر یکی از این پرونده‌ها را برای زبان فارسی نشان می‌دهد:

 


این پیچیدگی باعث شد که برای ترجمه‌ی آن مجبور شویم نوعی پارسر (Parser) ساده برای جاوا اسکریپت بسازیم. این پارسر می‌تواند پرونده‌هایی از این دست را بخواند و عبارات قابل ترجمه‌ی آنرا استخراج کرده در یک فیل اکسل قرار دهد. و بعد از آن پس از آنکه عبارت‌ها ترجمه شد، دوباره این عبارت‌ها را در فایل جاوا اسکریپت جایگزاری کند. به این ترتیب عملیات ترجمه می‌تواند به سادگی و در محیط اکسل انجام شود. تصویر زیر این کلاس را نشان می‌دهد:


برخی از این فایل‌های جاوا اسکریپت به شکل نامتعارفی بزرگ هستند و عملا شامل لایبراری‌های خارجی می‌شوند. برای مثال این تکه از فایل sp-planner را نگاه کنید که در آن یک تکه کد منبع باز جاسازی شده است:


برای اجتناب از پیچیدگی‌های مربوط به این پرونده‌های بزرگ کلاس JsBundledSource پیاده‌سازی شد که می‌تواند این فایل‌ها را به قطعات جداگانه و قابل قبول‌تری تقسیم کند:

 

 

پس از آن کلاس JsCodeBlock برای بررسی بلاک‌های {} در کدهای جاوا اسکریپت و نهایتا پیدا کردن ابجکت‌های مربوط به زبان که به صورت Literal Object در فایل‌ها کار شده است، پیاده‌سازی شد:


این کلاس با استفاده از JsToken می‌تواند یک فایل جاوااسکریپت را پارس کرده، بخش‌های مربوط به ترجمه را شناسایی کند.


تا نهایتا کد زیر بتواند کلیه‌ی عبارت‌های قابل ترجمه را استخراج کند:


پرونده‌هایی که در فولدر Next قرار دارند، فایل‌های مهمی هستند که بخش بزرگی از رابط کاربر مدرن در شیرپوینت ۲۰۱۹
از طریق آنها ارائه می‌شود. این فایل‌ها نیاز به ترجمه‌ی فارسی دارند. برای سهولت اینکار کلاس‌های خاصی در پرنیان برای Parse کردن و انجام تغییرات در این فایل‌ها توسعه داده شده است. به ترتیبی که بشود این عبارات را از طریق یک فایل اکسل انجام داد:


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