我的网站上有超过7种语言。我有一个FAQ页面,其中所有常见问题都以英文显示。我将FAQ翻译成所有7种语言,并存储在他们的语言文件夹中。
所以我的文件夹结构是:
languages
english
faq_lang.php
french
faq_lang.php
spanish
faq_lang.php
finnish
faq_lang.php
swedish
faq_lang.php
正如您所看到的,我在包含该语言常见问题解答的所有语言中都有相同的far_lang.php文件夹。
现在在我的faq文件中,我有一个foreach
循环来遍历数据库中的所有问题和答案。现在他们都在faq_lang文件中,我不知道如何做到这一点。
他们都是这样的:
$lang['faq_1'] = "How do I use this";
$lang['faq_1_ans'] = "Just visit google and search";
//and so on
我不知道如何做到这一点。我试过这样做但是没有用。
foreach ($this->lang->lang('faq') as $faq) {
//stuff
}
我该怎么做?
谢谢你们!
答案 0 :(得分:0)
如果您只想在codeigniter中使用您的语言,可以使用combobox提供多种语言。并加载您的文件,例如:
$this->load->helper('language');
//$this->lang->load(filename,language);
$this->lang->load('faq','english');
// You can use combobox to automatically change the load function for that lang
//$this->lang->load('faq','french');
并测试它:
echo lang('faq_1');
echo lang('faq_1_ans');
动态更改$this->lang->load('faq',your_lang_dir);
,将此负载放在您的控制器中,如下所示:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Welcome extends CI_Controller {
public function index()
{
$lang = (!empty($_GET['cb_lang'])?$_GET['cb_lang']:'indonesia');
$this->load->helper('language');
$this->lang->load('faq',$lang);
$this->load->view('welcome_message');
}
}
和您的观点如下:
<div id="body">
<?php
echo "<form method='GET' action='".site_url('welcome/index')."'>
<label for='Manufacturer'>Select Language : </label>
<select id='cb_lang' name='cb_lang'>
<option value='indonesia'>Indonesia</option>
<option value='english'>English</option>
</select>
<input type='submit' name='lang' value='Select'/>
</form><br />";
echo lang('faq_1')."<br />";
echo lang('faq_1_ans');
?>
</div>
希望这对你有所帮助......:D
答案 1 :(得分:0)
也许这会有所帮助:
// Controller
$this->lang->load('faq', 'english');
// View
foreach ($this->lang->language as $key => $faq) {
echo 'Showing the key <b>' . $key . '</b> with value <b>' . $faq . '</b><br/>';
}
输出类似于:
显示键 faq_1 ,其值为如何使用
显示关键 faq_1_ans ,其值为只需访问Google并搜索