(==>hell lord<==)
23 December 2005, 11:24 AM
اینجا نحوه ی فارسی کردن قالب های 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"
مرحله بعدي تعويض كدهاي left و right است
باز هم در تمامي فايل هاي قالب ، كدهاي
align="left"
رو يافته و كد رو به
align="right"
و بر عکس
اين قسمت شايد مهمترين قسمت كار باشه
چرا كه تنيجه عملكرد فوق اينجا خودش رو نشون ميده ...
در اين قسمت بايد امكان نوشتن فارسي در فيلد ها رو ايجاد كنيم
عمده فيلد هاي مورد استفاده جهت نگارش input و textarea هستند
در تمامي فايل هاي قالب ، عبارات textarea و input رو يافته و كدهاي
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,*"
ميكنيم
سپس كدهاي زير رو يافته
<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">
جاي خط اول و دوم رو با هم عوض ميكنيم
4. براي فارسي كردن كليدها و نمادهاي گرافيكي در شاخه قالب ، فولدري بنام lang_farsi بسازيد
فايل هاي تصويري موجود در شاخه lang_english رو درون آن كپي كرده و توسط نرم افزار گرافيكي مثل PhotoShop يا هر نرم افزار ديگري كه تمايل داريد ، متون رو به فارسي تغيير دهيد
همچنين در صورت تمايل ميتونيد از نمادهاي گرافيكي كه قبلا فارسي شده اند و در دسترس ميباشند استفاده كنيد
توجه كنيد كه اين كار به سليقه خودتان بستگي دارد و البته از كليدهاي انگيليسي هم ميتونيد استفاده كنيد و در اين صورت اشكالي در روند استفاده از قالب ايجاد وجود نخواهد داشت ...
5. فونت هاي مورد استفاده در قالب در فايلي همنام با قالب و با پسوند css. تعريف شده اند
فايل رو ويرايش كرده و فونتهايي نظير Arial و Courier و Courier New و ... را به Tahoma تغيير دهيد
6. براي نصب و استفاده از قالب ها از دستور العمل زير استفاده كنيد :
. فولدر حاوي قالب رو در شاخه templates فروم كپي كنيد
. وارد بخش مديريت phpBB شده و در قسمت مديريت استايل ها ، گزينه اضافه كردن رو انتخاب كنيد
. در صفحه مربوطه گزينه نصب در مقابل نام template رو انتخاب كنيد
. به صفحه اصلي بازگرديد و در قسمت مشخصات فردي قالب مورد نظر رو انتخاب كنيد
نكته مهم :
در صورتي كه در تنظيمات مديريت > پيكربندي سيستم > آيا همه كاربران نيز اجبارا از اين استيل استفاده كنند ؟
گزينه بله انتخاب شده باشد ، علارغم اينكه قالب هاي متعددي نصب كرده باشيد ، كاربران امكان استفاده از آنها را نخواهند داشت
و تنها قالبي كه در همان قسمت به عنوان پيش فرض تعيين شده است قابل دسترسي خواهد بود
:icon_idea
به عنوان مقدمه بهتر است به معرفي مراحل كار بپردازيم :
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"
مرحله بعدي تعويض كدهاي left و right است
باز هم در تمامي فايل هاي قالب ، كدهاي
align="left"
رو يافته و كد رو به
align="right"
و بر عکس
اين قسمت شايد مهمترين قسمت كار باشه
چرا كه تنيجه عملكرد فوق اينجا خودش رو نشون ميده ...
در اين قسمت بايد امكان نوشتن فارسي در فيلد ها رو ايجاد كنيم
عمده فيلد هاي مورد استفاده جهت نگارش input و textarea هستند
در تمامي فايل هاي قالب ، عبارات textarea و input رو يافته و كدهاي
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,*"
ميكنيم
سپس كدهاي زير رو يافته
<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">
جاي خط اول و دوم رو با هم عوض ميكنيم
4. براي فارسي كردن كليدها و نمادهاي گرافيكي در شاخه قالب ، فولدري بنام lang_farsi بسازيد
فايل هاي تصويري موجود در شاخه lang_english رو درون آن كپي كرده و توسط نرم افزار گرافيكي مثل PhotoShop يا هر نرم افزار ديگري كه تمايل داريد ، متون رو به فارسي تغيير دهيد
همچنين در صورت تمايل ميتونيد از نمادهاي گرافيكي كه قبلا فارسي شده اند و در دسترس ميباشند استفاده كنيد
توجه كنيد كه اين كار به سليقه خودتان بستگي دارد و البته از كليدهاي انگيليسي هم ميتونيد استفاده كنيد و در اين صورت اشكالي در روند استفاده از قالب ايجاد وجود نخواهد داشت ...
5. فونت هاي مورد استفاده در قالب در فايلي همنام با قالب و با پسوند css. تعريف شده اند
فايل رو ويرايش كرده و فونتهايي نظير Arial و Courier و Courier New و ... را به Tahoma تغيير دهيد
6. براي نصب و استفاده از قالب ها از دستور العمل زير استفاده كنيد :
. فولدر حاوي قالب رو در شاخه templates فروم كپي كنيد
. وارد بخش مديريت phpBB شده و در قسمت مديريت استايل ها ، گزينه اضافه كردن رو انتخاب كنيد
. در صفحه مربوطه گزينه نصب در مقابل نام template رو انتخاب كنيد
. به صفحه اصلي بازگرديد و در قسمت مشخصات فردي قالب مورد نظر رو انتخاب كنيد
نكته مهم :
در صورتي كه در تنظيمات مديريت > پيكربندي سيستم > آيا همه كاربران نيز اجبارا از اين استيل استفاده كنند ؟
گزينه بله انتخاب شده باشد ، علارغم اينكه قالب هاي متعددي نصب كرده باشيد ، كاربران امكان استفاده از آنها را نخواهند داشت
و تنها قالبي كه در همان قسمت به عنوان پيش فرض تعيين شده است قابل دسترسي خواهد بود
:icon_idea