Behnam نوشته شده:
اهمیت این نکته در این است که اگر در آینده این لغتنامه بخواهد با برنامه های مختلف بصورت ارگانیک کار کند و مثلاً یک واژه را در متنی select کنیم و سپس معنای آن را در دیکسیونر بجوئیم، لغت انتخاب شده لزوماً در مک و لزوماً در مکهای پس از OS X تایپ نشده است و شاید ی و یا ک غیر فارسی داشته باشد.
اوه! حالا فهمیدم منظورت چی هست. الحق که نکتهٔ بسیار جالبیه
حالا من زیاد به اکسل وارد نیستم ولی نمیشه این کار رو با اکس انجام داد؟ کسی اینو میدونه؟
فکر میکنم با Apple Script بتوانی اینکار را بکنی منتها من چند سال پیش تازه داشتم دربارهٔ آن کنجکاو میشدم که سر و کارم با فانتها افتاد و همه چیز دیگر متوقف شد!
ایدهٔ کلی این است که تو میتوانی یک Action را در Apple Script «ضبط» کنی و سپس آن Action را تکرار کنی. مثلاً ابتدا یک فایل برای کلماتی که از database خارج میشوند درست کن، سپس فایل database را باز کن و برای یک کلمه، اقدامات پیدا کردن آن در database و سپس انتقال آن به فایل دیگر را از اول تا به آخر در Apple Script ضبط کن و اسم آن اسکریپت را بگذار «انتقال کلمات ی دار». همینکار را برای ایجاد یک اسکریپت برای «انتقال کلمات ک دار» انجام بده و این دو اسکریپت را راه بیانداز.
البته اگر شدنی باشد، مطمئن باش به سادگی داستانی که تعریف کردم نخواهد بود!
احتیاطاً بگویم که برای پرهیز از داتا های تکراری در فایل نهائی، بهتر است که دو فایل «مقصد» درست کنی .
یک فایل مقصد برای کلماتی که از مثلاً «ی» برخوردارند (که ضمناً شامل کلماتی میشود که از هر دو حرف ی و ک برخودارند) و یک فایل هم از مابقی که فقط «ک» دارند. آنگاه از فایل اول کپی هائی با ترکیبات مختلف ک و ی فارسی و عربی تولید کن و از فایل دوم هم یک کپی با ک عربی. آنگاه همه را به database اصلی برگردان.
بهنام جان مشکل اینجاست که به عنوان مثال وقتی تایپ کنیم Book دو جواب دریافت میکنیم: کتاب و كتاب!(دومی با ك عربی) این در صورتی است که در همان ترجمه دو نوع لغت را قرار دهیم که کار نسبتا سخت و دردسرداری است. اگر بخواهیم برای سادهتر شدن کار دوباره کل جواب را در database قرار دهیم دیگر بدتر خواهد شد. نظر من این است که در شرایطی که فعلا تنها برنامهای که از این دیکشنری استفاده میکند Wordlookup است و این برنامه فقط بر روی Mac OS X اجرا میشود فارسی کردن ک و ی ها برای Mac OS X عملیترین و مفیدترین کار است. اما متاسفانه انتخاب متن از برنامههای دیگر و مشاهده ترجمه در دیکشنری با مشکل مواجه میشود.(از این لحاظ که متن ممکن است در ویندوز و با ک و ی عربی تایپ شده باشد) راه حل آن هم تغییر در دیتابیس نیست بلکه تغییر در برنامهی دیکشنری است.
موفق باشید
سلام دوستان
ببخشید جسارت می کنم. من در این مورد هیچ تخصصی ندارم اما، این نظر ممکن است به دردتان بخورد :
در سیستم پی سی با ویندوز، برای زبان های شرقی ( complex script) دو بخش موجود است : Arabe و Extended Arabe. در ویندوز XP زبان فارسی زیر مجموعه ای از این دومی به حساب می آید و نه اولی (مثال : کد حرف ژ در اولی موجود نیست). اگر در ویندوز ۹۸ می شد صفحه کلید این دو زبان عربی و فارسی را اشتباه گرفت، در ویندوز XP دیگر ممکن نیست. منظورم این که با ویندوز ۹۸ ایرانی ها مجبور بودند یکی از برنامه های گوناگون فارسیساز موجود در بازار را روی کامپیوتر پیاده کنند. اغلب این نرم افزار ها بیشتر صفحه کلید عربی می داد تا فارسی. امروزه دیگر در ایران کسی با ویندوز ۹۸ کار نمی کند، و یا به ندرت. زبان و صفحه کلید فارسی نیز رسما در ویندوز XP ( و حتی در ویندوز ویستا ) کاملا سوا و مجزا از عربی است. برای مثال، کد کاراکتری hexadecimal دو حرف مورد نظر شما را در سیتم ویندوز می آورم :
ک (عربی با چیزی در بالای حرف) = 0643
ک (فارسی) = 06A9
ی (عربی با کسره) = 064A
ی (فارسی) = 06CC
می بینید؟ وقتی کسی صفحه کلید فارسی را در XP انتخاب می کند دیگر «ک» و «ی» عربی نمی زند. مگر ... در این برنامه های نامرد و ناروا مثل یاهو که هنوز عربی را به جای فارسی به خوردمان می دهند
مشکلات شاید بیشتر در مورد کسره ها و تشدیدها که فارسی نیستند بروز کنند. چرا که وقتی ما کسره ای را از صفحه کلید فارسی می خواهیم، سیستم از کدهای عربی گرفته و نمایش می دهد !
با احترام
ق
ولی صحبت بهنام بجاست. چون اکثر متنهای قدیمی تولید شده با ویندوز با این مشکل مواجه هستند. پس بهتره ما در Database مان از ی و ک فارسی استفاده کنیم و در برنامه ای که قرار است تولید بشه این نکته رو اضافه کنیم که وقتی قراره کلمهای چک بشه این برنامه اول برای خودش ی و ک های موجود در کلمه رو به فارسی تبدیل کنه و بعد به Database مراجعه کنه. این بهترین راهه. فکر کنم...
تا زمانیکه این database تنها در wordlookup استفاده میشود که به قول علی مسئلهای نیست. اگر بقول علی ص در آینده موتور جستجوی مستقل و ویژهای برای کار با برنامههای مختلف روی مک و با استفاده از این database تهیه شود که فقط یک دیکسیونر فارسی -انگلیسی(یا هر زبان دیگری) باشد که باز هم راه حل تبدیل کردن حروف عربی به فارسی پیش از جستجو نباید چیز پیچیدهای باشد. اما اگر بنا باشد که از موتور جستجوئی استفاده کرد که بطور اشتراکی برای دیکسیونرهای زبانهای مختلف استفاده میشود آنگاه این اصلاح مشکل و چه بسا ناممکن میشود.
فراسوی wordlookup، اگر راه حل «تمیزی» پیدا نشود، من ترجیح میدهم که دو پاسخ برای book داشته باشم تا اینکه هیچ پاسخ برای یکی از «کتاب» ها.
اما در مورد توضیحات قبلی، ق.خ عزیز تا آنجا که من حدس زدهام، در ویندوز صفحهکلید یونیکد وجود ندارد. در مک تو میتوانی خودت به سادگی یک صفحه کلید یونیکد درست کنی و با فشار دادن روی یک کلید صفحه کلید یونیکد، مستقیماً کُد یونیکد آن کلید را به متن -هر متنی و در هر جائی- ارسال کنی. در ویندوز کُد های اولیهٔ صفحهکلید یونیکد نیستند و بر اساس انتخاب زبان مورد استفاده از یکسو و برنامهای که در آن متن درج میشود از سوی دیگر، آن کُد اولیهٔ صفحه کلید با طی کردن سلسله مراتبی نهایتاً به کُد یونیکد تبدیل میشود که بقول تو در XP معمولاً به کُدهای درست ی و ک فارسی منجر میشود. ولی اگر یکی از این نرمافزارهائی که روی ویندوز کار میکند در یکی از مراحل تبدیل این سلسله مراتب کوتاهی کند، همان کُدی که مثلاً در Word خوش آخر و عاقبت شده است، در مثلاً ایمیل به ی و ک عربی تبدیل میشود و به طریقی راه خود را به مک پیدا میکند!
انتخاب اِعراب هم از کُدهای عربی نیست، اِعراب در یونیکد تنها یک کُد دارند و در همهٔ زبانها مشترکند. این «سلسله مراتب» گیج کنندهٔ تبدیلات در ویندوز است که این قضیه را اینقدر پیچیده کرده است.
Ali.Samadi نوشته شده:ولی صحبت بهنام بجاست. چون اکثر متنهای قدیمی تولید شده با ویندوز با این مشکل مواجه هستند. پس بهتره ما در Database مان از ی و ک فارسی استفاده کنیم و در برنامه ای که قرار است تولید بشه این نکته رو اضافه کنیم که وقتی قراره کلمهای چک بشه این برنامه اول برای خودش ی و ک های موجود در کلمه رو به فارسی تبدیل کنه و بعد به Database مراجعه کنه. این بهترین راهه. فکر کنم...
کاملا موافق هستم. این مسئله باید توسط engine دیکشنری باید حل شود نه از طریق دستکاری در database و یا تولید نسخههای مختلف database. انجین باید همهٔ انواع ک ك ی ي را تبدیل کند به شکل فارسی آنها هم در هنگام Input یعنی وراد کردن و هم در هنگام out put یعنی ارائهٔ نتیجه.
سلام
اول از همه چند توضیح کوچک فکر میکنم لازم هست در اینجا بدهم
در مورد صحبت هایی که در مورد ویندوز شده بود : ویندوز های قبل از 2000 شامل 98 و 95 همه یونی کد را بطور غیر مستقیم پشتیبانی می کنند در واقع اگر برنامه ای بر اساس یونیکد نوشته شده باشد بصورت شبیه سازی اجرا می شود که معمولا شبیه سازی کمی کندتر از حالت عادی است و کم و بیش اشکالات کوچک در آن پیدا می شود ولی در 2000 و xp کاملا بر عکس است و یونیکد سیستم پایه است و اگر برنامه ای عیر یونیکدی باشد در محیط شبیه سازی اجرا می شود.
در مورد غیر یونیکدی بود صفحه کلید ویندوز : اضهار نظر یکی از دوستان در مورد صفحه کلید ویندوز درست نیست، در ویندوز 2000 به بالا صفحه کلید کاملا یونیکدی است و قابلیت انتخاب تمامی حروف برای صفحه کلید وجود دارد.
در مورد دیکشنریها هم خیلی مهم نیست یونیکد باشد یا نباشد یا ک فارسی داشته باشد یا عربی و .... مهم این است که در هسته اصلی تفاوت ها و اشکالات این چنین رفع شود.
در نتیجه طرح من شامل رفع اشکالات در زمان نمایش است، در مورد پیشرفت کار هم فقط این را بگویم هنوز در مورد خواندن دیکشنری های babylon با فرمت جدید مشکلاتی وجود دارد که هنوز رفع نشده، البته با کمک بعضی از دوستان فرمت قبلی Babylon بطور کامل خوانده میشود ولی چون اکثر دیکشنری های معتبر Babylon به فرمت جدید است.
امید وار هستم تا سه چهار هفته دیگه به یک جاهای مناسب برسم درضمن اگر دوستان عزیر در هنگام وب گردی جایی به مطلبی در مورد ساختار دیکشنری های babylon برخورد کردید لینک آنرا برای من هم ارسال کنید.
امیدوار هستم تا اواسط تابستان یک نسخه اولیه برای آزمایش در سایت بتوانم قرار دهم.
Hamed Dehghani نوشته شده:دست گل همتون درد نکنه من دیکشنری شما رو از یه سایت دیگه دانلود کردم ولی فهمیدم حاصل تلاش شماست
اومدم اینجا از همتون تشکر کنم
سلام.
نمی دونم شما کدوم نسخه رو دریافت کرده اید، اما به viewtopic.php?p=15610#p15610 هم نگاه بکنید؛ شاید نسخۀ بهتر یا جدیدتری نسبت به چیزی که شما دریافت کرده اید توش موجود باشه...
من سرسری فایلی که در اون سایت گذاشته رو بررسی کردم. بهنظر میرسه فایل دیکشنریها یکسانه (از نظر غنای مطلب) و هر دو از Stardict (که اگر اشتباه نکنم مال آریانپور DOS بوده!) گرفته شده. نسخهٔ فارسی به انگلیسیش هم نسخهایه که ilius ساخته بود و من در پست بالاتر بهش اشاره کرده بودم. اما در دیکشنری ایرماگ «ک» و «ی» عربی تبدیل شدهاند که در دیکشنریای که شما لینکش رو گذاشته بودی این اتفاق نیافتاده و کلمات با «ک» و «ی» عربی نمایش داده میشن.
و در هر حال، نام سازندهٔ دیکشنری Parand Software Group ذکر شده و سایت بالا (sibfile) طبق معمول الکی نام «اختصاصی سیبفایل» رو روش گذاشته...