Codeigniter - 语言文件中所有“常见问题”的Foreach

时间:2015-12-02 00:44:26

标签: php codeigniter

我的网站上有超过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 
}

我该怎么做?

谢谢你们!

2 个答案:

答案 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并搜索