بخش جدید سایت با عنوان استاندارد زبان فارسی با هدف بهبود وضعیت زبان فارسی در نرم‌افزار و سایت‌های وب، راه‌اندازی شد.


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


شما چطور می‌توانید به این بخش کمک کنید؟

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

لطفاً هر سوال و پیشنهادی داشتید در بخش بحث و گفتگو مطرح کنید.

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


این ابزار صفحات وب فارسی رو از نظر صحیح بودن نوع کدگذاری (Content Encoding) و کاربرد نویسه‌های غیر فارسی بررسی می‌کنه. توجه داشته باشید که این ابزار در مرحله آزمایشی قرار داره و ممکنه با بعضی صفحات مشکلاتی داشته باشه. لطفاً این مشکلات و هر مورد دیگری که هنگام کار کردن با این ابزار مشاهده می‌کنید رو اطلاع بدید.


با استفاده از این ابزار چند تا سایت فارسی رو بررسی کنین تا شما هم متوجه بشین که اوضاع چقدر خرابه.

داستان زبان فارسی در دنیای فن‌آوری اطلاعات:


پرده اول: دهه 1370. با همه گیر شدن کامپیوترهای شخصی در ایران و نیاز به پشتیبانی از زبان فارسی، استاندارد ایران سیستم برای سیستم عامل داس شکل می‌گیرد.


پرده دوم: سال 1374. ویندوز 95 توسط مایکروسافت عرضه می‌شود. این ویندوز کدپیج 1256 را برای نمایش زبان عربی و فارسی معرفی می‌کند.


پرده سوم: سال 1378. ویندوز 2000 عرضه می‌شود. این نسخه از یونی‌کد پشتیبانی می‌کند و شامل یک چیدمان صفحه کلید برای وارد کردن متون فارسی است. اما نمایش بعضی حروف مانند "ی وسط" با مشکل همراه است.


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


پرده پنجم: سال 1388. با این که سالها از معرفی و فراگیر شدن استاندارد یونی‌کد می‌گذرد، تقریباً تمام نرم‌افزارها و سایت‌های وب فارسی یا هنوز بر پایه کدپیج 1256 نوشته می‌شوند و یا از حروف عربی در میان متون فارسی استفاده می‌کنند. این مسئله باعث شده است که هیچ کدام از اطلاعات و مطالبی که ما تولید، ذخیره و در اینترنت منتشر می‌کنیم، فارسی صحیح نباشند.


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


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


در همین راستا:

سلام.
سال نو مبارک.
امیدوارم سال 1388 برای همه همراه با سلامتی و موفقیت باشد.

یک. رای‌گیری برای انتخاب و معرفی برترین‌های وب فارسی در دومین جشنواره آن‌لاین وب ایران چند روزیه که شروع شده. اگر مایل هستید، می‌تونید به سایت iDevCenter در این جشنواره رای بدهید.


دو. فردا قصد معرفی یک بخش جدید در سایت رو دارم. از اونجایی که این بخش عمدتا بر اساس سیستم ویکی کار می‌کنه، ادیتور این بخش رو یکم بهبود دادم و چندتا امکان جدید بهش اضافه کردم تا کار کردن باهاش کمی راحت‌تر بشه.


سه. چند وقتیه که یک حرکتی در وب سایت‌های خارجی شروع شده برای تشویق مردم به کنار گذاشتن IE6 و استفاده از مرورگرهای جدیدتر و با پشتیبانی بهتر از استانداردهای وب. سایت iDevCenter هم در این راستا، از این به بعد به کسانی که با این مرورگر بی‌نظیر(!) وارد سایت بشوند، خیلی محترنامه پیغام می‌ده که مرورگرشون رو به‌روز کنند.

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


در ASP.NET برای این کار یک روشی نه چندان جالبی وجود داره که توی این مطلب معرفی شده و به مشکلاتش هم اشاره شده. برای iDevCenter من از روش زیر بر اساس URL Rewriting استفاده می‌کنم. از اونجایی که برای پیاده سازی URL Rewriting در سایت من از نرم‌افزار ISAPI_Rewrite استفاده کرده‌ام، این روش رو بر اساس فایل htaccess. توضیح می‌دهم ولی اصل مطلب به نرم‌افزار خاصی وابستگی نداره و به راحتی می‌شه برای محیط‌های دیگه هم ازش استفاده کرد.


در این روش کافیه این دو خط رو به اول فایل htaccess. اضافه کنیم. این کار باعث می‌شه تا تمام درخواست‌ها موقتا به آدرس /updating/ فرستاده بشن. توی این مسیر هم یک فایل ساده HTML وجود داره که به کاربرها خبر می‌ده که سایت در حال به روز رسانی شدن هستش.


RewriteRule ^updating.*$ $0 [NC,U,QSA,L]
RewriteRule .* /updating/ [NC,U,QSA,R=307,L]

اما همیشه بهتره قبل از این که سایت به روی عموم باز بشه، خودمون یکبار تمام تغییرات اعمال شده رو تست بکنیم و بعد از اطمینان از درست بودن همه موارد، سایت رو باز کنیم. برای این کار نیاز داریم که به یک شکلی خودمون رو از بقیه کاربران متمایز بکنیم. یکی از ساده‌ترین راه‌ها برای انجام این کار، درج یک عبارت مشخص در User Agent هست. در فایرفاکس کافیه در بخش about:config یک Key با نام general.useragent.extra.XYZ و با مقدار مورد نظر، مانند ABC، ایجاد بشه. اما برای IE باید دست به دامن Registry شد. حالا کافیه برای قانون دومی که تعریف کرده‌ایم یک شرط اضافه کنیم:


RewriteRule ^updating.*$ $0 [NC,U,QSA,L]
RewriteCond %{HTTP:User-Agent} !ABC [NC]
RewriteRule .* /updating/ [NC,U,QSA,R=307,L]

این شرط باعث می‌شه کاربرانی که عبارت ABC در User Agentشون وجود داره (یعنی مدیران سایت) از Redirect شدن معاف بشن و بتونن به طور عادی با سایت کار کنند.


Vote on iDevCenter

افزونه لینک‌ها برای WordPress مخصوص کسانی که از سیستم وردپرس برای وبلاگشون استفاده می‌کنند. در همین راستا، ظاهر خروجی عکس تعداد رای‌ها رو هم یکم بهتر کردم.

طی چند روز گذشته چند تا تغییر و امکان جدید داشتیم که فرصت نشده بود تو وبلاگ بنویسم:


  • چند تا بنر برای کسانی که مایل هستن حمایت خودشون رو از سایت تو وبلاگ/سایتشون اعلام کنند، اضافه شد.
  • مشکل جستجوی برچسب‌هایی که شامل کاراکتر + هستند برطرف شد.
  • مشکل تشخیص نادرست لینک‌ها در نظرات برطرف شد.
  • مشکل کد شدن دوباره آدرس‌ها وقتی از آدرس بدون www استفاده می‌شد برطرف شد.
  • ظاهر صفحه نتیجه جستجوی برچسب‌ها یکم تغییر داده شد.
  • از این به بعد، تعداد دفعات استفاده برچسب‌ها در Tag Cloudها نشون داده می‌شه.
  • صفحه /my/links/ حذف شد. به جایش می‌تونید از صفحه /~username/links/ استفاده کنید.
  • گرافیک سایت یکم بهبود داده شد.

یک نکته دیگه رو هم بگم فقط: صفحه‌های 'لینک‌های ارسالی'، 'لینک‌های مورد علاقه' و 'ویکی‌ها' در پروفایل عمومی هر کاربر دارای خروجی RSS هستند. از این امکان می‌تونید به عنوان مثال برای نمایش خودکار لینک‌های خوبی که در سایت پیدا می‌کنید در سایت/وبلاگتون استفاده کنید.

بدینوسیله از شما کاربر گرامی دعوت می‌شود از صفحه iDevCenter در Facebook دیدن کنید و از آخرین اخبار سایت در Twitter مطلع شوید. (با تشکر از مهدی)
سپهر زحمت کشیده و یک WordPress Shortcode آماده کرده برای درج خودکار لینک ارسال مطلب به iDevCenter. اگه از Wordpress استفاده می‌کنید لطفا تست کنید و نظرتون رو بگید: WordPress Shortcode برای iDevCenter Links