کتابخانهٔ جدید یونیکد در کیوت ۵



  • p{direction:rtl; text-align:right}. سلام
    نظرتون در مورد بک‌اند جدید کیوت برای یونیکد چیه ؟ ICU از تقویم فارسی پشتیبانی می‌کنه اما توسعه‌دهنده‌های کیوت تصمیم گرفتن از تقویم‌های غیر گریگوری پشتیبانی نشه. با این وجود پیاده‌سازی کاملی از تقویم جلالی الان موجوده و به خوبی کار می‌کنه. اگر قرار باشه به شکل third-party منتشر بشه باید به حالت wrapper تبدیل بشه. چون الان سورس‌های خیلی زیادی رو از خود کیوت تغییر داده (کلاس‌های QDataSream و QVariant) برای همین هیچ تقویمی در codereview توسط توسعه‌دهنده‌ها تقول نمیشه.

    p{direction:rtl; text-align:right}. یه کاری که میشه کرد اینه که از خود پیاده‌سازی‌های جدید ICU برای تقویم‌های محلی استفاده کرد. هر چند خیلی کار می‌بره اما میشه مشکلاتی رو که باعث عدم پذیرش تقویم‌ها میشه رو حل کنه. متأسفانه تو نسخه‌های جدید پیاده‌سازی‌ها خیلی ایراد دارن و هنوز پایدار نیستن. ولی ظاهراً برای ریلیز بعدی خیلی مشکلات حل شده.

    !http://s1.picofile.com/file/7712482896/Capture3_1_.png(Persian)!



  • p{direction:rtl;text-align:right;}. برای تقویم های دیگه نظر روی این نیست که پشتیبانی نشه. اتفاقا من با جان لیت در مورد این موضوع مفصلا بحث کردیم. خیلی از developer ها نظرشون روی locale بود که اخیرا تمرکز زیادی روشه. ولی استفاده از locale به تنهایی ایده جالبی برای تقویم به نظر نمیرسه بعلاوه با اضافه شدن timezone به QDateTime این مساله پیچیده ترم میشه.

    p{direction:rtl;text-align:right;}. در حال حاضر کلاس QDate داره کاملتر میشه و باید به یه نقطه stable برسه تا بعدش یه کلاس abstract ساخته بشه و خود QDate و QDateTime بره زیر مجموعه اون و تقویم های دیگه با reimplement کردن اون ساخته بشن.

    p{direction:rtl;text-align:right;}. در حال حاضر من با هماهنگی جان 6 تا تقویم رو بصورت backend آماده کردم که همشون از الگوریتم خاص و مشابه استفاده میکنن و جلالی هم شاملشون میشه. منتظرم زمان مناسب رو بگه تا روی کیوت پیادشون کنم.

    "QtExperts":http://www.qte.ir/?ref=f4356702dc79ef54bf5dd6dd87a4df6b



  • p{direction:rtl;text-align:right;}. راستی بحث سوئیچ کردن بین استفاده از ICU و حالت بدون ICU هم بود که base بک اندی که نوشتیم اینکار رو انجام میده.

    "QtExperts":http://www.qte.ir/?ref=8fb695d04c2120a46e40b1f8208871f2



  • p{direction:rtl;text-align:right;}. در مورد تقویم همه می‌خوان که یک پیاده‌سازی وجود داشته باشه، اما کسی قبول نمی‌کنه که پیاده‌سازی مستقل باشه. یعنی بدون Locale. اونطوری که الان ما داریم استفاده می‌کنیم؛ یک کلاس مجزا داریم به اسم QJalaliDate و ویجت‌هایی که از اون استفاده می‌کنن یا باید مستقل باشن، یا یک اینترفیس مشترک بین QDate و هر سیستم نوشته بشه.

    p{direction:rtl;text-align:right;}. مسأله این‌جاست که اصلا سیستم‌های تقویم و Locale ها دو تا موضوع مستقل هستند. من با موضع جان و دیگران در این مورد کاملاً مخالفم. اصلا منطقی نیست که بخواهیم این دو تا رو روی یک مجموعه پیاده‌سازی کنیم. چون سیستم‌های تقویم شمسی و گریگوری ربطی به Locale ها ندارن و این Locale هست که باید روی تقویم پیاده‌سازی بشه نه برعکس. مثل همین چیزی که الان برای تقویم گریگوری داریم. (عکس بالا)

    p{direction:rtl;text-align:right;}. مثلا تقویم جلالی رو درنظر بگیر. ما به مرداد میگیم مرداد، افغانی‌ها میگن اسد انگلیسی‌ها هم مثلا Mordad. همچنین روزهای هفته و غیره. نظر من اینه که این‌شکلی باید Locale ها رو روی پیاده‌سازی‌های کاملاً مستقل از هر سیستم تقویم اعمال کرد. نه این که برای یک Locale خاص تقویم یه چیز باشه برای یکی دیگه یه چیز دیگه...



  • [quote author="Mohsen" date="1364990732"] در حال حاضر من با هماهنگی جان 6 تا تقویم رو بصورت backend آماده کردم که همشون از الگوریتم خاص و مشابه استفاده میکنن و جلالی هم شاملشون میشه. منتظرم زمان مناسب رو بگه تا روی کیوت پیادشون کنم.

    "QtExperts":http://www.qte.ir/?ref=f4356702dc79ef54bf5dd6dd87a4df6b[/quote]

    p{direction:rtl;text-align:right;}. این که پیاده‌سازی‌های آماده‌ای داریم بر اساس Locale خیلی خوبه. فکر کنم کیوت 5.1 این هفته داره feature-freezed میشه. کامیتی انجام دادید؟
    اگه میشه لینک رپو رو بده منم می‌خوام همکاری کنم تو پیاده‌سازیش



  • p{direction:rtl;text-align:right;}. تو رپوی جان پیاده‌سازی‌ای از تقویم وجود نداره. جای دیگه‌ای یه ؟


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.