Hi Arman,
Here’s a test example for you. I may name it ‘the way i’d start to make it’ 
First step, db scheme
CREATE TABLE IF NOT EXISTS `page` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`visible` enum('y','n') NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `lang` (
`id` char(2) NOT NULL,
`name` varchar(125) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `translation` (
`page_id` int(11) unsigned NOT NULL,
`lang_id` char(2) NOT NULL,
`title` varchar(255) NOT NULL,
`content` text NOT NULL,
PRIMARY KEY (`page_id`,`lang_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ALTER TABLE `translation`
ADD CONSTRAINT `translation_lang` FOREIGN KEY (`lang_id`) REFERENCES `lang` (`id`),
ADD CONSTRAINT `translation_page` FOREIGN KEY (`page_id`) REFERENCES `page` (`id`);
Add some data to these tables
Second step, create models and controllers
With gii it’ll take seconds to create Page, Translation models and CRUD for Page
Third step, edit your models
Translation model, add
public function primaryKey() {
return array('page_id', 'lang_id');
}
Page model, add
public $title;
public $content;
public function defaultScope() {
return array(
'select'=>'t.id, t.visible, tr.title, tr.content',
'join'=>"LEFT OUTER JOIN translation as tr ON tr.page_id=t.id AND tr.lang_id='" . Yii::app()->language . "'",
);
}
Forth step, edit your view file
/views/page/_view, add
<b><?php echo CHtml::encode($data->getAttributeLabel('title')); ?>:</b>
<?php echo CHtml::encode($data->title); ?>
<br />
<b><?php echo CHtml::encode($data->getAttributeLabel('content')); ?>:</b>
<?php echo CHtml::encode($data->content); ?>
<br />
Final step
switch ‘language’=>‘en’ to a desired one (I decided to use simplified language form for now, I mean not ‘en_us’) and check how it influences your output at page/index
[i]
Hope I didn’t forget any detail and it’ll help you find your way to code multi-lang support.[/i][i][b]
[/b][/i]
[i]
[/i]
Regards,
Yuga