Yii Framework Configuration Language Package

  • Configuration file frontend\config\main.php
    'language' => 'zh-CN',
    // Configure language pack 
            'i18n' => [
                 'translations' => [
                     '*' => [
                         'class' => 'yii\i18n\PhpMessageSource',
                         // 'basePath' => '/messages', 
                        'fileMap ' => [
                             'common' => 'common.php' 
                        ] ,
                    ]
                ],
            ],

  • Write Chinese translation in frontend\messages\zh-CN\common.php (if not, create corresponding directories and files)

    <?php
    
    return [
         'Blog' => 'Blog',
        'Home' => 'Home',
        'About' => 'About us',
        'Contact' => 'Contact us',
        'Signup' => 'Signup',
        'Login' => 'Login', 
    ];
  • Use in frontend\views\layouts\main.php
    <?php
                NavBar::begin([
                    'brandLabel' => Yii::t('common', 'Blog'),
                    'brandUrl' => Yii::$app->homeUrl,
                    'options' => [
                        'class' => 'navbar-inverse navbar-fixed-top',
                    ],
                ]);
                $menuItems = [
                    ['label' => Yii::t('yii', 'Home'), 'url' => ['/site/index']],
                    ['label' => Yii::t('common', 'About'), 'url' => ['/site/about']],
                    ['label' => Yii::t('common', 'Contact'), 'url' => ['/site/contact']],
                ];
                if (Yii::$app->user->isGuest) {
                    $menuItems[] = ['label' => Yii::t('common', 'Signup'), 'url' => ['/site/signup']];
                    $menuItems[] = ['label' => Yii::t('common', 'Login'), 'url' => ['/site/login']];
                } else {
                    $menuItems[] = [
                        'label' => 'Logout (' . Yii::$app->user->identity->username . ')',
                        'url' => ['/site/logout'],
                        'linkOptions' => ['data-method' => 'post']
                    ];
                }
                echo Nav::widget([
                    'options' => ['class' => 'navbar-nav navbar-right'],
                    'items' => $menuItems,
                ]);
                NavBar::end();
            ?>

     

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325339249&siteId=291194637