Archive for 2014

تغییر فونت فارسی ویندوز 7 و اصلاح فونت پیش فرض

۱۳۹۳/۰۹/۰۳ ۲۱:۴۴ Salar https://www.blogger.com/profile/08261083424775464146 منتشر شده در تاریخ : ۱۳۹۳/۰۹/۰۳ دسته بندی : ، 4

فونت پیش فرض ویندوز 7 برای فارسی خوانایی خیلی کمی دارد. قبلا فونت پیش فرض در ویندوز XP فونت Tahoma بود که خوانایی قابل قبولی داشت ولی این فونت به Segoe UI در ویندوز 7 و 8 تغییر یافته. متاسفانه در ویندوز 7 این فونت جدید هنوز دارای رسم الخط فارسی و عربی نبوده و همین باعث می شد که خوانایی آیکون ها و فولدر ها با نام فارسی بسیار کم باشد.
همانطور که قبلا در پستی در مورد نسخه جدید فونت توضیح دادم این فونت در ویندوز 8 اصلاح شده و اکنون خوانایی قابل قبولی را دارد. برای استفاده از آن کافی است که نسخه جدید را دانلود کرده و نصب کنید.
 

دانلود آخرین نسخه فونت Segoe UI | لینک Mirror

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

 

بهینه سازی URL ها در MVC با lowercase-dashed-routing

۱۳۹۳/۰۸/۲۸ ۱۹:۱۹ Salar https://www.blogger.com/profile/08261083424775464146 منتشر شده در تاریخ : ۱۳۹۳/۰۸/۲۸ دسته بندی : ، ، 0

مقدمه
آدرس های صفحات در وب یا اصلاحا URL به خاطر مسئله بهینه سازی های مربوط به موتور های جستجو اهمیت زیادی دارند. در همین راستا MVC هم به صورت پیش فرض آدرس های خوانایی رو تولید می کند. مانند example.com/Articles/TheSamplePage
با توجه به باز بودن بستر MVC می توان پا را فراتر از این هم نهاد و بهینه سازی بیشتری را نیز انجام داد. اما چطور؟
در آدرسی که ذکر شد چند اشکال خیلی کوچک وجود دارد. مهترین آن ترکیب حروف بزرگ و کوچک است. چطور میشود اگر کسی آدرس لینک را با حروف کوچک به صفحه ما لینک کند. حتی اگر این تغییر در بزرگی حروف حتی در یک کلمه باشد و بقیه حروف دقیقا برابر باشند. این می تواند باعث اشکال شده و موتور گوگل را به اشتباه انداخته و همان صفحه در دو نسخه متفاوت شناسایی بشود و نتیجه آن هم کاهش رنکینگ صفحه است.
اشکال دیگر مربوط میشود به شناسایی کلمات کلیدی در داخل URL که خود جزو موارد مهم در هنگام اندیس گذاری صفحات توسط موتور های جستجو است. با توجه به ترکیب حروف بزرگ و کوچک ممکن است که موتور جسجو به درستی نتواند کلمات مورد نظر ما را شناسایی کند.
راه حل همه این موارد که البته بسیار هم مرسوم است استفاده از حروف کوچک همراه با جداکردن کلمات در یک جمله طولانی با استفاده از خط تیره می باشد. برای مثال آدرس صفحه ای که ذکر شد به این صورت خواهد شد: site.com/articles/the-sample-page

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

دانلود و نصب
جهت نصب این کتابخانه از دستور زیر در nuget استفاده کنید.
Install-Package LowercaseDashedRouteExt 
یا فایل رفرنس را خودتان دستی اضافه نمایید. صفحه دانلود مستقیم

نمونه مثال و استفاده
استفاده از این کتابخانه بسیار ساده است، به عنوان اولین کار باید تنظیمات روتینگ رو در فایل RouteConfig عوض کنید. یک نمونه ساده از تنظیم پیش فرض:
routes.Add(new LowercaseDashedRoute("{controller}/{action}/{id}",
    new RouteValueDictionary(
        new { controller = "Home", action = "Index", id = UrlParameter.Optional }),
        new DashedRouteHandler()
    )
);

در صورتی که از Areaها استفاده می کنید، باید از کافیگ زیر در درون تابع RegisterArea مربوط به XxxAreaRegistration.cs استفاده کنید:
var route = new LowercaseDashedRoute("AreaName/{controller}/{action}/{id}",
    new RouteValueDictionary(
        new
        {
            controller = "Home",
            action = "Index",
            id = UrlParameter.Optional
        }),
    new DashedRouteHandler(),
    this, context);
context.Routes.Add("AreaName_default", route);

در صورتی که از ذکر صریح Namespace استفاده می کنید، فقط یک آرگومان اضافی باید ارسال کنید:
routes.Add(new LowercaseDashedRoute("{controller}/{action}/{id}",
       new RouteValueDictionary(
           new { controller = "Home", action = "Index", id = UrlParameter.Optional }),
       new DashedRouteHandler(),
       new[] { "SampleProject.Controllers" }
));
لینک های پروژه
صفحه پروژه lowercase-dashed-routing
صفحه دانلود فایلهای کامپایل شده
صفحه مربوط به NuGet

 

سرویس Feedburner و خلاصی از FeedProxy گوگل فیلتر شده

۱۳۹۳/۰۸/۰۷ ۱۵:۳۳ Salar https://www.blogger.com/profile/08261083424775464146 منتشر شده در تاریخ : ۱۳۹۳/۰۸/۰۷ دسته بندی : ، 0

در صورتی که از سرویس Feedburner هنوز استفاده می کنید بهتره که تنظیمات اخیر رو انجام دهید تا خوانندگان شما بتونن بدون مشکل به صفحه سایت سر بزنند.
مشکل از اینجا ناشی می شه که آدرس feedproxy.google.com فیلتر است و Feedburner از این آدرس جهت شناسایی کلیک و تعداد بازدید استفاده می کنه.
خلاصه کاری که باید انجام دهید غیر فعال کردن گزینه زیر است:



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

و نکته آخر اینکه آدرس فید خود را نیز به این صورت قرار دهید، آدرس feeds2 فعلا فیلتر است:
http://feeds.feedburner.com/salarblog

 

مترجم خودکار فایلهای Resx و چند زبانه

۱۳۹۳/۰۸/۰۶ ۱۴:۲۴ Salar https://www.blogger.com/profile/08261083424775464146 منتشر شده در تاریخ : ۱۳۹۳/۰۸/۰۶ دسته بندی : ، ، ، ، 1

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

خب با این ایده نرم افزاری رو تهیه کردم که با استفاده از مترجم گوگل این کار رو انجام بده. نکته ای این نرم افزار رو متفاوت می کنه عدم نیاز به هیچ API Key هست که سرویس های مترجم گوگل و Bing به برنامه نویس های میدن برای استفاده از سرویس ترجمه آنها. این سرویس محدودیت هایی دارند که مانع استفاده کامل و دائم میشه. من این کار را مستقیم با سرویس آنلاین خود گوگل انجام دادم که برای همه رایگان است. به هر ترتیب این نرم افزار رو که مدتی هم میشه نوشتم از اینجا معرفی می کنم.

ویژگی های AutoResxTranslator:
  • استفاده از مترجم گوگل
  • بدون نیاز به API Key
  • امکان ترجمه و تولید خودکار فایلهای Resx تمامی زبانهایی که گوگل پشتیبانی می کند.
  • قابل استفاده برای ترجمه عادی متون
  • قابلیت Import از فایل Excel (نهایی نشده و فقط درصورت کامپایل سورس توسط خودتان مشاهده خواهید کرد)
محیط اصلی برنامه

تصویر برنامه در حال ترجمه


لینک های AutoResxTranslator
برنامه به صورت رایگان و open-source بوده و استفاده و توسعه آن تحت MPLv2 برای عموم آزاد است.

 

قالب جدید بلاگر و دریافت آن

۱۳۹۳/۰۸/۰۱ ۲۲:۲۳ Salar https://www.blogger.com/profile/08261083424775464146 منتشر شده در تاریخ : ۱۳۹۳/۰۸/۰۱ دسته بندی : ، 0


متاسفانه قالب فارسی برای بلاگر دیگه پیدا نمیشه! بعد از اینکه دامنه blogger-fa.com از دسترسی خارج شد و قضایای فیلترینگ و غیره و عدم فعالیت کسانی مثل باغ بان باشی کسی نیست دیگه سراغ این سرویس بیاد.
خلاصه ماجرا اینکه خودم دست به کار شدم و برای اینکه انگیزه ای جدید برای نوشتن پیدا کنم قالب وبلاگ رو با استفاده از یک قالب که قبلا موجود بود با سیستم جدید بلاگر به روز کردم.
خوشبختانه تغییرات خیلی زیاد نبود و با اندکی جابجایی و تغییر استایل و دستی به سر رو روش کشیدن حل شد.

قالب این وبلاگ رو به صورت جداگانه برای دانلود می گذارم. شاید مفید واقع بشه :)
در این دانلود طبیعتا آدرس ها رو تغییر دادم ولی برای راحتی یک فایل راهنمای کوچیک هم براش نوشتم که چه کارهایی برای راه اندازی تصاویر، disqus و google analysics لازمه.

دانلود قالب بلاگر Helicon-fa بهینه شده | لینک Mirror