2017-03-03 166 views
-3

需要在CakePHP 3.2中創建多語言網站的步驟。 網站的內容是靜態如何在cakephp 3.2中創建多語言靜態網站?

+1

這部分在CakePHP cookbook –

+0

很好地記錄我只需要知道靜態內容不是所有類型的內容,而不使用翻譯器。它沒有記錄。 –

+0

這部分是真的你需要什麼https://book.cakephp.org/3.0/en/core-libraries/internationalization-and-localization.html –

回答

1

完成使用印地文和英語的任何其它語言鏈路的代碼

語言在網站改變也可以在應用程序控制器在以下initialize方法加入

<div class="navbar-brand pull-right" style='padding: 15px 0px;'> 
     <button class="btn btn-default dropdown-toggle pull-right" data-toggle="dropdown"> 

     </button> 
     <ul class="dropdown-menu"> 

      <li> 
       <?php 

       echo $this->Html->link("Hindi", array("controller" => "App", "action" => "changeLanguage",'hi')); 
       ?> 
      </li> 
      <li class="divider"></li> 

      <li> 
       <?php 

       echo $this->Html->link("English", array("controller" => "App", "action" => "changeLanguage",'en')); 
       ?> 
      </li> 
     </ul> 

    </div> 

碼被添加

$language = $this->Cookie->read('website_language'); 
    if (isset($language)) { 
     I18n::locale($language); 
    } else { 
     I18n::locale('en_US'); 
    } 

的新方法增加了對變化

public function changeLanguage($lang) { 

    if (!empty($lang)) { 
     if ($lang == 'hi') { 
      //$this->request->session()->write('website_language', 'hi_IN'); 
      $this->Cookie->write('website_language', 'hi_IN'); 
     } else if ($lang == 'en') { 
      //$this->request->session()->write('website_language', 'en_US'); 
      $this->Cookie->write('website_language', 'en_US'); 
     } 
     //in order to redirect the user to the page from which it was called 
     $this->redirect($this->referer()); 
    } 
} 

文件夾和文件被創建

/src 
/Locale 
    /en_US 
     default.po 
    /hi_IN 
     default.po 

    default.po 

希望這會有所幫助。 如果人們不知道這個問題的答案,那麼不要問這個問題atleast :)

+0

你的問題並沒有被低估,因爲人們不知道答案,它被低估了,因爲它研究得不好,缺少任何細節,甚至沒有問題描述,而且基本上要求一步一步的教程,這被認爲是偏離主題的這裏在StackOverflow。有關[**問好問題**](http://stackoverflow.com/help/how-to-ask)的更多信息,請參閱提問指南。非常感謝你做了一些研究並自己回答了這個問題,但它並沒有讓實際問題變得更好,因此你可能會收到更多的低估。 – ndm

+0

如果我必須閱讀文檔才能在stackoverflow上編寫問題,那麼我認爲最好在google上搜索,而不是在這裏寫問題.... –

+0

那麼,這取決於你自己決定。如果你只是想快速回答問題,而不想付出太多努力,那麼StackOverflow可能不適合你,因爲這是一個對每個人都有用的社區,而不僅僅針對特定的個人。如果你學會了如何正確地解決問題,那麼你不僅會得到更好的答案,還會幫助未來的讀者,隨着時間的推移,你會更好地幫助自己,並且你可能成爲社區的一部分可以幫助其他提問者,並有助於使StackOverflow成爲每個人更好的地方。 – ndm