桃篮翁 2014-10-24 20:14:40 24314次浏览 4条评论 6 2 0

以高级版为例,打开vendor\yiisoft\yii2\widgets\Breadcrumbs.php,找到run函数,在这个函数的地8行左右的位置,有

'label' => Yii::t('yii', 'Home'),

把它改成

'label' => Yii::t('yii', '首页'),

就ok了。

觉得很赞
  • 评论于 2014-10-25 14:00 举报

    简单看了一下源代码:这样写就行了

    <?= Breadcrumbs::widget([
        'homeLink'=>[
            'label' => '主 页',
            'url' => Yii::$app->homeUrl
        ],
        'links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [],
    ]) ?>
    
    觉得很赞
  • 评论于 2014-10-26 16:41 举报

    Yii::t 是 yii 的翻译函数,不应该像贴主那样修改,如果需要支持多语音,那么应该在相关配置加上 'language' =>'zh-CN',
    在 frontend/config/main-local.php 文件修改为:

    if (!YII_ENV_TEST) {
        // configuration adjustments for 'dev' environment
        $config['bootstrap'][] = 'debug';
        $config['modules']['debug'] = 'yii\debug\Module';
        $config['bootstrap'][] = 'gii';
        $config['modules']['gii'] = 'yii\gii\Module';
        $config['language'] = 'zh-CN';  //增加此行,默认使用中文
    }
    

    或者到 frontend/config/main.php 修改

    return [
        'id' => 'app-frontend',
        'basePath' => dirname(__DIR__),
        'bootstrap' => ['log'],
        'controllerNamespace' => 'frontend\controllers',
        'language' =>'zh-CN',  //增加此行,默认使用中文
         ....
    ]
    

    其中 Yii::t('yii', 'Home') 函数将会到 vendor/yiisoft/yii2/messages/zh_CN/yii.php 去翻译“Home”对应的中文

    1 条回复
    评论于 2014-10-29 09:33 回复

    对,本来是用 Yii::t 来先读取多语言文档的,可以在多语言文档中设置 'Home'=>'首页' 这样也行

    , 觉得很赞
  • 评论于 2014-10-26 20:29 举报

    谢谢两位的指导,学习了。同时向看到此贴的朋友们表示道歉!

  • 评论于 2014-10-28 08:59 举报

    建议使用messages处理国际化,使代码更简洁。

    觉得很赞
您需要登录后才可以评论。登录 | 立即注册