[rtl]
للأسف الطريقة المعتمده لعمل موقع متعدد اللغات في Yii هي بإنشاء ملف للغات
بحث يعيد هذا الملف مصفوفة يكون فيها المفتاح هو source language والقيمة هي الترجمة
[/rtl]
<?php
return array(
....
....
'source message' => 'الترجمة هنا',
....
....
);
?>
[rtl]
ملاحظة قد قد تسهل عليك كثيرا
عند استخدام Yii::t(); فإنه يمكنك انشاء ملفات اللغات اوتوماتيكيا عن طريق سطر الاوامر بأمر بسيط
[/rtl]
protected/yiic message <CONFIG_FILE>
[rtl]
بحيث ان <CONFIG_FILE> هو ملف داخل مجلد protected/messages/config.php
ويكون محتواة كالتالي (قم بتعديلة ليتناسب مع متطلباتك)
[/rtl]
<?php
/**
* This is the configuration for generating message translations
* for the Yii framework. It is used by the 'yiic message' command.
*/
return array(
// source Path to start recursive seach
'sourcePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'..',
// messages folder Path
'messagePath'=>dirname(__FILE__),
// languages you want to translate the whole site into
'languages'=>array('ar'),
// specify a file types to look into
'fileTypes'=>array('php'),
// function search key
'translator' => 'Yii::t',
// if you do not need to exclude any file or folders you can remove it ..
// this is only example and you should modify it to suite your needs.
'exclude'=>array(
'.git',
'/index.php',
'yiic.php',
'/assets',
'/blog',
'/css',
'/images',
'/theme',
),
);
[rtl]
فيصبح الامر النهائي كالتالي
[/rtl]
protected/yiic message protected/messages/config.php
[rtl]
هذا فيما يخص الرسائل
اما بخصوص طريقة تحويل التصميم من اليمين إلى اليسار ماهي صعبة ان شاء الله
لنفرض انك تريد وضع dir="rtl" في وسم html في حال كانت اللغة المختارة هي العربية
الكود التالي سيكون موجود في ملف views/layouts/main.php بشكل افتراضي
[/rtl]
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
[rtl]
وانت تريدة ان تكون النتيجة في حال كانت اللغة العربية كالتالي
[/rtl]
<html dir='rtl' xmlns="http://www.w3.org/1999/xhtml" xml:lang="ar" lang="ar">
[rtl]
كل ماعليك فعله هو التحقق من Yii::app()->language وعرض النتائج بناء على النتيجة كالتالي
[/rtl]
<html <?php if(Yii::app()->language == 'ar') echo "dir='rtl'"; ?> xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo Yii::app()->language; ?>" lang="<?php echo Yii::app()->language; ?>">
[rtl]
مع الاخذ بعين الاعتبار ان لغتك الاساسية في الموقع الانجليزية لذلك فإن قيمة Yii::app()->language في حال كانت اللغة انجليزية سيكون en
اذا في اي استفسار لاتتردد بالسؤال
موفق خير ان شاء الله
[/rtl]