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

زمان کنونی: ۳-۲-۱۳۹۱, ۰۴:۳۸ صبح درود مهمان گرامی! (ورودثبت نام)


ارسال پاسخ 
 
امتیاز موضوع:
  • 0 رأی - میانگین امیتازات : 0
  • 1
  • 2
  • 3
  • 4
  • 5
آموزش فارسی کردن قالب های ( phpBB ) ( نسخه کامل )
۱۱-۲۴-۱۳۸۶, ۰۲:۳۰ عصر
ارسال: #1
آموزش فارسی کردن قالب های ( phpBB ) (
در این مقاله سعی خواهم کرد تا بزبان ساده و با ابزار موجود نحوه فارسی کردن قالب های phpBB رو توضیح بدم
لازم به توضیح است که پیش از این ، اساتید بنده هم به نوعی در این مورد سعی و تلاش کرده اند و بنده در این مقوله سعی کرده ام که چکیده مطالب مفید آنها را هم لحاظ کنم ...

سطح این آموزش متوسط است و شما به فرض داشتن آشنایی مختصری به phpBB میتوانید دستورالعمل های آن را بکار بسته و عملی کنید

به عنوان مقدمه بهتر است به معرفی مراحل کار بپردازیم :

1. دریافت قالب مورد نظر
2. ایجاد تغییرات لازم در فایل های مربوطه و افزودن امکان فارسی نویسی
3. تغییر جهت و فارسی کردن کنترل پنل ادمین ( راست چین کردن )
4. طراحی و ایجاد موضوعات گرافیکی به زبان فارسی از قبیل کلیدها و ...
5. تغییر فونت های مورد استفاده در قالب
6. نصب و استفاده از قالب مورد نظر

بسیار خوب کارمون رو شروع کنیم :

1. برای دریافت قابل بهترین منبعی که میتونم معرفی کنم و احتمالا خیلی ها هم به آن آشنایی دارند این آدرس است
کد:
http://www.phpbbhacks.com/templates.php

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

2. فایل های قالب phpBB فایلهای با پسوند tpl. و در فولدرهایی مجزا و هم نام با قالب و در شاخه templetes هستند

پیش از هرکاری باید امکان فارسی نویسی ( تعریف کلیدها فارسی ) رو انجام بدیم
برای این کار نیاز به کدهای جاوا اسکریپت داریم
از آنجایی که فایل overall_header.tpl در تمامی صفحات انجمن وجود دارد و تکرار میشود ( قسمت بالای صفحات ) ، بهترین محل برای قرار دادن کد های لازم است
کد زیر رو ( در ابتدای فایل ) یافته
کد:
dir="{S_CONTENT_DIRECTION}"

و این کد رو جایگزین آن کنید :
کد:
dir="rtl"

حالا کافیست این کد رو پیش از

کد:
</head>

اضافه کنیم :

کد:
<script language="javascript" type="text/javascript]
var lang = 1;    // 1: Farsi, 0: English

// Farsi keyboard map based on ISIRI-2901
var farsikey = [
   0x0020, 0x0021, 0x061B, 0x066B, 0x00A4, 0x066A, 0x060C, 0x06AF,
   0x0029, 0x0028, 0x002A, 0x002B, 0x0648, 0x002D, 0x002E, 0x002F,
   0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
   0x0038, 0x0039, 0x003A, 0x0643, 0x003E, 0x003D, 0x003C, 0x061F,
   0x066C, 0x0624, 0x200C, 0x0698, 0x0649, 0x064D, 0x0625, 0x0623,
   0x0622, 0x0651, 0x0629, 0x00BB, 0x00AB, 0x0621, 0x004E, 0x005D,
   0x005B, 0x0652, 0x064B, 0x0626, 0x064F, 0x064E, 0x0056, 0x064C,
   0x0058, 0x0650, 0x0643, 0x062C, 0x005C, 0x0686, 0x00D7, 0x0640,
   0x200D, 0x0634, 0x0630, 0x0632, 0x064A, 0x062B, 0x0628, 0x0644,
   0x0627, 0x0647, 0x062A, 0x0646, 0x0645, 0x067E, 0x062F, 0x062E,
   0x062D, 0x0636, 0x0642, 0x0633, 0x0641, 0x0639, 0x0631, 0x0635,
   0x0637, 0x063A, 0x0638, 0x007D, 0x007C, 0x007B, 0x007E ];


function changeLang() {
    if (lang == 0) {
    lang = 1;
    return true;
  }
  else {
    lang = 0;
    return true;
  }
}

function FKeyDown (txtFrm){
var key = window.event.keyCode;
if (key == 145){
    if (lang == 0) {
      lang = 1;
      return true;
    }
    else {
      lang = 0;
      return true;
    }

}
    
}
function FKeyPress(txtFrm) {
   var key = window.event.keyCode;

  if (key == 13) { window.event.keyCode = 13; return true; }
     if (key == 0x06cc) {  
        window.event.keyCode = 0x064a;
     }
            
   if (lang == 1) { // If Farsi
     if (key == 0x0020 && window.event.shiftKey) // Shift-space -> ZWNJ
       window.event.keyCode = 0x200C;
     else
       window.event.keyCode = farsikey[key - 0x0020];
     if (farsikey[key - 0x0020] == 92) {  
        window.event.keyCode = 0x0698;
     }
     if (farsikey[key - 0x0020] == 8205) {  
        window.event.keyCode = 0x067E;
     }
   }
   return true;
}
</script>

با این کار در واقع کلید ScrolLock رو برای تعویض بین حالت فارسی و انگلیسی تعریف کرده ایم
نقشه صفحه کلید در این حالت براساس استاندارد ISIRI-2901 است که متداول ترین صفحه کلید مورد استفاده فارسی می باشد
توجه کنید که طبق این کد پیش فرض نگارش در فیلدهایی که بعدا تغییر خواهیم داد ، فارسی خواهد بود
اگر تمایل به انگلیسی کردن پیش فرض نگارش در فیلدها باشید کافیست در قسمت

کد:
var lang = 1;    // 1: Farsi, 0: English
عدد 0 رو جایزگین 1 کنید ، یعنی :
کد:
var lang = 0;    // 1: Farsi, 0: English

حالا باید بریم سراغ جداول ( tables )
در تمامی فایل های قالب ( فایل های با پسوند tpl. ) به دنبال خطوطی که حاوی این کد هستند میگردیم :

کد:
<table ...................

و در کنار آن عبارت زیر رو اضافه میکنیم :
کد:
dir="rtl"
یعنی به عبارتی اگر کدی مثلا به این شکل داشته باشیم
کد:
<table class="forumline" width="95%" cellspacing="1" cellpadding="4" border="0]

باید به این شکل تغییر یابد :

کد:
<table dir="rtl" class="forumline" width="95%" cellspacing="1" cellpadding="4" border="0]

مرحله بعدی تعویض کدهای left و right است
باز هم در تمامی فایل های قالب ، کدهای
کد:
align="left"
رو یافته و کد رو به
کد:
align="right"
تغییر میدیم

همچنین همه کدهای
کد:
align="right"
رو یافته و به کد
کد:
align="left"
تغییر میدیم

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

در این قسمت باید امکان نوشتن فارسی در فیلد ها رو ایجاد کنیم
عمده فیلد های مورد استفاده جهت نگارش input و textarea هستند
در تمامی فایل های قالب ، عبارات textarea و input رو یافته و کدهای
کد:
onKeyDown="FKeyDown();" onkeypress="FKeyPress();"

رو به اون اضافه میکنیم
به عنوان مثال اگر در مورد input کدی مشابه این داشته باشیم

کد:
<input class="post" type="text" name="username" size="10"/>
به این شکل تغییر میکنه :
کد:
<input class="post" type="text" name="username" size="10" onKeyDown="FKeyDown();" onkeypress="FKeyPress();"/>
ویا در مورد textarea اگر کدی شبیه این داشته باشم
کد:
<textarea name="message" rows="15" cols="35" style="width:450px" tabindex="3" class="post" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" >
به این شکل تغییر میکنه :
کد:
<textarea name="message" rows="15" cols="35" style="width:450px" tabindex="3" class="post" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onKeyDown="FKeyDown();" onkeypress="FKeyPress();]
(( لازم به ذکر است که کدهای مذکور رو به شکلی دیگری هم میتوان بکاربرد که به دلیل جلوگیری از پیچیده گی موضوع و عدم ضرورت به آن نمی پردازم ... ))

نکته مهم :
در تمامی مودهایی که در phpBB افزوده میشود ، نحوه فارسی کردن فیلدهای موجود در آنها به همین ترتیب فوق است
به این معنی که میتوانید برای فارسی کردن فیلدهای مورد اشاره در مودی که نصب میکنید با افزودن کدهای
کد:
onKeyDown="FKeyDown();" onkeypress="FKeyPress();"
به فیلدهای نوشتاری آن ، به راحتی امکان فارسی نوشتن را به آنها بیافزاید ...

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


3. برای فارسی کردن کنترل پنل مدیر phpBB هم روندی مشابه موارد فوق را اجرا میکنیم ، با این تفاوت که بجای فایل overall_header.tpl فایل page_header.tpl در فولدر admin قالب رو ویرایش و کدهای لازم رو به اون اضافه میکنیم
همچنین امکان نگارش فارسی رو هم - مطابق موارد فوق - به فیلدهای مورد نظر در فایل های متفاوت فولدر admin اضافه میکنیم

و اما تغییر جهت کنترل پنل مدیریت :

در فولدر admin فایل index_frameset رو یافته و ویرایش میکنیم

کد زیر رو پیدا کرده

کد:
<frameset cols="170,*" rows="*" border="2" framespacing="0" frameborder="yes]
  <frame src="{S_FRAME_NAV}" name="nav" marginwidth="3" marginheight="3" scrolling="auto]
  <frame src="{S_FRAME_MAIN}" name="main" marginwidth="10" marginheight="10" scrolling="auto]
</frameset>

و کد
کد:
cols="*,170"

رو جایگزین
کد:
cols="170,*"
میکنیم
یعنی در نهایت کداصلی به این شکل در خواهد آمد :
کد:
<frameset cols="*,170" rows="*" border="2" framespacing="0" frameborder="yes]
  <frame src="{S_FRAME_NAV}" name="nav" marginwidth="3" marginheight="3" scrolling="auto]
  <frame src="{S_FRAME_MAIN}" name="main" marginwidth="10" marginheight="10" scrolling="auto]
</frameset>
سپس کدهای زیر رو یافته

کد:
<frame src="{S_FRAME_NAV}" name="nav" marginwidth="3" marginheight="3" scrolling="auto]
<frame src="{S_FRAME_MAIN}" name="main" marginwidth="10" marginheight="10" scrolling="auto]
و جای خط اول و دوم رو با هم عوض میکنیم

یعنی در نهایت این :
کد:
<frame src="{S_FRAME_MAIN}" name="main" marginwidth="10" marginheight="10" scrolling="auto]
<frame src="{S_FRAME_NAV}" name="nav" marginwidth="3" marginheight="3" scrolling="auto]
4. برای فارسی کردن کلیدها و نمادهای گرافیکی در شاخه قالب ، فولدری بنام lang_farsi بسازید
فایل های تصویری موجود در شاخه lang_english رو درون آن کپی کرده و توسط نرم افزار گرافیکی مثل PhotoShop یا هر نرم افزار دیگری که تمایل دارید ، متون رو به فارسی تغییر دهید
همچنین در صورت تمایل میتونید از نمادهای گرافیکی که قبلا فارسی شده اند و در دسترس میباشند استفاده کنید
توجه کنید که این کار به سلیقه خودتان بستگی دارد و البته از کلیدهای انگیلیسی هم میتونید استفاده کنید و در این صورت اشکالی در روند استفاده از قالب ایجاد وجود نخواهد داشت ...




5. فونت های مورد استفاده در قالب در فایلی همنام با قالب و با پسوند css. تعریف شده اند
فایل رو ویرایش کرده و فونتهایی نظیر Arial و Courier و Courier New و ... را به Tahoma تغییر دهید



6. برای نصب و استفاده از قالب ها از دستور العمل زیر استفاده کنید :

. فولدر حاوی قالب رو در شاخه templates فروم کپی کنید
. وارد بخش مدیریت phpBB شده و در قسمت مدیریت استایل ها ، گزینه اضافه کردن رو انتخاب کنید
. در صفحه مربوطه گزینه نصب در مقابل نام template رو انتخاب کنید
. به صفحه اصلی بازگردید و در قسمت مشخصات فردی قالب مورد نظر رو انتخاب کنید

نکته مهم :
در صورتی که در تنظیمات مدیریت > پیکربندی سیستم > آیا همه کاربران نیز اجبارا از این استیل استفاده کنند ؟
گزینه بله انتخاب شده باشد ، علارغم اینکه قالب های متعددی نصب کرده باشید ، کاربران امکان استفاده از آنها را نخواهند داشت
و تنها قالبی که در همان قسمت به عنوان پیش فرض تعیین شده است قابل دسترسی خواهد بود.

منبع : majidonline
یافتن تمامی ارسال های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال پاسخ 


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 3 مهمان
Persian MyBB : MyBBIran.com
Powered by MyBB | Copyright © 2009 MyBB Group
Element Blue by MyBB Mod | RTL by MyBBIran.com