2016-02-03 12:48:24 2293次浏览 2条回答 0 悬赏 80 金钱

當我 config 設定 language = 'en';

-views(Folder)
--index.php
---en(Folder)
-----index.php
---zh-CN(Folder)
-----index.php
---zh-TW(Folder)
-----index.php

Controller :
`$this->render('index');` 
會自動分配相對應的語系 en/index.php

============================================================================

-views(Folder)
--index.php    <=== 移除後
---en(Folder)
-----index.php
---zh-CN(Folder)
-----index.php
---zh-TW(Folder)
-----index.php

Controller :
$this->render('index');
將不到 index.php
除非我下 render(Yii::$app->language.'/index'); 以外

有甚麼辦法能
1.把 index.php 移除後
2.透過 $this->render('index');
3.render 到相對應的語系目錄下的 index.php

或者我的方法使用錯誤, 請給予指教!!

最佳答案

  • asialong 发布于 2016-02-03 14:50 举报

    这个应该不用自己写这个判断吧,yii2会自己去匹配对应的语言包啊,直接放在message里,不就行了吗? 语言.php

    2 条回复
    回复于 2016-02-03 16:07 回复

    您好!!
    我這方式無需設定 'i18n' 有可能是 Yii 本身預設就可以選取 views/language/xxx.php
    就我的理解:
    'i18n' 是透過 message 資料夾去轉換 HTML文字

    但是我目前的做法是各自的語系 有各自的 HTML
    日後方便設計師修改內文, 他無需設至 'i18n' 即可達到效果呢(但是就找不到相關的設定呢)
    我目前往 i18n 的方向在看, 再找相關設定因為 .css 檔也有分語系
    上述的問題比較傾向該怎麼設定 views 的 default language

    回复于 2016-02-03 17:56 回复

    获取客户的浏览器语言进行匹配,你的语言库里有则显示相应的,如果没有就显示默认的

  • 回答于 2016-02-03 14:42 举报

    index 自己作判断再转向相应的目录?

    3 条回复
    回复于 2016-02-03 15:59 回复

    您好!! 您講的是我目前使用的辦法
    上述有講到在 render 時可以帶語系替換指定的語系目錄
    但是~
    基本上 Yii 透過語系的方式調用指定的 language views folder
    (無須配置, 只需更改 config language) -- 就可以達到效果

    那照道理講我根本不需要 views/index.php 這隻檔案

    不透過 render('en/index') 的這種方式
    應該指定語系後 render('index') 就可以自動抓取語系目錄才對
    但是找不到相關的設定 <--- 就是卡在這邊

    回复于 2016-02-03 17:37 回复

    看你之前设置已经生效了,为何非得删除index.php?

    回复于 2016-02-03 17:45 回复

    覺得它不需要存在!!

您需要登录后才可以回答。登录 | 立即注册
bryson
副总裁

bryson Taipei

注册时间:2015-07-22
最后登录:2017-04-03
在线时长:84小时54分
  • 粉丝19
  • 金钱4885
  • 威望230
  • 积分8025

热门问题