لطفا ابتداپست قبل در همین مورد رو مطالعه کنید . بعد از تغییرات ذکر شده در پسا قبل تغییراتی جدید روی سیستم انجام شده است. به طور خلاصه سیستم پشتیبانی از زبان های راست به چپ اندکی توسعه پیدا کرده و تبدیل به یک سیستم بومی سازی برای زبان های مختلف شده است. این عمل در سه بخش مجزا انجام شده.
این عمل در سه بخش مجزا انجام شده.
۱- بومی سازی قالب ها
۲- پشتیبانی از فایل های css محلی در تمام قالب های مدیریت
۳- اضافه کردن یک فایل css سراسری برای تمام بخش های سایت برای هر زبان
۱- بومی سازی قالب ها :
در فایل class/theme.css کد های php زیر اضافه شده است .
function loadLocalization()
{
global $xoops;
$language = $GLOBALS["xoopsConfig"]["language"];
if ( !
file_exists( “{$this->path}/language/{$language}” ) ) {
return true;
}
$this->addLanguage();
$this->addScript( “language/{$language}/script.js” );
$this->addStylesheet( “language/{$language}/style.css” );
return
true;
}
و این کد
function addLanguage($type = “main”, $language = null)
{
global $xoops;
$language = is_null($language) ? $GLOBALS["xoopsConfig"]["language"] : $language;
if (false === @include $xoops->path( $this->resourcePath( “/language/{$language}/{$type}.php” ) ) ) {
include $xoops->path( $this->resourcePath( “/language/english/{$type}.php” ) );
}
return true;
}
این توابع دو عمل رو انجام میدن. ابتدا باعث میشن که برای هر قالب در صورت وجود یک فایل css جاوا برای هر زبان لود بشه . یعنی شما باید در شاخه قالب سایت شاخه ای به اسم language درست کنید و داخل اون شاخه ای به اسم زبان خودتون مثلا persian اضافه کنید . حالا اگه توی این شاخه یک فایل css قرار بدید کد های اون در زبان فارسی برای شما لود میشه . به طور مشابه یک فایل جاوا هم به همین صورت قرار داره. همچنین شما میتونید یک فایل php برای اضافه کردن لغات مورد نظر خودتون در زبان خودتون داشته باشید . به این صورت میشه نوشته های یک تم رو برای هر زبان بومی سازی کرد لازم به ذکره که وقتی از فایل css محلی در قالب استفاده میکنید دیگه فایل css سراسری که ما کد های مربوط راست به چپ شدن زبان فارسی رو درون اون قرار دادیم لود نمیشه و شما باید مجددا کد های مربوط به راست به چپ شدن رو هم به تم خودتون اضافه کنید .مثل این فایل
http://xoopspersian.svn.sourceforge.n … ?revision=291&view=markup
۲- پشتیبانی از فایل های css محلی در تمام قالب های مدیریت
در نسخه جدید زوپس امکان داشتن چند قالب مختلف برای بخش مدیریت وجود داره. در قالب های فعلی امکانی اضافه شده که به ما اجازه میده برای هر زبان یک فایل css محلی داشته باشیم مثلا این کد
if (file_exists(XOOPS_ROOT_PATH . ‘/modules/system/class/gui/default/css/’ . _LANGCODE . ‘.css’)) { echo ‘
<link rel=”stylesheet” type=”text/css” media=”all” />’; }
به ویسله این کد ما میتونیم فایلی به اسم fa.css داشته باشیم که به ما اجازه میده کد های محلی زبان فارسی رو در بخش مدیریت اجرا کنیم. در تمام قالب های مدیریت کدی به این شکل پیاده سازی شده۳- اضافه کردن یک فایل css سراسری برای تمام بخش های سایت برای هر زباناین سیستم که مکمل تمام سیستم های بومی سازی قبله امکان داشتن یک فایل css محلی رو در تمام قسمت های سایت میده که میشه از کد هاش استفاده کرد در بخش کاربر تمام کد ها مربوطه در فایل header.php قرار گرفته کد های به این شکل
if (file_exists(XOOPS_ROOT_PATH . ‘/language/’ . $xoopsConfig["language"] . ‘/style.css’)) { echo ‘
<link rel=”stylesheet” type=”text/css” media=”all” />’; }
کد مشابهی هم در تمام قالب های بخش مدیریت اضافه شده که در صورت موجود نبودن فایل لوکال css در خود قالب میتونه فایل سراسری رو برسی کنه و کد های مربوطه رو مورد استفاده قرار بده . ما در زبان فارسی تمام کد های css لازم رو برای پروژه آماده کردیم و در فارسی ساز قرار دادیم. در نتیجه برای راست به چپ شدن تم ها هیچ نیازی به اضافه کردن کد خاصی و یا ویرایش فایل خاصی نیست. البته برای قالب های خاص کاربر با استفاده از روش اول که توضیح داده شد میتونه فایل css محلی رو برای تم داشته باشه که باز هم نیازی به ویرایش هیچ کدی نیست.جا داره از آقای Jiang Taiwen لیدر تیم هسته زوپس و آقای Julio Napurí Carlos یکی از توسعه دهندگان هسته زوپس به خاطر همکاری در اضافه کردن این سیستم تشکر ویژه بکنم .لازم به ذکره که این سیستم در سه روز اخیر به هسته زوپس اضافه شده .