2012-03-21 46 views
0

我有三個不同的語言在我的網頁鏈接更改網頁的語言上點擊一個鏈接

我要的是,當在任何語言鏈接上該頁更改相應的文本用戶點擊語言。

是否有可能,我稱之爲從我的控制器的方法的一個讓說「changeLanguage」它改變了語言,然後將其重新與文字相同的頁面在不同的語言

任何想法,我怎麼能有效地做到這一點

我的鏈接視圖而我會用笨

感謝

+0

我假設你的網站URL會是這樣 http://yoursite.com/en-us/MyPage 的http:// yoursite。 com/en-uk/MyPage和http://yoursite.com/oth-lang/MyPage?我對麼 ? – 2012-03-21 11:25:31

回答

1

您可以在事件單擊刷新以Get [HTTP] www.mywebsite.com?lg=eng

網站
1

有很多方法可以做到這一點,但它有效地取決於您的網站的配置方式。最好的出發點是使用PHP檢索$ _GET請求並根據請求顯示內容。

你的鏈接將把http://yoursite.com/index.php?lang=en ... ,你可以轉換爲(使用htaccess的或web.config文件)http://yoursite.com/en

喜歡的東西:

// Set the default language to english if the language request is not set 
$language = isset($_GET['lang']) ? $_GET['lang'] : 'en'; 

// Show the content base on the language 
switch($_GET['lang']){ 
    case 'en': 
     $content = "This is English"; 
    break; 
    case 'pt': 
     $content = "Isto é Português"; 
    break; 
} 
1

VIEW

<a href=<?php echo site_url('home?language=indonesian');?>>Indonesian language</a> 

CONTROLLER

class Home extends CI_Controller { 

    public function index() 
    { 
     $language = $this->input->get('language'); 
     if($language){ 
      // Put your code 
      $this->session->set_userdata('language', $language); 
      redirect('home'); 
     } 

     if($this->session->userdata('language')) 
     { 
      var_dump($this->session->userdata('language')); 
     } 
     echo 'Hello World!'; 
    } 

} 

Source

0
//first here are your switching links 
<?php $base_url = site_url()."/"; ?> 
<li> 
     <a href='<?php echo $base_url; ?>langswitch/switchLanguage/arabic?redirect_to=<?php echo urlencode(current_url())?>'>العربية</a> 
     </li> 
     <li> 
     <a href='<?php echo $base_url; ?>langswitch/switchLanguage/english?redirect_to=<?php echo urlencode(current_url())?>'>English</a> 
     </li> 

    //----------------------then you need to write your controller like this 
class LangSwitch extends CI_Controller { 

private $redirect_to = ''; 

public function __construct() { 
    parent::__construct(); 
    $this->redirect_to = base_url(); 
    $redirect_to = isset($_GET["redirect_to"])?$_GET["redirect_to"]:""; 
    if(!empty($redirect_to)){ 
     $this->redirect_to = urldecode($redirect_to); 
    } 
    $this->load->helper('url'); 
} 

function switchLanguage($language = "") { 
    $language = ($language != "") ? $language : "english"; 
    $this->session->set_userdata('site_lang', $language); 
    redirect($this->redirect_to); 
} 

}