Dir: components file: SetLanguages php


Download 17.9 Kb.
Sana23.04.2020
Hajmi17.9 Kb.
#101025
Bog'liq
language



dir: components file: SetLanguages.php

namespace app\components;

class SetLanguages extends \yii\base\Behavior {

public function events(){

return [ \yii\web\Application::EVENT_BEFORE_REQUEST => 'set' ]; }

public function set() {

if (\Yii::$app->session->has('language')) {

\Yii::$app->language = \Yii::$app->session->get('language');

} }

}

?>



dir: config file: params.php

return [

...

'language' => [

'uz' => 'UZ',

'ru' => 'RU',

'en' => 'EN',

];


dir: config file: web.php

$config = [

...,

components’ => [

'i18n' => [

'translations' => [

'app*' => [

'class' => 'yii\i18n\PhpMessageSource',

'basePath' => '@app/languages',

'fileMap' => [

'app' => 'app.php',

'app/error' => 'error.php',

],

],

],



],

...,

'as beforeRequest' => [

'class' => 'app\components\SetLanguages',

],

];




dir: controllers file: SiteController.php

...

public function actionLanguage(){


if (Yii::$app->request->get('lang')) {

$lang = Yii::$app->request->get('lang');

Yii::$app->session->set('language', $lang);

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

return $this->redirect(Yii::$app->request->referrer);

}

else {



return $this->render('language');

}

}


dir: languages

dir: en file: app.php dir: ru file: app.php dir: uz file: app.php

return [


'title' => 'Title',

'content' => 'Content',

'language' => 'English',

...


];

?>


return [


'title' => 'Заглавие',

'content' => 'Содержание',

'language' => 'Русский',

...


];

?>


return [


'title' => 'Sarlavha',

'content' => 'Tarkibi',

'language' => "O'zbek",

...


];

?>



dir: views/site file: language.php

use yii\helpers\Url;

foreach (Yii::$app->params['language'] as $key => $value) {

echo " $key]).">".$value."";

}

echo 'Session: '.Yii::$app->session->get('language');



echo 'language: '.Yii::$app->language;

?>
















Download 17.9 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling