کلاینت اوپن سورس برای Google Translate

14 07 2009

حتماً تا به حال با خبر شده اید و در خیلی از وبلاگ ها و سایت ها خوانده اید که گوگل زبان فارسی را به صورت آزمایشی به سرویس مترجم خودش افزوده است. این خبر بسیار خوبی بود برای کسانی که خبرهای وب سایت های خارجی را دنبال می کردند. هر چند کیفیت خروجی این سرویس خیلی مطلوب نیست اما به هر حال در برخی مواقع کارتان را راه می اندازد. البته با دیدن کلمه Alpha در کنار زبان فارسی، باید منتظر بهبودهایی در این سرویس برای این زبان باشیم.

قرار نیست در این مطلب خبر دست چندم، اضافه شدن زبان فارسی به سرویس Google Translate، را بخوانید. به گفته خود گوگل، اضافه شدن زبان فارسی به علت اتفاقات اخیر در ایران بوده و قرار نبوده به این زودی ها زبان فارسی به این سرویس اضافه شود. بعد از معرفی این سرویس توسط گوگل و معرفی API آن، کلاینت های مختلفی بر اساس آن توسعه داده شده اند. این کلاینت ها جهت آسان تر شدن کار با این سرویس و اضافه کردن قابلیت های جانبی کوچک به آن ساخته شده اند. با داشتن یکی از این کلاینت ها دیگر لازم نیست برای ترجمه یک متن هر بار به وب سایت مترجم  گوگل سر بزنید.

مترجم گوگل برای برنامه نویسان

513171250_d2a4194703

گوگل با انتشار API سرویس مترجم خود، برای برنامه نویسان این امکان را فراهم کرده است که با کد نویسی بتوانند از این سرویس در برنامه های خودشان استفاده کنند. مثلاً برای جاوا می توانید از اینجا یک کتابخانه برای کار با این سرویس دریافت کنید. برای زبان ها و پلت فرم های مختلف، توسعه های غیر رسمی زیادی وجود دارد. به طور مثال API این سرویس برای پلت فرم دات نت به صورت غیر رسمی در اینجا قابل دسترسی است. با استفاده از آن می توانید از قدرت مترجم گوگل در برنامه ها و وب سایت های مبتنی بر دات نت استفاده کنید. استفاده از آن بسیار آسان است، برای ترجمه یک متن کافیست فقط یک تابع را صدا بزنید و پارامترهای لازم را به آن پاس دهید. خروجی این تابع، خروجی مترجم گوگل خواهد بود. با استفاده از آن می توانید در وب سایت های مبتنی بر ASP.NET به راحتی قابلیت چند زبانگی را اضافه کنید.

من ابتدا فقط قصد نوشتن یک مثال با این API را داشتم که در این مطلب قرار بدهم، اما متاسفانه کسی که API این سرویس را برای دات نت توسعه داده، زبان فارسی را جزو زبان های مورد پشتیبانی این کتابخانه قرار نداده بود. من با یک تغییر کوچک در این کتابخانه، زبان فارسی را هم اضافه کردم. مثالی که برای این کتابخانه نوشتم بر اساس نیاز خودم گسترش پیدا کرد تا حالا که فکر میکنم بتواند نیاز خیلی ها را برطرف کند. خلاصه نتیجه این کلنجار رفتن ها برنامه کوچکی شد برای کار با سرویس Google Translate که به صورت اوپن سورس در اینجا قرارش داده ام.

شما هم می توانید به راحتی با استفاده از کتابخانه فوق یک کلاینت برای مترجم گوگل بنویسید. من کار خاصی انجام ندادم، کد نویسی این کلاینت به لطف کتابخانه مذکور بسیار آسان انجام شده است. شما اگر می خواهید کلاینتی برای مترجم گوگل بنویسید، پیشنهاد میکنم همین کلاینت را تغییر دهید.

مترجم گوگل برای کاربران ویندوز

granslator

برای استفاده از مترجم گوگل راهی جز رفتن به وب سایتش نیز وجود دارد. Granslator نام برنامه کم حجم و قابل حملی است که می توانید با استفاده از آن متون خود را از هر زبانی به هر زبانی که توسط سرویس ترجمه گوگل پشتیبانی می شوند، ترجمه کنید. با استفاده از این برنامه می توانید بدون مراجعه به سایت سرویس ترجمه گوگل، متون خود را ترجمه کنید. استفاده از آن بسیار آسان است، هر جای ویندوز که هستید می توانید با فشردن کلیدهای ترکیبی Ctrl+Shift+G این برنامه را صدا بزنید و متن خود را به عنوان ورودی به آن بدهید و پس از چند لحظه ترجمه اش را تحویل بگیرید. متن ترجمه شده را می توانید با یک کلیک به حافظه کلیپ برد کپی کنید یا در یک فایل متنی ذخیره کنید. اگر زبان یک کلمه یا یک پاراگراف برای شما قابل تشخیص نیست، کافیست آن را به این برنامه بدهید و تا با کلیک کردن روی گزینه “Detect Source Language” توسط شما، برنامه زبان متن را به صورت خودکار تشخیص دهد و آن را به زبان مطلوب شما ترجمه کند. تصویری از محیط برنامه را در زیر مشاهده می کنید.

granslator-screenshot

برای دریافت آن به اینجا مراجعه کنید و روی گزینه granslator-0-1-beta-portable کلیک کنید تا دانلود شما شروع شود. حجم آن بسیار کم و فقط 320 کیلوبایت است. فقط توجه داشته باشید که این نسخه از Granslator آزمایشی است و در نسخه بتا به سر می برد و هیچ نیازی هم به نصب ندارد. فقط کافیست برنامه را از حالت فشرده خارج کنید و آن را اجرا کنید. نظر یا پیشنهادی داشتید در قسمت نظرات همین مطلب با من در میان بگذارید.

این نرم افزار کاملاً رایگان و کدباز است و شما مجاز به کپی و تغییر کد منبع آن بر اساس مندرجات مجوزنامه GPL نسخه 2.0 خواهید بود.

نکته مهم : وقتی برنامه را Minimize می کنید، برنامه بسته نمی شود، فقط در System Tray (آیکون های کنار ساعت ویندوز شما) قرار می گیرد که با دابل کلیک روی آن می توانید دوباره پنجره برنامه را مشاهده کنید.

sys-tray

همانطور که در تصویر بالا مشاهده می کنید، آیکون Granslator به شکل G در میان آیکون های System Tray قرار می گیرد.

نکته مهم دیگر در استفاده این برنامه این است که برای ترجمه یک متن حتماً باید به اینترنت وصل باشید!

پیش نیاز این برنامه نصب بودن x.NET framework 2.0 به بالا در ویندوز شماست.

دریافت Granslator

مشترک فید فراسان شوید! نمی دانید فید چیست!؟

پ.ن 1: این برنامه بر اساس نیاز خودم نوشته شده، اگر امکان دیگری لازم دارید در نظرات همین مطلب ذکر کنید.

پ.ن 2: اگر تغییری در برنامه ایجاد کردید، حتماً به من خبر بدین تا در وب سایت اصلیش قرار بدم. با توجه به اینکه مجوز استفاده و نشر این برنامه GPL نسخه 2 هست، شما بایستی نسخه های تغییر داده خودتان را هم به صورت آزاد تحت این مجوز یا مجوزهای سازگار با آن منتشر کنید.

پ.ن 3: نام برنامه ابتدا قرار بود G Translate باشه، اما گنوم یک برنامه ای به همین نام داره و قبلاً در کدپلکس پروژه ای به همین نام و با همین ایده ثبت شده بود. این نام هم یکدفعه به ذهنم خطور کرد.





SQLite Wrapper برای دلفی 2009 و دات نت 2 و 3.5

27 01 2009

برای انجام پروژه ای نیاز به استفاده از بانک اطلاعتی SQLite در دلفی 2009 و دات نت فریم ورک 2 دارم، همانطور که می دانید به صورت پیش فرض RAD Studio و دات نت فریم ورک کلاسی برای کار با SQLite ندارند. پس از کمی جستجو در وب سایت ها و همچنین پیشنهاداتی که در سایت رسمی SQLite داده شده (اینجا) بود یکسری Wrapper را مورد بررسی قرار دادم. برای دلفی 2009 کامپوننت RemObjects AnyDAC 2.0 راه حل خوبی است اما متاسفانه رایگان نیست. البته نسخه شخصی و رایگان DISQLite3 هم می تواند نیاز من را برطرف کند. اما در این میان با کلاس ساده و مناسبی برخورد کردم که هم رایگان است و هم ساده. برای دات نت فریم ورک من قصد دارم از این در پروژه ام استفاده کنم.

SQLite for Microsoft .NET framework and Delphi 2009

برای دلفی 2009

آقای Tim Anderson برای استفاده خودش Wrapper مناسب و ساده ای نوشته و آن را در اختیار عموم قرار داده است. این Wrapper شامل سه کلاس پایه است که اعمال درج, حذف، به روز رسانی و واکشی داده ها از یک دیتابیس SQLite را انجام می دهند. این Wrapper همچنین از تراکنش های بانک اطلاعاتی (Commit, RollBack) پشتیبانی می کند اما متاسفانه از قابلیت هایی مثل Full-text search پشتیبانی نمی کند. این کلاس ها را نمی توان در حالت طراحی (Design Time) استفاده نمود و بایستی برای استفاده از این Wrapper از کلاس های مورد نیاز خود نمونه سازی کنید. در واقع شما از دو کلاس TSQLiteDatabase و TSQLIteTable برای دستیابی به فایل دیتابیس و اعمال تغییرات در آن استفاده می کنید. نکته ای که باید در نظر داشته باشید این است که این Wrapper را نمی توانید با کامپوننت های دیگر همچون Dataset ارتباط دهید، در نتیجه نمی توانید از کامپوننت های DBAware مثل DBText استفاده کنید و یا داده ها را به یک DBGrid بایند کنید.

برای دریافت این Wrapper به این صفحه از سایت Tim Anderson مراجعه کنید. همراه با کلاس های فوق، یک برنامه نمونه ساده هم موجود است که نحوه ی استفاده از آن را به سادگی توضیح داده است.

برای دات نت فریم ورک 2 و 3.5

ADO.NET 2.0 Provider for SQLite دارای یک فایل اسمبلی است که شامل موتور دیتابیس SQLite و کلاس های ADO.NET مورد نیاز برای دسترسی و استفاده از SQLite می باشد. به سادگی فایل اسمبلی این Wrapper را به Referenceهای پروژه خود اضافه می کنید و از فضای نام System.Data.SQLite به کلاس های داخل آن دسترسی پیدا می کنید. اسمبلی دیگر این Wrapper به شما اجازه استفاده از LINQ به SQLite را می دهد. نحوه استفاده از کلاس های این Wrapper دقیقاً مشابه استفاده از کلاس های دیگر Data Providerها مانند OleDb و Sql است. این Wrapper از .NET Compact Framework نیز پیشتبانی می کند، پس می توانید از SQLite در برنامه های مبتنی بر ویندوز موبایل بهره ببرید.

این Wrapper را می توانید از اینجا دریافت کنید. در زیر مثالی از ایجاد یک جدول در یک فایل دیتابیس SQLite با استفاده از این Wrapper به زبان سی شارپ را مشاهده می کنید.

SQLiteConnection con = new SQLiteConnection("Provider=System.Data.SQLite;Data Source=C:\\data.db");
con.Open();
SQLiteCommand cmd = new SQLiteCommand(con);
cmd.CommandText = "CREATE TABLE farasun (post_id INT, title TEXT(150), post VARCHAR)";
cmd.ExecuteNonQuery();

فقط توجه داشته باشید که بایستی فضای نام System.Data.SQLite را using کرده باشید. اگر نیازی به توضیح بیشتر و مثالی واضح تر بود، در نظرات اعلام کنید.

به یاد داشته باشید که SQLite یکی از مناسب ترین راه حل ها برای ذخیره داده های محلی است. نرم افزارهای معروفی مثل Firefox و Google Gears از SQLite به صورت توکار (Built-in) استفاده می کنند.

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :





یافتن کار نیمه وقت و کسب تجربه در زمینه نرم افزار-قسمت پنجم

22 11 2008

پیشنهاد می کنم ابتدا قسمت های قبلی این سری نوشته ها را بخوانید و سپس ادامه ی این مطلب را دنبال کنید.

قسمت پنجم : همکاری در پروژه های اوپن سورس

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

همکاری در پروژه های اوپن سورس به شما می آموزد که چطور به صورت تیمی کار کنید و چه ابزارهایی را به کار بگیرید تا پروژه های نرم افزاری را به صورت تیمی توسعه دهید. کمک میکند تا زبان انگلیسی خود را قوی کنید و بین المللی کار کردن را یادتان می دهد. معنی کیفیت را در محصولات نرم افزاری درک خواهید کرد و با روش های روز تولید نرم افزار آشنا خواهید شد. با افراد معروف و متخصص در رشته ی خود آشنا می شوید و ارتباط های مهمی برای شما به وجود خواهد آورد. می توانید این همکاری را در رزومه ی خود ذکر کنید و در نتیجه آینده شغلی شما را تحت تاثیر قرار خواهد داد. کار کردن در خارج از کشور را برایتان آسان تر خواهد کرد.

البته همکاری در پروژه های اوپن سورس به راحتی روش های قبلی نخواهد بود. شما باید از تخصص بالایی در یک زمینه خاص برخوردار باشید. همچنین زبان انگلیسی تان باید در حد قابل قبولی باشد تا بتوانید مستندات پروژه را بخوانید و با اعضای تیم ارتباط برقرار کنید. سعی کنید پروژه ای را انتخاب کنید که در آن زمینه تخصص خوبی دارید.

در این روش شما یک پروژه ی اوپن سورس را انتخاب می کنید و در مورد آن تحقیق می کنید. معمولاً پروژه های اوپن سورس دارای مستندات کامل و رایگان هستند، آن ها را مطالعه کنید. در مورد متدولوژی ها، روش های تولید، زبان برنامه نویسی و ابزارهایی که به کار می گیرند تا پروژه شان را توسعه بدهند، تحقیق کنید. اگر توانایی های لازم را در خود دیدید سعی کنید تا با تیم سازنده ی آن پروژه ارتباط برقرار کنید. معمولاً تیم های اوپن سورس از افراد علاقه مند به همکاری استقبال می کنند. از این به بعد باید با روش های کار تیمی آن ها آشنا شوید و احتمالاً وظیفه ای به عهده شما قرار داده خواهد شد.

برای اینکه شروع کنید حتماً لازم نیست یک پروژه ی اوپن سورس بزرگ و پیچیده را انتخاب کنید. حتی همکاری در ساختن یک پلاگین برای وردپرس یا یک افزونه برای فایرفاکس هم می تواند برای شروع گزینه خوبی باشد. بهتر است پروژه ای انتخاب کنید که به آن علاقه دارید. پروژه های اوپن سورس را می توانید در سایت هایی مثل SourceForge.net و CodePlex پیدا کنید و در مورد آن ها تحقیق کنید. حتی می توانید یک پروژه ی اوپن سورس را خودتان از ابتدا بسازید و روی آن کار کنید. فقط توجه داشته باشید موضوعی را انتخاب کنید که قبلاً پروژه ای بر اساس آن ساخته نشده باشد. اگر پروژه ای با همان موضوع وجود دارد، بهتر است همان را توسعه دهید تا هم برای شما سودمند باشد و هم برای دیگران.

توجه داشته باشید که همکاری در پروژه های نرم افزاری فقط در زمینه برنامه نویسی نیست. شما می توانید در زمینه تحلیل و طراحی همکاری کنید و یا حتی در زمینه نوشتن راهنما و مستندات فعالیت کنید. این بستگی به علاقه و تخصص شما خواهد داشت.

نظر سنجی

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

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :





نسخه های جدید Datefa و Darkpad

1 10 2008

اگر خواننده این وبلاگ هستید حتماً با هدف این وبلاگ و برنامه هایی که قبلاً معرفی کرده بودم آشنایید. یکی از اهدافی که من در مورد این وبلاگ داشتم و در مورد وب سایتی که قراره ایجاد کنم خواهم داشت، تولید و پشتیبانی نرم افزارهای آزاد برای استفاده کاربران ایرانی سیستم عامل ویندوز است. حالا به علت مشغله و تحصیل و مسائل دیگر آنچنان نتوانستم برنامه هایی که در سر داشتم عملی کنم. به هر حال در طول عمر این وبلاگ اگر کار مفیدی در این زمینه کرده باشم همان عرضه اوپن سورس برنامه تاریخ شمسی برای ویندوز یعنی Datefa بوده و همچنین به علت علاقه ام به برنامه Darkpad، قصد دارم اون رو هم ادامه بدم و به صورت اوپن سورس منتشر کنم. برای کسایی که تازه با این وبلاگ آشنا شدن یا احیاناً نمیدونن من در مورد چی صحبت می کنم بهتره این صفحه و این صفحه را مطالعه کنند و سپس ادامه این مطلب را بخوانند.

Datefa

نرم افزاریست کم حجم، رایگان و کدباز برای سیستم عامل ویندوز که قادر است تاریخ میلادی جاری سیستم شما را به تاریخ معادل شمسی تبدیل کند. این برنامه راه حلی است مطمئن و آسان برای داشتن قابلیت تاریخ شمسی در سیستم عامل ویندوز مایکروسافت که دارای قابلیت های دیگری همچون تنظیمات، مبدل تاریخ، زنگ هشدار است و با استفاده از محیط قدرتمند دلفی 7 تولید شده است. عملکرد این برنامه بدین صورت است که پس از اجرا در حافظه سیستم شما مقیم می شود و یک آیکن جدید به قسمت System Tray (در کنار ساعت ویندوز) اضافه می کند. شما از این پس می توانید با نگه داشتن ماوس روی این آیکن و یا دابل کلیک کردن روی آن، تاریخ شمسی معادل تاریخ سیستم خود را مشاهده کنید. برای دسترسی به دیگر ویژگی های این برنامه باید روی همین آیکن کلیک راست نمایید تا به منوی Datefa دسترسی پیدا کنید. Datefa بر اساس کلاس تاریخ شمسی TFaDate که توسط دوست عزیزم آقای سالار خلیل زاده نوشته شده، ایجاد و توسعه داده شده است. با این امید که برای کاربران ایرانی سیستم عامل ویندوز مفید واقع گردد.

Datefa با مجوز اوپن سورس GPL 2.0 ارائه می شود. برای توسعه آن احتیاج به Borland Delphi 7 و کامپوننت های JVCL خواهید داشت. برای اطلاعات بیشتر می توانید این مطلب را مطالعه کنید و یا سئوالات خود را در قسمت نظرات همین مطلب ارسال نمایید

دریافت نسخه آزمایشی 2.0.3 | دریافت سورس کد

Darkpad

دارک پد ویرایشگر متنی است قابل حمل (=Portable) که پس از اجرا، کل صفحه کاری شما را پوشش می دهد ( به صورت Fullscreen) تا بتوانید آزادانه روی آن تایپ کنید و به جز نوشتن به هیچ چیز دیگری فکر نکنید. در حقیقت دارک پد کمک می کند تا روی متن خود تمرکز بیشتری داشته باشید. در دارک پد بر خلاف ویرایشگرهای متن دیگر همچون Notepad ویندوز، هیچ نوار ابزار یا منویی برای اجرای دستورات ویرایشی بر روی متن مورد نظر خود ندارید. تمام دستورات را بایستی بوسیله کلیدهای میانبر (Shortcut Keys) صادر کنید. با دارک پد می توانید متون ساده خود را باز کنید، ویرایش کنید و در نهایت تغییرات را ذخیره نمایید. توجه داشته باشید که دارک پد نیازی به نصب ندارد و فقط باید فایل اجرایی آن را باز نمایید.

علاوه بر حل شدن مشکلات نسخه ی قبلی Darkpad، این نسخه به صورت اوپن سورس و تحت مجوز GPL نسخه 2 منتشر شده است. این تصمیم را گرفتم تا هرکس بتواند بر اساس نیازش دارک پد را سفارشی کند. فقط یادتان باشد که باید نسخه های تغییر داده شده را نیز به صورت اوپن سورس ارائه کنید. دارک پد نیز همچون Datefa با استفاده از دلفی 7 تولید شده و برای توسعه آن از کامپوننت های JVCL استفاده کرده ام.

کلیدهای میانبر در Darkpad :

F1 : تنظیمات / راهنما / درباره برنامه | Ctrl+O: باز کردن فایل متنی |Ctrl+A: انتخاب کل متن

Ctrl+S: ذخیره کردن فایل | Ctrl+D: درج تاریخ | Ctrl++: افزایش اندازه فونت

Ctrl+-: کاهش اندازه فونت | Ctrl+T: انتخاب نوع قلم | Ctrl+F: پیدا کردن متن (جستجو)
Ctrl+R: جایگزینی متن | Ctrl+U: تبدیل حروف کوچک به بزگ در متن انتخابی
Ctrl+L: تبدیل حروف بزرگ به کوچک در متن انتخابی
Ctrl+Q: خارج شدن از برنامه;

دریافت نسخه آزمایشی 0.5.12 | دریافت سورس کد

توضیح : لینک های دانلود به صورت غیر مستقیم و در سایت Box.net قابل دریافت هستند.

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :