مفهوم Sourcelanguage

[rtl]

در بحث چند زبانه کردن سایت یه جایی گفته بود که توی فایل protected/config/main.php کدهای زیر را قرار بده.[/rtl]


...

//language settings

	'sourceLanguage'=> '00',

	'language' => 'fa_ir',

...

[rtl]

حالا برام این مقدار ‘00’ که به sourceLanguage داده سوال شده؟

چی هست؟ کارش چیه؟ چرا 00?

[/rtl]

[font="Tahoma"][rtl]

اگه سوالتون نحوه فارسی سازی باشه کدهای زیر کفایت می کنه

[/rtl]

[/font][font="Tahoma"]


'sourceLanguage' => 'en_us',

        'language'=>'fa_ir',

[/font][font="Tahoma"][rtl]

اما اگه منظورتون مفهوم sourceLanguage هستش که این یک propertyاز کلاس CApplication هست و زبانی را که پیامها و ویوهای شما قراره استفاده کنند رو نشون می ده پیش فرض اون انگلیسی کد en_us هستش ولی در مورد

00 که برای فریم ورک معنی نداره و معادل nullترجمه می شه و اگر بخواید خودتون سیستم ترجمه رو به صورت on-demand ایجاد کنید کاربرد داره ولی توصیه نمی شه.

[/font]

[/rtl]

[rtl]چون می گید معنی نداره، بنده این سوال را کردم. آخه وقتی مقدار sourceLanguage را en_us مذارم تابع Yii::t() درست کار نمی کنه. ولی با مقدار ‘00’ درست کار می کنه.

[/rtl]

[font="Tahoma"][rtl]

یک بار فایلهای و پوشه فریم ورک رو کامل حذف کنید و دوباره کپی کنید. مشکلتون حل می شه. البته آخرین ورژن برنامه در ضمن یک بار هم محتوای پوشه assets رو پاک کنید.

[/rtl][/font]

[rtl]

ضمن تشکر، اتفاقا این مشکل روی یه سیستم جدید پیش آمده. پروژه را بردم روی یک سیستم جدید و تا اون مقدار را همونطور که گفتم ‘00’ یا NULL نذارم همونطوریه. اون assets راهم که گفتید کلا پاک کردم ولی همچنان سر خونه اول هستم.

[/rtl]

[rtl]

راستی جالبه که بدونید اون مطلبی که گفتم دیده بودم که این مقدار ‘00’ را داده بود ایجا هست:

[/rtl]

http://www.yiiframew…s-the-easy-way/

[rtl]

جالبه که از ویکی های خود فریمورک هم هست.

[/rtl]

<form method="POST" action="<?php echo Yii::app()->request->baseUrl; ?>/index.php">

<input class="fa_ir" type="submit" value="fa_ir" name="fa_ir">

</form>

<form method="POST" action="<?php echo Yii::app()->request->baseUrl; ?>/index.php">

<input class="en" type="submit" value="en" name="en">

</form><?php

$lang = Yii::app()->language;

if(isset($_POST[‘fa_ir’]))

{

$lang = Yii::app()->language;

}

if(isset($_POST[‘en’]))

{

$lang = Yii::app()->sourceLanguage;

}

Yii::app()->session[‘lang’] = $lang ;//Yii::app()->language;

echo $lang.’<br/>’;

Yii::app()->setLanguage($lang);

/* @var $this Controller */ ?> برای ست کردن زبهن هست اگه انگلیسی رو بزنه انگلیسی نشون میده و اگر فارسی رو بزنه فارسی میشه البته بجای 00 نوشتم

‘sourceLanguage’ => ‘en’,

'language' =&gt; 'fa_ir',